Blockchain Value Transfer Protocol (HTTP)
Glossary
Blockchain A distributed ledger that records all transactions. Blockchain Network A fully peer-to-peer network that does not require a trusted central authority or intermediary to verify or settle transactions or control the network infrastructure. Externally Owned Account (EOA) An account owned and controlled by a user. Each EOA has a balance associated with it (expressed in units of a cryptocurrency associated with the blockchain network). Contract Account An account created and owned by an EOA and controlled by the contract code associated with it. Cryptocurrency A digital or virtual currency associated with a blockchain network that uses cryptography to secure transactions and control the creation of new units. Token A fungible unit of a virtual asset that represents the value of a specific asset or utility on a blockchain. On-chain transaction A transaction between two accounts on the same blockchain network. Cross-chain transaction A transaction between two accounts on different blockchain networks. HTTP Client A software program used to interact with an HTTP server and send HTTP requests. HTTP Server A software program that receives HTTP requests, processes the requests, and interacts with participating blockchain networks to perform value transfers. Raw Transaction A transaction that contains transaction details but has not yet been signed. Signed Transaction A transaction that has been signed by a user using their private key. Multi-Signature Transaction A transaction that requires multiple users to sign before it can be executed. JSON Web Token (JWT) An open standard (RFC 7519) for securely transmitting information between a client and a server as a JSON object. Two-Step Verification An additional layer of security that requires a user to provide a second form of authentication in addition to a password. Smart Contract A self-executing contract that is stored on a blockchain and executed automatically.
Short Answer Questions
What is HTTP? What problem does it solve?
What are the roles of HTTP clients and HTTP servers?
Explain the difference between on-chain and cross-chain value transfers.
How are transactions signed in HTTP? Why is this approach important for user security?
How does HTTP use JSON Web Token (JWT) for authentication?
Describe the two-step verification process in HTTP.
What is HTTP Secure (HTTPS)? How is it different from HTTP?
Explain how multi-signature transactions work in HTTP.
What other services can be used in an HTTP server to enhance its functionality?
What is the purpose of an HTTP API Gateway? What features does it provide?
Short Answer Question Answer
HTTP is a protocol for exchanging value or tokens between or within blockchain networks. It solves the challenge of transferring value between different blockchain networks without the need for a centralized exchange.
HTTP clients are used to send requests to HTTP servers, which are responsible for processing requests and interacting with participating blockchain networks to perform value transfers.
On-chain value transfers occur between accounts on the same blockchain network, while cross-chain value transfers occur between accounts on different blockchain networks.
In HTTP, transactions are signed on the client side by the user using their private key. This approach ensures that the user's private key is never shared with the HTTP server, which improves security.
HTTP can use JSON Web Tokens (JWT) for authentication, where the HTTP server generates a token after verifying the user's credentials. The client then uses this token for authentication in subsequent requests.
In HTTP, when two-step verification is enabled, the client needs to send an additional two-step verification token after the initial authentication request. The server then verifies this token along with the user's credentials.
HTTP Secure (HTTPS) is a secure version of HTTP that runs over SSL/TLS. HTTPS enhances security by encrypting all communications between the client and server using SSL/TLS.
HTTP supports multi-signature transactions, where multiple users are required to sign a transaction in order for it to execute. This improves security by requiring multiple parties to authorize a transaction.
HTTP servers can include additional services such as user identity and access management services, authentication and authorization services, and analytics and reporting services to enhance their functionality.
The HTTP API Gateway acts as an interface to the HTTP server, exposing its functionality to HTTP clients through a set of defined API endpoints. It provides features such as authentication, logging, and rate limiting.