EOS whitepaper walk-through: Parallel execution of Applications, Deferred Transactions, Context Free Actions.
Read the Whitepaper here
Last time we took a board overview of how EOS plans to allow deterministic applications to be evaluated in parallel.
In this article we'll talk about Deferred Transactions and Context Free Actions.
Deferred Transactions
EOS.IO Software supports deferred transactions that are scheduled to execute in the future. This enables computation to move to different shards and/or the creation of long-running processes that continuously schedule a continuance transaction.
Deferred Transactions are based on Time-delay Actions that dictates when the changes of Account data will take place in the future. This can be used as a substitute for locking primitives like mutexes, enabling locking of a data region and ensuring paralleling computation on an account would not overlap.
Or could be used to trigger a long-running process by linking one time-delayed action with another without incurring significant cost in computation, since the calculation is already done, all it is doing is waiting for the time-constraint to be met.
Context Free Actions
A Context Free Action involves computations that depend only on transaction data, but not upon the blockchain state. Signature verification, for example, is a computation that requires only the transaction data and a signature to determine the public key that signed the transaction. This is one of the most expensive individual computations a blockchain must perform, but because this computation is context free it can be performed in parallel.
Transaction data, for clarification, is the data sent by the user to the blockchain. Context Free, in this case, means any data that does not depend on the current state of the blockchain. Signature verification, for example, does not depend on the state of the blockchain. A cryptographic signature is either valid or it is not, it does not matter how much tokens the account holder has. Thus this can be separated from the process of calculating whether or not the account can transfer the stated amount in his transactions.
These two processes can run in parallel, if at the end of the cycle these two condition is not met, the transfer is not applied.
Context Free Actions are like other user Actions, except they lack access to the blockchain state to perform validation. Not only does this enable EOS.IO to process all Context Free Actions such as signature verification in parallel, but more importantly, this enables generalized signature verification.
Generalizing signature verification allows for updates to cryptographic signature algorithms to be developed and adopted without changes to the underlying protocol.
Different applications can adopt different signature algorithms to fit their security needs. As some of these algorithms are more computational heavy, like quantum-resistant signatures, but this level of security is not needed for posting a blog post.
One can even imagine applications adopting different signature algorithms for actions that require different levels of security. Giving developers an opportunity to optimize the perform and cost of their application.
With support for Context Free Actions, scalability techniques such as Sharding, Raiden, Plasma, State Channels, and others become much more parallelizable and practical. This development enables efficient inter-blockchain communication and potentially unlimited scalability.
Context-free actions can also be used to enable efficient merkle-tree proofs, which are the basis for many scaling solutions.
In this scenario, EOS can adopt the innovations from other blockchains, leaving blockchain developers to implement them as they see fit.
------------------------------------------------------------------------------------------------------------------
If you would like to know more about me and what I'm doing you can read my introduction post here.
Read my series on the Steem blockchain:
Steem: Welcome to the Matrix. Part One
Steem: Operating in the Matrix. Part Two
Steem: Construction of the Matrix. Part Three
Read my series on the EOS blockchain:
EOS whitepaper walk-through. Abstract
EOS whitepaper walk-through. Note and Disclaimer
EOS whitepaper walk-through. Overview
EOS whitepaper walk-through. Background
EOS whitepaper walk-through. Requirement.
EOS whitepaper walk-through. Consensus Algorithm. Part One, Part Two, Part Three.
EOS whitepaper walk-through. Account construct of EOS. Part One, Part Two, Part Three, Part Four.
And you can contact me in the following way:
@bluabaleno on Steem.chat
bitadco@gmail.com