The following features are included in Dawn 3.0
Scalability – without any kind of optimization, the network is able to process 1,000 transactions per second. It is the worst case scenario. With a JIT compiler turned on, the average number of transactions would reach 3,000. Once parallel signature verification is implemented, developers hope to achieve 6,000 transactions per second on a multi-node network, with the JIT compiler switched on. By operating 1000s of chains, unlimited transactions can be achieved. All chains could use the same token as the basis for staking and resource allocation. This will create the maximum possible network effect around a single token and leverage the trust and security of economic incentives created by high-market capitalization tokens.
Inter-Blockchain Communication – enables one blockchain to verify the authenticity of an event on another blockchain in a provably secure manner. The developers believe that they have achieved the goal of making inter-blockchain communication as secure as intra-chain communication between smart contracts.
Sparse Header Verification – increases the efficiency of inter-blockchain communication.
Context Free Actions – enables efficient inter-blockchain communication.
Transaction Compression – enables efficient storing and transmission of large number of transactions.
Interpreter & Just-In-Time (JIT) Compilation – Dawn 3.0 now utilizes the Binaryen WebAssembly interpreter by default rather than the faster Just-in-Time (JIT) compiler. This decision reduces performance but increases stability and standards conformance while allowing us to trivially swap in the higher performant JIT environment when desired. The interpreter also solved one of the biggest challenges we faced with Dawn 2.0: the delay caused by compiling a contract.
Resource Metering Rate Limiting – Dawn 3.0 follows an entirely new resource rate limiting system. It utilizes a hybrid solution where users are billed for objective use, but block producers place subjective wall-clock time limits on contracts as well. These subjective limits prevent abuse of variance in the objective billing. It is now theoretically possible for a block to include a single transaction that takes 100 ms to run, whereas under the old model every transaction had to run in under 1 ms.
500 ms Block Interval & BFT DPOS – Dawn 3.0 has reduced the block interval from 3 second to 0.5 second intervals. This dramatically reduces the latency until confirmation. When combined with BFT DPOS, developers say “transactions can be irreversibly confirmed in under 1 second.”
BIOS Architecture – Under EOSIO Dawn 3.0, the vast majority of the blockchain business logic has moved into a smart contract which can be dynamically updated by the community without a hard fork. With this new architecture, developers will be able to focus development on the static, non-WebAssembly portions of the blockchain.
Security Features – developers have designed EOSIO to be the most secure blockchain on the market.
Security Delayed Transactions – EOSIO Dawn 3.0 includes a user-configurable delay for different actions. With this delay, a transaction must be broadcast to the blockchain for a number of hours or days before it can be applied. The feature facilitates the prevention of hacking attempts.
Lost Password Recovery – every account has at least two permission levels: “owner” and “active”. The owner permission level can reset the active permission any time the active key is lost or stolen. If the owner key is lost or multisig partners are being uncooperative, then the account active permission can request a reset of owner permission after 30 days of owner permission inactivity. The owner authority, then has 7 days to challenge the request by updating the active authority. Provides additional security and prevents hacking.
Transaction Proposal System – with the proposal system, anyone can propose a transaction and the parties involved in the transaction can simply approve it.
Simplified Contract Development – enables writing smart contract with C++.
Floating Point Support – developers solved solved the non-deterministic nature of hardware floating point by integrating a software-floating point library that is used transparently by the WebAssembly contracts.
C++ Standard Template Library Support – EOSIO Dawn 3.0 provides support for the majority of the C++ standard template library.
Scheduled Transactions– with scheduled transactions, developers can now write contracts that operate forever — provided the contract has sufficient staked bandwidth. Other platforms require off-chain solutions to wake a contract at an appropriate time.
Automatic Scope Detection – Under Dawn 3.0, the block producers are responsible for determining which data ranges are accessed and to deconflict them. This makes all transactions smaller and moves the scheduling overhead to the block producer rather than pushing it back on the user, developer, or full nodes.
MultiIndex Database API – EOSIO Dawn 3.0 introduces a new database API that mirrors the boost::multi_index_container. This new API uses an iterator interface which dramatically improves performance for scanning through a table.