Ethereum biweekly: Ecosystem and projects’ updates, opinion and research articles
26th November — 10th December: Istanbul activated. Aragon Court is live on mainnet. Brave passes 10M monthly active users. Set Protocol launches social trading. Uniswap adds enhanced wallet support. EF-Supported Teams report. Vitalik wrote on quadratic voting. And many more!
Dear Ethereans, these two weeks made a lot of essential news!
On December 8th, Ethereum has undergone a hard fork, dubbed “Istanbul,” in which six distinct upgrades have been added to the network at block number 9,069,000.
A hard fork refers to a radical change to a network’s underlying protocol that creates new rules defining which blocks and transactions the network will consider valid. Due to the decentralized nature of blockchain, the community has to work with each other as well as system developers to agree on which changes will be programmed into various clients, which, in Ethereum’s case, include Geth, Parity, and Nethermind. To date, the Ethereum network has undergone seven hard forks, including Constantinople, Spurious Dragon, and Byzantium. The next fork will be called Muir Glacier. This hard fork addresses the impending Ice Age (difficulty bomb detonation) on the Ethereum Mainnet and includes a commitment to solving the problems with the ice age more permanently in the future. The hard fork is expected to go live mid-January 2020.
During these two weeks, teams were working assiduously. Community calls took place: Core Devs Meeting, Ethereum Istanbul upgrade community call, Eth2 Implementers call. Danny Ryan has posted another eth quick update. Highlights from this update include updates on Shasper joining the Prysmatic testnet, the eth2 block explorers, first eth2 networking call and more. Sigma Prime is now hosting publicly-accessible Lighthouse nodes and provide instructions for running your own beacon node and/or validator client. In other words, they have a public testnet that you can join today. Etherscan launches Beacon Chain Explorer which enables users to explore the eth2 phase 0 testnet that Prysm and Shasper are currently running. The explorer is currently in alpha. Geth v1.9.9, Parity v2.5.11 stable and v2.6.6 beta, Trinity v0.1 alpha31 emergency pre-Istanbul bugfix released.
Last week, Will Villanueva published “Remaining Questions on State Providers and Stateless Networks in Eth2”, Carl Beekhuizen wrote on eth2 staking. In this blog post, he explains how staking will work in eth2. He goes over details such as what exactly Phase 0 is, nodes vs. clients and the design philosophy behind eth2. A must-read!
Ethereum ecosystem continues to flourish! These weeks, many updates on projects build on Ethereum appeared: Aragon Network DAO and Court are live on mainnet, kicking off the process of fully vesting power to ANT holders. Brave went from 8.7 million monthly active users in October to 10.4 million MAU at the end of November, a 19% increase across all platforms. Set Protocol launches social trading. 0x v3 is live on mainnet with ZRX staking and liquidity bridges. Loopring v3-beta4 has also been deployed to the Ethereum mainnet. You can now earn DAI by completing a new set of bounties listed by the Ethereum Foundation on Gitcoin. Uniswap adds enhanced wallet support. EY released an update to their Nightfall open source and public domain tools. ZK Sync, a trustless scaling and privacy solution for Ethereum based on ZK Rollup was introduced. Raiden Network releases candidate for Alderaan. Maker published a monthly update, which is covering the historic Multi-Collateral Dai (MCD) launch, governance updates, community highlights, interviews and more. InstaDApp launched MCD migration bridge. DAI flipped SAI. Matic launches its public incentivized testnet. Ramp instant now live. The RenVM Developer Center has opened. The Tornado Cash team was adding new tokens (USDT, DAI), redesigning the withdrawal page, incorporating a decentralized relayer market and their code has been audited. Frontier Wallet, a simple and secure Ethereum wallet for accessing DeFi was introduced. And worth mention, Fidelity is rewarding employees with an ERC1404 token. Throughout the month of December, new tips will be revealed each day on the MyCryptoWinter site with action items that you can complete yourself! These tips will be angled towards improving your online life — from privacy and security to financial freedom!
Vitalik Buterin blogged on quadratic voting, funding and attention payments, and published “Moving ETH between shards: the problem statement” post on ethresear.ch. Brantly Millegan, the Director of Operations of the Ethereum Name Service team featured on POV Crypto. Guy Zyskind, CEO and co-founder of Enigma joined the Into the Ether podcast to talk about the privacy solution his team is building for Ethereum. Part two of ETHWaterloo Recap is now out. And there were a lot of talks on Virgil Griffith arrest for violating American sanctions on North Korea these weeks.
A large update from the Ethereum Foundation this month across all of their supported teams including Ewasm, Geth, ecosystem support programs, research and much more was published. The Ethereum Foundation also posted a slew of new DevconV videos. Check it out and have a great week!
Development
GitHub metrics:
Developer activity (from Coinlib.io):
Protocol updates
Ethereum Core Devs Meeting #76 [2019–11–29]
- Ice Age Hard Fork
- Testing updates
- Eligibility for Inclusion (EFI) EIP Review
- EIPIP (EIP Improvement Proposal) Meeting
- Review previous decisions made and action items
Ethereum Istanbul Upgrade Community Call
- Ethereum’s latest network upgrade, Istanbul, has gone live at block number 9,069,000
- Istanbul contains six distinct upgrades to improve performance, adjust the costs of opcodes, enable Ethereum and Zcash to interoperate, and enable more creative functions via contracts
Istanbul contains six distinct upgrades, or Ethereum Improvement Proposals (EIP):
EIP-152: Add Blake2 compression function ‘F’ precompile
This EIP will make it possible for the BLAKE2b hash function to run cheaply on Ethereum. This will improve interoperability between Ethereum and Zcash, enabling contracts like trustless atomic swaps between chains and adding to the network’s privacy features. It will allow for tBTC equivalents but denominated in ZEC.
EIP-1108: Reduce alt_bn128 precompile gas costs
In 2018, the underlying library used by the official Go reference implementation to implement ECADD and ECMUL was changed to Cloudflare’s bn256 library, leading to performance gains. Decreasing the price of the precompiles will encourage the emergence of more privacy and scaling solutions on the network.
EIP-1344: ChainID opcode
The current approach is for client implementers to manually specify the chain ID at compile time, which has led to increased risks of human errors causing loss of funds or relay attacks. With this EIP, developers can access and validate the chain ID based on the proposed opcode as well as easily implementing chain ID changes.
EIP-1884: Repricing for trie-size-dependent opcodes
A number of opcodes have become more resource intensive due to the growth of the Ethereum network. This EIP will raise the gas cost for those opcodes in order to restore the balance between the price of an operation and the amount of resources it consumes.
EIP-2028: Transaction data gas cost reduction
This EIP will reduce the gas cost of Calldata from 68 gas per byte to 16 gas per byte. More data will be able to fit within a single block, which will result in higher bandwidth and increased scalability. Larger blocks also have security implications since there will be longer network delay associated with data transmission. As a result, fewer nodes will be generated within a given time and the cost of the network getting attacked will decrease.
EIP-2200: Net gas metering for SSTORE operations
This EIP proposes a structured definition of net gas metering on SSTORE. The resulting gas reduction scheme will enable contracts to add new functions such as re-entry locks and same-contract multi-send.
Logistics
Regular customers of an Ethereum-based exchange or wallet service do not need to take any action unless informed otherwise by their service provider.
Miners or node operators, on the other hand, have to upgrade their Ethereum client to the latest version in order to run Istanbul on Rinkeby, Goerli, and Ropsten. Otherwise, they will remain on an incompatible chain and will not be able to operate on the post-upgrade Ethereum network.
Developers should review all EIPs to determine if their current contract is affected by any of them. If so, they have to upgrade their contracts accordingly.
Red Queens, a new sync proposal.
Geth v1.9.9 enables the Jan 6 (block 9.2m) delay of the difficulty to increase.
Parity v2.5.11 stable and v2.6.6 beta, an emergency pre-Istanbul release to include EIP1344 in the mainnet config file.
Trinity v0.1 alpha31 emergency pre-Istanbul bugfix release.
Eth2.0 Call #29 [2019/12/5]
- Testing and Release Updates
- Client Updates
- Research Updates
- Networking
- Notes from networking call
- https://hackmd.io/@benjaminion/BJ3YqrSTr
- https://gist.github.com/mratsim/fef2b0a7c5a335ac6bc61c01592b3fea
5. Discussion of persisted state size reduciton
6. Spec discussion
7. Testnets discussion
eth2 quick update no. 5
Posted by Danny Ryan on December 5th, 2019
- Parity’s Shasper joins Prysmatic’s Sapphire testnet (the first public eth2 multi-client testnet)!
- Multiple eth2 block explorers launch — Bitfly’s beaconcha.in and Etherscan
- First eth2 networking call to tackle all the networkings — Ben’s notes and Mamy’s notes
- First eth2 phase2 community call to rally the effort
- Fix to ensure fork choice head state matches FFG finality info
- Presentation, specification, and implementation of the new BLS standards
Ethereum 2.0 Development Update #40 — Prysmatic Labs: A packed update this week from the PryLabs team covering testnet updates, bug squashes, merged code, upcoming work and more.
Lighthouse Update #19 — Public Testnet: The team is now hosting publicly-accessible Lighthouse nodes and provide instructions for running your own beacon node and/or validator client. In other words, they have a public testnet that you can join today. Get started with their documentation.
Nethermind Updatestorm: Nethermind is now working on an eth2 client to add to its eth1 client.
Development tools
web3playground play with any deployed code and web3js 1.x.x.
ethers.js — update to v4.0.40 or v5.0.0-beta.162 because of possible timing attack:
Monitoring an address with web3js.
Loredana had 3 feature preview videos of Pipeline, a visual IDE available on remix.
Documentation generator for Solidity.
A beginner’s guide to MythX security suite.
Formal verification of ERC20 implementations with VeriSol.
Blazing fast contracts testing from Open Zeppelin.
JavaScript compiler/runtime for AirAssembly, a low-level language for STARKs.
Comprehensive overview of Eth development best practices.
Close the trust gap in signing transactions, part 2.
Why you should use EIP1167 proxies, with a tutorial.
Dennison Bertram converts a WebFlow template to web3 app in seconds:
3Box’s edit profile plugin, a React dropin component.
Tornado.cash is having a relayer contest on Kovan testnet. The Tornado Cash team are adding new tokens (USDT, DAI), redesigning the withdrawal page, incorporating a decentralized relayer market and their code has been audited.
Next year Wyre will make it easy via meta transactions for app users to use DeFi from their debit card.
A step by step guide to mutation testing your Eth code.
An imitation learning fuzzer for your Eth contracts from the ETH Zurich folks.
Austin Griffith’s build.eth on byzantine general and consensus:
Austin Griffith’s latest eth.build:
Governance and new standards proposals
ERC2426: Encryption for eth2 wallet/keystore.
EIP2427: BLOCKHASH2 opcode.
ERC2429: Secret multisig recovery.
ERC2400: Transaction receipt URI.
Proposal Announcement: Project Ragnarok (Integrating a dissolution mechanism for DigixDAO).
Check out Istanbul hard fork wiki.
Istanbul was approached with a fork-centric approach, where EIPs were proposed for the fork, reviewed then accepted. This resulted in many EIPs being proposed, in various states of readiness. This approach limits the amount of review time per EIP.
Future forks will ideally follow an EIP-centric approach outlined here. This approach will allow EIPs to mature independently of forking schedule. When mature, they can be added to the next scheduled fork.
- Endorsement (by major clients, developers and community stakeholders)
- Implementation (merged into major clients)
- Testing
- Acceptance (Allocate to a specific hard fork)
Istanbul brings upgrades that will:
- Align the costs of opcodes with their computational costs and improve denial-of-service attack resilience
- Make layer 2 solutions based on SNARKs and STARKs more performant.
- Enable Ethereum and Zcash to interoperate
- Allow contracts to introduce more creative functions.
Specifically:
EIP-152 Adds the ability to verify the Equihash PoW within an ethereum contract. This will enable a relay and atomic-swap transactions between Zcash.
EIP-1108 Makes zk-SNARKs cheaper, allowing for cheaper scaling and privacy applications to be built. See Matter labs, Aztec, Rollup and Zether for examples.
EIP-1344 Adds a way for contracts to track the correct chain. To be used by contracts, especially those used by layer 2 (state channels, plasma), to follow the correct layer 1 chain, especially during a hard fork.
EIP-1884 Changes the cost of some EVM opcodes to prevent spamming attacks and to balance blocks better. The amount that must be paid for each operation in ethereum usually matches the computation required for that operation. This change increases some costs of some opcodes that are computationally intensive but currently cheap.
EIP-2028 Makes zk-SNARKs and zk-STARKs cheaper by reducing the cost of calling data within transactions. This will make layer 2 solutions able to increase throughput.
EIP-2200 Changes the calculation of cost of storage in the EVM and will enable contracts to introduce new functions including re-entry locks and same-contract multi-send.
The next fork will be called Muir Glacier and will address the difficulty bomb.
Ecosystem updates
EF-Supported Teams: Research & Development Update:
Since the last EF-Supported Teams report, progress has been made across the board. From improved network conditions, to the Istanbul release and Eth1.x and Eth2 development, all areas core to the functionality and sustainability of Ethereum are advancing.
This series focuses on teams and efforts from the Foundation and larger Ethereum ecosystem that are working to grow and improve Ethereum as a whole. In this edition, they’re covering updates from many teams highlighted in the previous report, fully supported projects that are core elements of the Ethereum ecosystem like Eth2.0 Research, Geth and Solidity, and other ecosystem efforts.
New Bounties for Ethereum.org. You can now earn DAI by completing a new set of bounties listed by the Ethereum foundation on Gitcoin:
Iden3’s “under the hood” of the zk identity system used in its DeversiFi devcon game.
Billy Rennekamp’s spreadsheet comparing ~40 features of Eth wallets.
Christian Reitwiessner’s call to close the trust gap in signing transactions.
EY Nightfall update — batching lowers mainnet cost of zk-enabled privacy to ~25 cents.
ConsenSys and Harry Fox Agency contracted for a modernized American music copyright database to distribute royalties.
Ethereum by the Numbers — November 2019.
2019 Was The Year of Defi (and Why 2020 Will be Too): How Ethereum will create an open financial system.
The First Virtual NFT Christmas Calendar: Christmas is upon us, and Mintbase is here to spread the Yuletide cheer with the first-ever Virtual NFT Advent Calendar.
A Decade of Blockchain — 2010 to 2020 in Review: Follow the timeline of blockchain’s growth from Satoshi Nakamoto and the Genesis Block to Ethereum and decentralized finance.
ConsenSys Monthly Report — November 2019: Ethereum dapps, enterprise blockchain solutions, most popular articles, upcoming events, and more.
Projects updates
0x:
0x v3, TokenTrove’s Explosive Growth, and an Interview with Tokenlon: Ecosystem Update, November 2019.
Aragon Court is live on mainnet.
Impact of the Istanbul hard fork on Aragon organizations.
Final details for Aragon Network Vote #5: The Aragon Association has concluded its review of AGPs for Aragon Network Vote #5.
Augur Weekly — Impeachment Imminent According to Markets: A Look at the Week in Political Betting, Augur News, and More.
Augur Weekly — Happy Thanksgiving!
Brave Passes 10 Million Monthly Active Users, and Sees 19% Growth since 1.0 Launch.
Introducing DAI, the first stablecoin on Coinbase Card.
Capture the Coin — Blockchain Category Solutions.
More impact, more privacy: the benefits of donating (and accepting) crypto.
Coinbase at AWS re:Invent 2019.
MultiCollateral Dai Upgrade: How the team has handled moving from Sai → Dai.
Tips for building with smart items: Tips and ideas you should keep in mind while building a scene with smart items, to help you create experiences that are truly enjoyable by others!
Creator Contest: New judging process: Find out how you can influence the decision.
Creator Contest II begins! The last final creative push for 2019.
Finding success in the Creator Contest Part 2: Extra tools, tips and tricks from previous winners of our creative comps.
Technical updates — 2 Dec, 2019: The latest releases, improvements and fixes from the Decentraland engine room.
Time to vote! Have your say: Decide the future of LAND.
Three Reasons to #GetYourZone on the Dether Map: Still haven’t claimed your zone on the new Dether app? Here are three reasons to place your bid today.
Dai Delivered? Five Stars! Dether’s New and Improved Reputation System is Here. The team has added a new reputation system that allows you to rate and leave comments on Dether trades and businesses on the Dether Map.
The District Weekly — December 7th: News and updates from the district0x Network.
The District Weekly — November 30th.
district0x Dev Update — November 26th, 2019: Development progress and product changes from district0x.
Istanbul Upgrade: Kyber Smart Contract Migration.
Bounties and Rewards — Winners for October and November.
Spending the Day at a Local Orphanage 🐘 — Donations, Play Time, Meals, and Tears.
The Governance Security Module (GSM).
Executive Vote: Adjust Debt Ceilings, Sai Stability Fee, and the DSR.
MetaMask Permissions System Delay Retrospective.
MetaMask Monthly: November: Web3 permissions rolling out, a recap of recent blockchain weeks/hackathons, development updates and more in this monthly report from MetaMask.
Welcoming Multi-Collateral Dai to MEW!
How we Safeguard our Smart Contracts (and Governance): At Ocean, the team applies military grade security to upgrade smart contracts.
Data Tokens 3: Data and Decentralized Finance (Data * DeFi): Data as Collateral. Data DEXes, Data Loans, Data Stablecoins, and Data Tokens in Financial Supply Chains.
OmiseGO November 2019 Roundup.
Why (dis)trust is the key to enterprise adoption and how it’s done on Plasma.
Built on Substrate: Polymesh, a specialized security token blockchain.
Why Chronicled chose to build on Parity’s tech stack.
Introducing Our New Community Discord Channel.
Dap.ps — Exchanges, Marketplaces, Collectibles, Games, Social Networks, Utilities, & More!
Restoring your iOS beta access.
Development Update 33 from Storj Labs.
Secure access control in the decentralized cloud.
News: TX partners with WWF-Philippines and UnionBank for sustainable fishing and financial inclusion.
Streamr integration with Apache Flink.
Announcement: terminating our business relationship with Daisy AI.
New to Streamr? Welcome! Here’s a quick guide to get you started.
Trinity Biweekly Report — November.
Introducing our newly restructured ZILHive Programme.
Mark your calendars with the ZILLIQA $ZIL Token Swap Deadline: 15 February 2020.
Other project’s updates:
Set Protocol Introduces Social Trading. Set Social Trading is a marketplace and network that enables traders to create their own trading pools where they can enact trades on commodities such as ETH, WBTC, USDC, DAI, cUSDC, and cDAI. Followers can then join these trading pools, copying every single action the Trader (or trading algorithm) enacts. This feature is expected to go live in early 2020.
Uniswap.exchange — better wallet support!: The team added support for WalletConnect, WalletLink, Protis, Formatic and mobile deep linking with Trust Wallet.
Uniswap’s frontend banned 10 OFAC countries, but there are always decentralized frontends on IPFS.
Betting on DeFi interest rates with Maple.
ETHBTC relative strength index set launches.
Net spread on Maker’s Dai is 0. 4% Dai Savings Rate and 4% Dai Stability Fee.
DAI flipped SAI. There’s now more Dai in existence than Sai. Probably because of that 0% spread.
Introducing the Open Finance Index (OFI): The OFI has been created as a new way of measuring the activity/growth of Open Finance on Ethereum. OFI departs from the TVL methodology, instead of aggregating vertical-specific metrics.
DeFi Saver Releases CDP Migration Tool: This CDP migration tool automatically checks the current locked Sai availability in the migration contract and simply upgrade your CDP once there’s enough Sai available.
Introducing the TokenSets Weekly Market Report: In these newsletters, the Set team will be covering the events of the previous week including a report on Set performance and rebalance events, a brief overview of recent crypto market activity, relevant on-chain metrics, a learning section and links to resources, blog posts, podcasts and videos that caught their eye.
Wyre ❤️ Ethereum: In 2020, Wyre will be launching native meta transaction support which will allow users to go directly into any DeFi interaction from their debit card. This will allow a new user to onboard into crypto in less than 20 seconds.
Nightfall Update — Batch & Scale with Zero Knowledge Proofs: EY released an update to their Nightfall open source and public domain tools. This update enables the first version of transaction batching — allowing up to 20 transactions at once under zero knowledge. This represents a 400-fold improvement in gas efficiency since the teams last OpsChain Public Edition prototype just over one year ago.
Introducing ZK Sync: the missing link to mass adoption of Ethereum: ZK Sync is a trustless scaling and privacy solution for Ethereum based on ZK Rollup. Along with the announcement, the team has released a devnet for ZK Sync that is now publicly available.
GridPlus Progress Update: December 6, 2019.
VirtuePoker launches open beta with a bunch of prizes for playing, from now until the end of February.
Tellor 101: Tellor is a decentralized oracle built on Ethereum.
New | Tokenlon DEX now on Web: Buy and sell imBTC & other tokens via trust-less atomic swap, now on web and mobile app.
Geth v1.9.9 Released: This update enables the next fork, Muir Glacier, scheduled for the 6th of January 2020:
Introducing Frontier Wallet — Beta: Frontier Wallet is a simple and secure Ethereum wallet for accessing DeFi. Frontier will tie in info of all of your addresses, wallets and data, associated with DeFi and ERC20 tokens into one mobile app.
Ramp Instant Now Live: Ramp Instant is a radically better way to on-ramp users into crypto. When users first use the integration on any supported site, they’ll be asked to connect their bank account with Ramp. Then they initiative payment, authorize it with their banking app and it’s all done. It takes minutes, rather than the industry standard of 1 day+.
State Channels Developer Update #14: The first update in a while from the State Channels team but a welcome one. Liam from the team goes over the last few months of work including engineering updates, research updates and what’s coming next.
Loopring Bi-Weekly Update: Various updates from the Loopring team including the announcement that Loopring 3.0 beta4 will be deployed in the next few days and it will be Ethereum’s first zkRollup DEX protocol enforcing on-chain data availability.
Cryptotesters Now Live: Cryptotestners is a platform that compares crypto products by showing you things like which exchange gives the best rate, which wallets are the best and more.
Check biweekly updates by Paradigm:
Opinion and research articles
Quadratic Payments: A Primer by Vitalik Buterin. Introduction to quadratic voting / funding / attention payments.
Moving ETH between shards: the problem statement by Vitalik Buterin:
In general, the way that tokens are handled on a sharded blockchain is through accounts and receipts that exist inside of execution environments. That is, a token is something that exists inside of an EE, in the form of account balances on different shards that have units of that token. On shard A, Alice might have 50 ExampleCoin (EXC) and Ashley 70 EXC, on shard B, Bob might have 40 EXC, etc, and these are all represented as leaves in the EE’s state tree.
Alice transferring EXC to Ashley is easy: it’s just a transaction within one shard that updates both balances. Alice transferring EXC to Bob is slightly more involved, but the method is established: Alice converts the EXC she wants to send into a receipt, waits for it to get included in the shard, and then Bob includes a Merkle proof of this receipt (plus a witness from shard B proving that receipt has not yet been spent) into shard B, at which point the balance in the receipt gets added to his account.
Now, let’s look at how ETH is different from EXC. EXC is an asset defined inside an EE, that exists only in that EE. Trust in the EE’s code is required to trust that EXC follows standard properties of an asset: if the EE’s code were bugged, Bob might be able to claim the EXC from the receipt multiple times, printing new EXC into existence (to give one possible example of a failure). ETH, on the other hand, is defined at protocol layer, and the protocol layer needs to be sure that ETH works securely.
Furthermore, there is a requirement that EEs must be able to hold ETH, and assign “ownership” to that ETH internally to accounts within that EE, and this ETH must be “spendable”. This is for paying transaction fees: if Alice wants to send a transaction, that transaction will need to spend Alice’s ETH to pay for gas, and the EE code must be able to take ETH that it holds and pay it to the block producer.
At EE internal state level:
In the top-level state:
For transfers within a shard, there are no challenges: transfers within a shard purely affect the internal accounting of an EE instance on some shard, they do not affect the total balance. But transfers between shards are tricky.
Suppose Alice (on shard A) wants to transfer 1 ETH to Bob (on shard B). There are actually two transfers that must take place:
Alice’s balance in the EE-internal state drops 1 ETH, Bob’s balance in the EE-internal state gains 1 ETH
The EE instance on shard A loses 1 ETH, the EE instance on shard B gains 1 ETH
(1) is purely an EE-internal matter so we do not need to care. But (2) must, somehow, be handled at protocol layer.
Solutions
1) Every shard crosslink publishes to the beacon chain all cross-shard transfers that it is making.
Problem: this technically makes Ethereum sharding no longer quadratic, as for N shards there would be N shard blocks each containing N transfers in a high-usage scenario, so a total O(N2) beacon chain load. These numbers are significant even in concrete terms: assuming 4 different EEs are popular, that’s 256 total transfers, and even if each transfer is compactly encoded into 10 bytes that’s 2560 bytes * 64 shards = 163 kB overhead.
2) every shard crosslink publishes to the beacon chain a Merkle root of all transfers, every shard chain block is requires to contain Merkle branches from all most-recent transfer roots corresponding to the transfers to their shard
That is, shard i would have a Merkle root detailing the transfers to shard (0, 1, 2 … N), and then shard j in the next block would be required to have the Merkle branch at position j from all shard blocks.
Problem: this feels like an awkward halfway-house between having protocol-guaranteed cross-shard transactions and not having such transactions. It has the complexity and mandatory data-passing requirements of a guaranteed cross-shard transaction scheme, without providing to users the benefits that such a scheme properly implemented would give them.
3) Netting
Shard blocks have the ability to record up to one transfer going to another EE on another shard. EEs would in general be expected to have small amounts of extra ETH locked up forever on each shard. When Alice sends ETH to Bob, Bob receiving the receipt gives him the right to use that ETH, dipping into this deposit if needed. The EE keeps track of its “debts” to copies of itself on other shard, and in every block sends a transaction that resolves its largest outstanding debt.
4) Enshrine one EE for ETH / asset holdings that everyone is required to understand
Problem: this creates an enshrined in-protocol state, and creates risks that this form of state because of its greater level of enshrinement will be abused for other application purposes.
5) Create some form of “guaranteed cross-shard transaction” system and piggyback on that
Basically, bring the entire infrastructure for cross-shard transactions into the base protocol, establishing some mechanism for guaranteeing arrival. If it is guaranteed in-protocol, then we can ensure that receipts are processed sequentially, removing the need for nontrivial amounts of state to store which receipts have been claimed and which have not; we just have a “next unclaimed receipt ID” ticker. However, this would require creating a sustainable gas mechanic, and handling cases where all shards send cross-shard transactions to the same destination shard simultaneously (this could be a DoS attack or an exceptional application activity, eg. an ICO).
Remaining Questions on State Providers and Stateless Networks in Eth2 by Will Villanueva.
Using HoneyBadgerMPC for the multi-party Proof-of-Custody by Amit Agarwal.
Commit Capabilities — atomic cross shard communication: Protolambda’s comprehensive look at proposals on the train-and-hotel problem.
Podcasts and videos
Steven McKie: Let’s Talk Ethereum on Into the Ether: Steven McKie, general partner at Amentum Capital and host of Blockchannel podcast joins the show to talk about Ethereum. Steven has been in the blockchain space for many years and has a good perspective on where Ethereum has been and where it’s going. They talk about the future gig economy, the state of Layer 2 solutions, governance, the emergence of DAOs, the current state of DeFi and the narrative wars between Bitcoin and Ethereum.
Enigma: Bringing Privacy to Ethereum via Layer 2 on Into the Ether: Guy Zyskind, CEO and co-founder of Enigma joins the podcast to talk about the privacy solution his team is building for Ethereum. Guy explains how Enigma can bring privacy to Ethereum via a layer 2 solution. He talks about the testnet coming in the coming weeks and what that means for people looking to participate in the network. Their Salad coin-mixing tool will also be going live at that time.
ETHWaterloo Recap: Part 2 on Into the Ether: ETHWaterloo was an Ethereum hackathon put on by ETHGlobal that took place in Waterloo, Canada from November 8–10, 2019. Eric was at the event and in Part 2 talks with the five winning teams from the event. We talk through what they built, why they built it and future plans for the products. The teams include Sheetcoin, Wallet Notify, Eth P2P VOIP, DeFi Custody Wallet and Connexion.
How Synthetix Became the Second-Largest DeFi Platform on Unchained.
Ethereum Name Service, with Brantly.eth Millegan on POV Crypto. Brantly Millegan is the Director of Operations of the Ethereum Name Service team, otherwise referred to as ENS. ENS is all about human-readable addresses in the Ethereum and greater crypto ecosystem. Brantly has a wealth of knowledge of both the new ENS system, as well as how it compares to the old DNS system.
bZx’s Kyle Kistner: Exploring The Protocol for Tokenized Margin Trading and Lending on Chain Reaction: Host Tom Shaughnessy of Delphi Digital is joined by Kyle Kistner, co-founder of bZx Protocol. For the podcast, they try their best to locate early stage projects in the space. They noticed bZx’s total value locked on DeFi pulse grew from $1M in September to near $3.5M in late November. While small in absolute numbers, the increase is notable, and with the launch of Fulcrum and Torque, they believed having the team on the podcast would be worthwhile for the listeners. BZX is a decentralized protocol that enables lending and borrowing for margin trading. The protocol can be easily integrated into new and existing exchanges or accessed through the bZx portal. On this episode they also discuss the products built on the bZx Protocol including Fulcrum (DeFi margin lending and trading) and Torque (indefinite-term loans with fixed interest rates).
Invictus’ Matthew Finlayson: Tokenized Funds and Financial Inclusion on Chain Reaction: Host Tom Shaughnessy of Delphi Digital is joined by Matthew Finlayson, Head of Product and a co-founder of Invictus Capital. On this episode they discuss how Invictus Capital is democratizing access to investment opportunities through its blockchain-based asset management platform. The platform already supports 4 tokenized funds (ERC-20 tokens), with two more planned (emerging markets solar fund and a real estate fund).
Ethereum Network Upgrades with Tim Beiko:
What’s ETHGlobal all about?
Check out all Devcon5 videos!
Upcoming events
Jan 1 — Augur v1 cutoff
Jan 1–30 — EthIndia online hackathon
Jan 6–20 — Gitcoin take back the web online hackathon
Jan ~6 — Hard fork to fix the difficulty bomb
Jan 31 — deadline for EU ledger 200k euro grants for blockchain startups
Feb 14–16 — ETHDenver
Mar 3–5 — EthCC (Paris)
Mar 29-Apr 4 — EthLagos
Apr 3–7 — Edcon (Vienna)
Finance
Information from Etherscan.io (December 10th, 2019):
Validated: Staking on eth2 #0:
The latest on the inner workings of eth2 and on the concrete requirements, incentives and experience of being a validator.
This article will provide a high-level overview of eth2 which will form the basis for a series on all aspects of eth2 relevant to validators. eth2 has been in the works for a long time now and has improved dramatically over the years. What were initially separate sharding and Proof of Stake (PoS) efforts managed via smart contracts has transmogrified into a highly interconnected design which yields dramatic improvements regarding efficiency, scalability and security.
The phases
As parts of eth2 have become more interconnected, other pieces have been separated out into phases to allow for better pipelining of the different aspects of eth2. Phase 0 is nearing launch as developers put the finishing touches on the client software. Meanwhile, the specification for Phase 1 is being completed, and Phase 2 is under active R&D.
- Phase 0 is concerned with the beacon chain, the core of eth2, which manages validators and the coordination of shards. The beacon chain is the source of ground truth from which all other aspects of eth2 are bootstrapped.
- Phase 1 builds upon this by allowing data to be put into shards. The implementation complexity of this component is much smaller than the others as phase 0 lays most of the ground work for the shards.
- Phase 2 adds execution to eth2 basically upgrading eth2 from a robust database to a fully decentralised computing platform.
What exactly is Phase 0?
As mentioned previously, the beacon chain tracks the state of both the set of validators and the shards. In practice this means that if you (periodically) follow what is happening on the beacon chain, you will know enough to verify anything said to be happening within eth2. Trust, but verify.
In order for a PoS system to function, there needs to be consensus on who the validators are, and on what each of their stakes are in order to know how much their votes are worth, and to appropriately reward and/or punish them for their behaviour. The beacon chain also manages the sharding aspects of eth2 by assigning validator duties in the shards as well as tracking the current state of each shard.
Part of what differentiates eth2 from other PoS systems is the sheer number of validators that can participate in the protocol. In contrast to the 10s, 100s, and 1000s of participants that are possible in other systems, eth2 scales to hundreds of thousands or even millions of validators. This level of decentralisation is only possible due to the intermediate levels of consensus achieved by groups of validators called committees. The beacon chain uses the eponymous random beacon at its core to assign validators to committees which are tasked with evaluating what is and isn’t a part of the beacon and shard chains. A committee’s votes are then cryptographically aggregated into an attestation meaning that verifying an entire committee’s votes is only marginally more effort than checking a single vote. Therefore, to check the validity of the beacon chain, only a few aggregated signatures need to be considered to evaluate the votes of many validators.
The beacon chain also tracks the eth1 chain and the deposits thereupon so that new validators can join eth2 by sending 32 Ether to the deposit contract on eth1. As a result of the beacon chain voting on the eth1 chain, eth2 will, at some point in the future, enhance the security of eth1 by providing an economic guarantee that blocks that are a part of the canonical eth1 chain.
Nodes vs. Clients
eth2 makes the distinction between beacon nodes and validator clients, and validators will need both in order to perform their duties. A beacon node (or just node) concerns itself with maintaining a view of the beacon chain as well as whichever shards may be needed by a user or validator.
As their name suggests, validator clients (or just clients) handle the logic of a single validator. This is achieved by communicating with the beacon node to understand the current state of the chain, by attesting to and proposing blocks as well when appropriate, and finally by asking the beacon node to send this information on to its peers.
If you are not running a validator, a beacon node contains all of the information you need to trustlessly interact with eth2, much like a full node in eth1.
Below are some of the many arguments for this separation:
- Each validator needs to be initiated with a deposit of exactly 32 Ether and therefore people who wish to stake more ETH will need to run multiple validator instances. The node-client separation allows such users to only run a single beacon node with multiple validators connected to it thereby reducing computation, memory, and storage requirements.
- By having validator nodes be separate modules, they will likely be more secure as it is easier to write, reason about, and audit smaller code modules.
- For users particularly worried about redundancy, multiple nodes can be run in parallel, thus reducing the chance of a validator going offline.
- Because validator clients can only interact with the rest of the eth2 network via a beacon node, and even then via a restricted API, the attack surface of a validator node is greatly reduced.
- For users who wish to interact with eth2, but don’t want to be a validator, they need only operate a beacon node which will grant them access to the beacon chain and all the shards they require.
Design Philosophy
The design philosophy of eth2 provides useful context for all the decisions made within eth2 and in many instances encapsulate the differences between eth2 and other protocols.
- Protocol über alles: With the acknowledgement that everything is a trade off, the protocol’s safety and liveness take precedence over other design desiderata.
- Hope for the best, but expect the worst: eth2 assumes validators will be lazy, take bribes, and that they will try to attack the system unless they are otherwise incentivised not to. Furthermore, the network is assumed not to be entirely reliable and that catastrophic events could force large numbers of validators to go offline. For these reasons, eth2 should be capable of surviving World War 3.
- Minimally viable complexity: Wherever possible, eth2 has been simplified as this makes it easier to reason about, explain to others, audit, write bug free clients, and generally avoid edge cases.
- Maximally decentralised: Proof of stake protocols commonly compromise on the number of validators that can participate, eth2 is designed to scale to millions of validators while encouraging these validators to work independently of one another.
- Expect the unexpected: All components of eth2 are resistant to quantum computers or can be swapped out for those that are in the event of a quantum apocalypse.
- By the people for the people: eth2 must be able to run on a consumer laptop. The lower the barrier to entry, the more people who can participate which translates into a higher degree of decentralisation.
The next posts in this series will tackle the juicy details of what makes eth2 tick.
Understanding validator effective balance by Jim McDonald.
Roadmap
When I came up with Ethereum, my first thought was, ‘Okay, this thing is too good to be true.’ As it turned out, the core Ethereum idea was good — fundamentally, completely sound.
Vitalik Buterin
Istanbul is successful so far.
More details on the road to Istanbul.
Next Timelines
The next fork will be called Muir Glacier and will address the difficulty bomb.
Serenity / ETH2
Serenity is meant to move from consensus through Proof-of-Work to Proof-of-Stake.
- See the ETH2 Specs Github Repo.
- The ETH2 Project Management repo holds ongoing notes and meetings.
Rumors
Twitter:
Reddit discussions:
Congrats on the Istanbul upgrade! Great job Ethereum team.
(Istanbul?) Today I paid $.003 for a “average speed” tx on Ethereum! I haven’t seen this in YEARS.
How can ETH be a supercomputer with 2.0?
Some girl posted about Cryptokitties and ETH on Tiktok and it’s going viral.
Other:
China’s Internet Firewall Has Blocked Access to Ethereum Block Explorer Etherscan.io: China’s Great Firewall, used by the government to regulate access to foreign internet sites, has blocked one of the most popular sources of ethereum blockchain data.
Last week, etherscan.io, one of the longest-running and most widely used ethereum block explorers, was inaccessible from IP addresses inside mainland China, based on tests performed locally.
The change appears to be recent. According to Greatfire.org, which compiles and monitors a database of sites that are blocked inside China, etherscan.io was still accessible with “no censorship detected” as of Aug. 18, 2019.
But Greatfire.org’s scanning record shows etherscan.io has become 100 percent blocked since at least Oct. 30, rendering it inaccessible from inside China unless via a virtual private network (VPN).
This is likely the first known case of a blockchain explorer becoming an internet firewall target and puts etherscan.io in the company of such blocked information and social media sites as Google, Facebook, Twitter, and Reddit.
“This is another instance of friction between the decentralized and immutable technology of blockchain and the tightly controlled, centralized government of China,” said Matthew Graham, CEO of blockchain investment firm Sino Global Capital. “We should expect additional problems like these in the future as blockchain is integrated further into the Chinese economy and daily life.”
Ethereum Developer Virgil Griffith to Be Released From Jail Pending Trial: A judge ruled that the U.S. Department of Justice has enough evidence to move a case against ethereum developer Virgil Griffith to trial. Griffith, who was arrested in Los Angeles on Thanksgiving Day on charges of conspiracy to assist the Democratic People’s Republic of Korea (DPRK) in learning more about cryptocurrency for its own benefit, had a preliminary court hearing Monday to determine whether the DOJ had sufficient evidence to establish probable cause.
The U.S. Attorney’s Office of the Southern District of New York said Friday that he had been charged with “violating the International Emergency Economic Powers Act (IEEPA) by traveling to the Democratic People’s Republic of Korea (DPRK or North Korea) in order deliver a presentation and technical advice on using cryptocurrency and blockchain technology to evade sanctions.”
Social media metrics
Social media activity:
Social media dynamics:
The Ethereum community continues to grow. There is constant stable growth in Ethereum social media channels these weeks.
Twitter (Ethereum) — Official announcement channel.
Twitter (Ethereum Network) — News from dApps .
Twitter (Ethereum Report) — Retweets from official announcement channel and team members’ pages.
Facebook — Official announcement channel. Recent publications — about Ethereum Core Devs Meetings, conferences.
r/ethereum — plain Ethereum development discussion. News about projects, links to interviews, podcasts, upcoming events.
Keep price discussion and market talk to subreddits such as r/ethfinance or r/ethtrader.
Keep mining discussion to subreddits such as /r/ethermining.
Do you have any question that feels really dumb? Try r/ethereumnoobies
Don’t forget to check out /r/ethdev for the Ethereum developer community.
Surfwith r/ethstaker. The future is at stake!
YouTube (Ethereum) — Last video on July 27th, 2017 (5000–20 000 views per video).
YouTube (Ethereum Foundation) — Videos from conferences, meetups, Ethereum Core Devs Meetings.
Check out Ethereum Community and Fellowship of Ethereum Magicians forums.
There is a strong stable growth in the Ethereum community over time. The graph above shows the dynamics of changes in the number of Ethereum Reddit subscribers, Twitter followers, and Facebook likes. The information is taken from Coingecko.com.
Main sources
Ethereum official social media
Core Devs Meetings
Eth2.0 Implementers Calls
Week in Ethereum by Evan Van Ness
What’s New in Eth2 by Ben Edgington
Projects build on Ethereum official blogs
Ethereum in news