General Overview - Ethereum is an open-source, public, blockchain-based distributed computing platform featuring smart contract (scripting) functionality. It provides a decentralized Turing-complete virtual machine, the Ethereum Virtual Machine (EVM), which can execute scripts using an international network of public nodes. Ethereum also provides a cryptocurrency token called "ether", which can be transferred between accounts and used to compensate participant nodes for computations performed. "Gas", an internal transaction pricing mechanism, is used to mitigate spam and allocate resources on the network.
*If chart doesn't load, refresh page
Technology - Smart contracts are deterministic exchange mechanisms controlled by digital means that can carry out the direct transaction of value between untrusted agents. They can be used to facilitate, verify, and enforce the negotiation or performance of economically-laden procedural instructions and potentially circumvent censorship, collusion, and counter-party risk. In Ethereum, smart contracts are treated as autonomous scripts or stateful decentralized applications that are stored in the Ethereum blockchain for later execution by the EVM.
One issue related to using smart contracts on a public blockchain is that bugs, including security holes, are visible to all but cannot be fixed quickly. One example of this is the 17 June 2016 attack on The DAO, which could not be quickly stopped or reversed.
They can be used to facilitate, verify, and enforce the negotiation or performance of economically-laden procedural instructions and potentially circumvent censorship, collusion, and counter-party risk. In Ethereum, smart contracts are treated as autonomous scripts or stateful decentralized applications that are stored in the Ethereum blockchain for later execution by the EVM. One issue related to using smart contracts on a public blockchain is that bugs, including security holes, are visible to all but cannot be fixed quickly. One example of this is the 17 June 2016 attack on The DAO, which could not be quickly stopped or reversed.
There is ongoing research on how to use formal verification to express and prove non-trivial properties. A Microsoft Research report noted that writing solid smart contracts can be extremely difficult in practice, using The DAO hack to illustrate this problem. The report discussed tools that Microsoft had developed for verifying contracts, and noted that a large-scale analysis of published contracts is likely to uncover widespread vulnerabilities. The report also stated that it is possible to verify the equivalence of a Solidity program and the EVM code.
Dev Team-Ethereum was initially described in a white paper by Vitalik Buterin, a programmer involved with Bitcoin Magazine, in late 2013 with a goal of building decentralized applications. Buterin had argued that Bitcoin needed a scripting language for application development. Failing to gain agreement, he proposed development of a new platform with a more general scripting language.
At the time of public announcement in January 2014, the core Ethereum team was Vitalik Buterin, Mihai Alisie, Anthony Di Iorio, and Charles Hoskinson. Formal development of the Ethereum software project began in early 2014 through a Swiss company, Ethereum Switzerland GmbH (EthSuisse). Subsequently, a Swiss non-profit foundation, the Ethereum Foundation (Stiftung Ethereum), was created as well. Development was funded by an online public during July–August 2014, with the participants buying the Ethereum value token (ether) with another digital currency, bitcoin. While there was early praise for the technical innovations of Ethereum, questions were also raised about its security and scalability.
Primary core devs are:
Vitalik Buterin → Inventor of Ethereum, protocol developer and researcher
Gavin Wood →Lead C++ developer
Jeffrey Wilcke → Lead Go developer
Primary non-development members include:
Anthony Di Iorio → Founder and Executive Director of the Bitcoin Alliance of Canada, Bitcoin Decentral, KryptoKit
Mihai Alisie → Founder of Bitcoin Magazine and Egora
Joseph Lubin → Software engineer, Quantitative Analyst
Stephan Tual → Founder of Ursium, Communications
Roadmap Review - Core team updates
Parity - Working on release 1.5. No major new features. Mostly working on stabilizing stuff. Improvements on database layer are also happening, specifically replacing the database layer with a new type of database. They are working on Parity multi-sig issue and preparing a list of different approaches on how we can address the problem. They will present a list of proposals at the next core dev meeting. "We will discuss them with the community and see where it goes from there."
geth - New release with no major changes. Working on improving the block tracing.
cpp-ethereum - Still is post-Mexico mode from Devcon3. Mostly cleaning up some stuff from the Byzantium hard fork. Yoichi has been going through and updating EIPs. Discussion is ongoing with Pawel and Andrei about a roadmap for features. Dimitry has been updating the testing framework. Shout out to Martin H.S, cdetrio, Guido, and other who are contributing to the fuzzer framework
Harmony - Migrated client to RocksDB. Work is basically complete on making Harmony compatible.
ethereum-js - No updates.
pyEVM - Big GitHub migration from Piper's GitHub to Ethereum Foundation's GitHub. Repos have been re-named to make it more clear what each one does. Pretty far along with implementing the light client protocol. Early alpha release of the client (currently called Trinity) expected in the next month. Integration with Hive and JSON-RPC specs are still left to do. The research team is working on moving their Casper implementation to pyEVM.
pyethapp - There is Casper research testnet utilizing pyethereum.
EWASM - Roadmap has been created. Aim to launch a preliminary testnet by the end of January.
Solidity - Release made the day before that had some improvements including fully implemented ABI encoding/decoding (will require specifying experimental release in the header). Really focusing on the SMT solver in Solidity for the next release.