This Week Ethereum has completed their fourth hard fork. Spurious Dragon saw the implementation of process state compensation and the two-fork solution. Following this, the network encountered Angriffe on service denial and slowed down during September and October. Now, as the grid is returning to normal, gas limits have been raised to 4,000,000 with additional customer optimizations to enhance data readability and speed up the process.
As a result of these events, significant improvements have been made to C++ and Go development. The teams have been working on improving Solidity tools, launching the Geth Thin Client, and Parity, EthereumJ, and other third-party developers have continued pushing their own technology forward using technologies such as Parity’s Warp Sync. All of these innovations are now easily accessible for the average user, giving them plenty of options. Soon, a version of this will be available on the Ethereum Mainnet, and we hope that the work will soon yield results.
Metropolis
Metropolis is the next major hard fork in Ethereum’s plans. While it isn’t as ambitious as Serenity, it will still include small improvements to the protocol that together make it much more powerful. This is what it means: Homestead. The main improvements are:
- EIP 86 (Account Security Abstraction) – Moving this allows developers to use logic to test new signature schemes or privacy-preserving technology. Modifications to protocols can also be made without using additional forks. It also allows contracts to pay gas.
- EIP 96 (blockhash and state root changes). This simplifies client and protocol implementations, making upgrades to thin clients and fast synchronization protocols easier and more secure.
- Precompiled/native contracts for elliptic curve operations and large integer arithmetic. This allows applications based upon ring information to be efficiently implemented, as well as RSA cryptography.
- Various transaction efficiency improvements can speed up processing.
This work is part of a long-term strategy that moves the protocol towards being called “Abstract”. Essentially, we want to make protocol logic as simple as possible in EVM and integrate it as much as we can into the program itself. This reduces client complexity, reduces the risk for long-term consensus failures, and makes forks safer. By reducing the number of “moving parts” in the protocol, users can now experiment with the protocol. They can try out new signature schemes or upgrade the protocol rather than having to do everything at once.
Proof Cryptoeconomics, Stake, Sharding, and the Concept of a Stake
Over the past year, research has been conducted on an algorithm to reach consensus. The proof-of-concept version was subject to many iterations, each teaching us valuable lessons about economics, decentralized consensus, and other topics. Version 2 of the PoC was originally implemented in January, but it was abandoned as each validator had to send a message for each block or ten blocks. This was too expensive to sustain. Most recently, the traditional string-based PoC3 (details in the mauve paper) is becoming more popular. Although there are some issues with how incentives are set up, they are much less important than the real problem.
Myself, Vlad, and volunteers from all walks of the Ethereum Research Team met with academics at universities, Zcash developers, and others to discuss privacy, proof-of–stake, sharding, and other issues at the Training Camp at IC3 in July. We made significant progress in closing the gap between our proof–of-stake approach (and that of others). Similar problems are now solved. This was followed by Devcon2 in Shanghai in September, where these topics were discussed in further detail. Two weeks ago, I temporarily joined forces with Loi Luu from The Validator’s Dilemma fame, former volunteers, and some friends for a two-week research workshop. This site is meant to collect thoughts and ideas on various topics related to Casper, such as scalability, consensus incentives, and control over file size.
Exploring This strategy is devised to create a reliable and generalizable method that can develop the best incentives for consensus protocol creation. It It doesn’t really matter if you are designing a chain protocol. What Is this the best way to look at it? It is possible to assign rewards and penalties for all participants in an organized manner. It It would require only verifiable evidence and a Blockchain input. We He These are just a few of the notions. One These were used as experiments to proof-of-work and led to a new way to tackle selfish mining attacks. Another revealed remarkable potential in addressing long-term problems in proof-of–stake.
Our Crypto approach is created to maximize incentive compatibility in models with majority collusion. Is It is possible to ensure that an attacker does not breach the protocol in any way that could lead to him losing his money. At It While it may be true in some cases, like with short-range knives and other small tools, the majority of the time it seems to be true is yes. In Other This goal is more complex in cases like censorship.
Controlling The second goal is “duel factors,” That This is to make sure that attackers don’t cause financial losses to other players, even if they do so in the same way. The The performance of protocol can also be retained in extreme conditions. For What happens, for example, if 60% or more validator nodes go down simultaneously? Traditional This This is where consensus protocols, such as PBFT or proof of stake protocols, are inspired. Casper It it is essential to keep the chain running. Even Even if the chain can’t deliver all the guarantees that it generally provides under such conditions it should still attempt to make the protocol work.
One One One of the most important outcomes was the bridge between my current approach to the problem and the one I wanted. “exponentially increasing” transaction/block finality in CasperThis Bettors who bet with greater confidence are rewarded, while those who make mistakes are penalized. You You can also view: Vlad’s “correct by construction” Approach that emphasizes that validators will only be punished if they make mistakes (i.e. if they sign two contradictory documents). At After After the workshop, we started working together to create strategies that combine the best elements of each approach. We We have already begun to use these insights to improve the business. Casper protocol.
In In The interim I’ve I have created a few FAQs and documents that outline the current state of thought regarding proof-of–stake, sharding and Casper This This will allow everyone to get up-to-speed.
https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ
https://github.com/ethereum/wiki/wiki/Sharding-FAQ
https://docs.google.com/document/d/1maFT3cpHvwn29gLvtY4WcQiI6kRbN_nbCf3JlgR3m_8 (Mauve PaperAlthough a little out-of-date, we will soon be updating.
Regulating State size
Another significant area of protocol design is state size control, ie how can we reduce the amount of state information full nodes need to keep track? Right The Current state’s size is approximately one gigabyte. This This is because transaction history can be found in geth/parity stores. We Already, we have seen how the protocol can cause usability problems. FurthermoreSharding It is more complicated because sharded Cryptos must have nodes that can download parts of state quickly to fulfill their function as validators.
Some The The following are required for proposals to be submitted: You You can delete accounts you haven’t signed off from You You don’t need enough ether to make a transaction, but you can still do it safely. Replay Attacks should be avoided. Other Proposals It will be more costly to create new accounts or store data. They Also, we propose to make it less dependent on how we pay the other costs within EVM. Other Some Proposals include time limits for contracts and higher charges if accounts or contracts have extended time limits. HoweverThese time limits are generous. It It would still be possible for a contract to be long-lasting. There The Developers are engaged in a dialogue about how to keep the state as small as possible while still keeping the core protocol simple-to-use and easy-to use for developers.
Miscellany
Other There Many areas of protocol improvement are possible at the low level.
- Several Proposals “EVM 1.5” This Makes the EVM compatible with static analysis, and makes it compatible with WASM
- Integration Of zero-knowledgeproofs, possible via (i), an explicit ZKP Native opcode/contract, or (ii), an indigenous native opcode/contract for handling the computationally intensive ZKP Key IngredientsIncludes