Ethereum Curated

41 minute read

Clearly could use some more organization here… this is basically a staging area until I’m ready to get serious about Ethereum links.

Vitalik

History


0x

Ethresearch

  • Zether - The first privacy mechanism designed for Ethereum

    I thought this might be share-worthy. Benedikt Bunz (co-author of Bulletproofs), Dan Bohen et al. proposed Zether, the first privacy mechanism built specifically for Ethereum, i.e. account-based smart contract platforms. All notable blockchain privacy mechanisms developed so..

  • Maximally simple account abstraction without gas refunds

    For background, see Tradeoffs in Account Abstraction Proposals In this post I’ll make an account abstraction proposal that I would argue achieves significantly greater simplicity, and greater generality, than anything proposed so far, but at a price: transactions whose gas…

  • NOCUST - A Securely Scalable Commit-Chain

    We are very excited to release an updated version of the NOCUST academic paper. NOCUST is a Commit-Chain or non-custodial side-chain to scale Blockchains through layer 2. We added passive delivery (recipients can now be offline), added an experimental evaluation with gas cos…

  • Gluon Plasma Full Spec for Non-custodial Exchanges

    Is this assumption correct? If the operator fails to cancel orders of someone exiting directly from the smart contract, this can be detected and proven via “Exit Insolvency Fraud proof” Who is running the Orderbook? The operator Were any fund safety guarantees d…

  • Simulating a fraud-proof blockchain

    Hi, I want to share a summary of a work I have done regarding a paper about Fraud Proofs written by Mustafa, Alberto, and Vitalik. The original idea was to verify the results presented in Table 1 by simulating the network instead of using mathematical closed-formulas (which…

  • Zero-Knowledge Proofs Starter Pack

    On my journey to join the club of people who possess a reasonable understanding of ZKP cryptography, I stumbled upon many invaluable resources that provided to be very helpful. The problem was that they were rather scattered on the web. The awesome ZKP repo is indeed awesome …

  • Whisper-v2 : Request for requirements for ETH2 unified messaging p…

    I have started to evaluate what is going on with whisper and with secure messaging in ethereum in general. I found out, that whisper is barely used. Some projects propose to use 3rd party messaging like rabbitMQ, others try develop an own messaging protocol like PSS in Swarm…

  • Rate-limiting entry/exits, not withdrawals

    Currently, validators are able to enter and leave the validator set relatively quickly: each time a validator set transition happens, 1/64 of the validator set can switch in or out, and so in the normal case, every validator can switch out within a day. There is a much slower…

  • RSA Hash accumulator for arbitrary values

    RSA accumulators can efficiently store primes, but are (as far as I know) not efficient with non-prime numbers. My goal is to store arbitrary values, just like you can do in a Merkle tree, but having a shorter proof size. This can have multiple applications, such as in zk-sta…

  • Roll_up / roll_back snark side chain ~17000 tps

    Authors BarryWhitehat, Alex Gluchowski, HarryR, Yondon Fu, Philippe Castonguay Overview A snark based side chain is introduced. It requires constant gas per state transition independent of the number of transactions included in each transition. This limits scalability at the…

  • Combining Avalanche RANDAO and verifiable delay functions

    TL;DR: In the past, it has been questioned whether Avalanche RANDAO and verifiable delay functions (vdfs) are compatible, because Avalanche RANDAO allows large parties in the staking pool a “lookahead” on the entropy, so that they can start the vdf computation early. Howe…

  • Plasma World Map - the hitchhiker’s guide to the plasma

    Data unavailability is addressed the same way as MVP/plasma classic. There is a mass exit. This is made practical by halting the chain first to avoid gas pressure/network congestion.

  • Pragmatic signature aggregation with BLS

    I had not quite understood if registration was even the right model. I see. We’re not even talking about account keys, but validator’s signatures. In that case, there isn’t so much difference between the threat models anyways, so probably fine. I’m asking about …

  • A sketch for a STARK-based accumulator

    We can define a version of MIMC that works as follows: SimplifiedMiMCHash(x, d) = f^{512}(x), where f(x) = x^3 + d; that is, we apply the permutation x \rightarrow x^3 + d 512 times. Security claim: partial collision resistance - if y = SimplifiedMimChash(….SimplifiedMiMCH…

  • Avalanche RANDAO – a construction to minimize RANDAO biasability…

    This is an interesting idea. I think I get the gist of it, you are essentially organizing the validators into a binary tree and performing a commit/reveal ceremony at each level of the tree. This essentially takes away the opportunity (or minimizes the likelihood) for a val…

Smart Contracts

  • LeastAuthority/ethereum-analyses/GasEcon.md

    Ethereum supports computationally-rich contracts, written in a Turing-complete language. This enables a previously-unavailable variety of self-enforcing “smart contracts”, where all parties involved can be confident that their funds will be used in a predictable fashion.

    The downside of this increased flexibility is a new set of costs and threats for the miners and verifiers which execute these programs. Turing-complete programs cannot in general be statically analyzed to determine runtime or resource costs (storage, stack depth, etc). Programs which deliberately (or accidentally) get stuck in an infinite loop have the potential to stall the machine executing it. Programs which are merely complex or CPU-intensive still might “cost” more than the miner is willing to bear.

  • “https” in blockchain: Verifiable Formal Verification of Smart Contracts

    TL;DR We propose a protocol of verifiable formal verification of smart contracts, which provides a way for wallet apps, dapp browsers and even smart contracts to know whether a target contract is secure and satisfies certain specifications by SN[T]ARKs over formal verificatio…

  • Writing secure Smart Contracts in Solidity?

    With the DAO hack, it becomes even more important for developers to write secure smart contracts and be aware of pitfalls. Are there any good reference points/links which can describe the best prac…

  • Hunting the Ethereum Smart Contract: Color-inspired Inspection of Potential Attacks

    Blockchain and Cryptocurrencies are gaining unprecedented popularity and understanding. Meanwhile, Ethereum is gaining a significant popularity in the blockchain community, mainly due to the fact that it is designed in a way that enables developers to write smart contract and decentralized applications (Dapps). This new paradigm of applications opens the door to many possibilities and opportunities. However, the security of Ethereum smart contracts has not received much attention; several Ethereum smart contracts malfunctioning have recently been reported. Unlike many previous works that have applied static and dynamic analyses to find bugs in smart contracts, we do not attempt to define and extract any features; instead we focus on reducing the expert’s labor costs. We first present a new in-depth analysis of potential attacks methodology and then translate the bytecode of solidity into RGB color code. After that, we transform them to a fixed-sized encoded image. Finally, the encoded image is fed to convolutional neural network (CNN) for automatic feature extraction and learning, detecting compiler bugs of Ethereum smart contract.

  • Building a non-fungible token sales smart contract

    Selling non-fungible tokens and the ERC721 standard

  • Preparing for a Smart Contract Code Audit

    If you are planning to launch a project on the Ethereum blockchain, you probably know the importance of a third-party code audit. An…

  • Solidified - #1 Audit Platform for Smart Contracts

    Solidified is the largest audit platform for Ethereum smart contracts, using over 200 verified security experts to protect your code. Trusted by Polymath, Gnosis, Bankera, Melonport and others.

  • Researchers: Roughly 60% of Ethereum smart contracts have never be…

    A group of researchers from the Northeastern University and the University of Maryland published a paper detailing their analysis of Ethereum’s contract topology. The researchers modify Ethereum’s geth client to log how users and contracts interact with one another. The r…

  • Scanning Live Ethereum Contracts for the “Unchecked-Se…

    In this post, we examine just how prevalent the recently discovered “unchecked-send” bug is in real, live, deployed Ethereum contracts, with the aid of an automated analysis tool …

  • Gridlock (a smart contract bug)

    Edgeware’s Lockdrop smart contract has processed over $900 million of ETH and locked up over $290 million, all while hiding a fatal bug.

  • ConsenSys/smart-contract-best-practices

    A guide to smart contract security best practices. Contribute to ConsenSys/smart-contract-best-practices development by creating an account on GitHub.

  • Ethereum Studio - Solidity IDE

    A tool to help learn, code, build, and deploy smart contracts and decentralized applications. Don’t waste precious time setting up your development environment. Simply open Ethereum Studio in your browser and start coding.

  • State Fees (formerly State rent) pre-EIP proposal version 3

    Version 3 is now up for discussion. Main changes compared to version 2: Replay protection for externally owned accounts changed from temporal to non-temporal to ensure that account nonces are never reused (reuse of nonces allow re-creation of contracts) Lock-ups are replac…

  • Vinay Gupta (@leashless)

    My @ethereum #DEVCON4 talk on the future of Ethereum, smart contracts and the blockchain is now online, entitled “How to control the material world with smart contracts.” There’s a transcript, too. https://t.co/3DjFJYLgqy Thanks for recording it, guys! @Mattereum

  • Researchers: Roughly 60% of Ethereum smart contracts have never be…

    A group of researchers from the Northeastern University and the University of Maryland published a paper detailing their analysis of Ethereum’s contract topology. The researchers modify Ethereum’s geth client to log how users and contracts interact with one another. The r…

  • Bribery-Resistant Voting Schemes for Smart Contracts

    This is joint work/post with Ian Miers, Oded Naor, and Ari Juels. Recently, a number of proposals and applications have evolved on Ethereum that require voting; from contracts that use voting-based DAOs for governance or other administrative tasks, to boardroom-like votes to…

  • Formal verification of ERC-20 contracts
  • Deconstructing a Solidity Contract —Part I: Introduction

    By Alejandro Santander in collaboration with Leo Arias.

  • @trufflesuite

    Curious how Solidity stores variables under the hood? Check out this paper by Truffle’s own @Sniffnoy ! ⚙️ https://ethdebug.github.io/solidity-data-representation/ (Note: contains low-level technical details! 🙃)

  • How to Write Upgradeable Smart Contracts with Truffle ^5.0 and Zep…

    Step-by-step tutorial to get up and running with upgradeable smart contracts

  • Solidified - Audit Platform for Smart Contracts

    A platform for crowd-sourced review of smart contracts, where any developer can bring their contract for review with a large network of verified blockchain experts.

  • Preparing for a Smart Contract Code Audit – ConsenSys Media

    If you are planning to launch a project on the Ethereum blockchain, you probably know the importance of a third-party code audit. An…

  • Dapps for Beginners

    Ethereum contract tutorials.

  • https://remix.ethereum.org/
  • Learn Solidity — The Ethereum smart contract programming language

    In the course of time that I am involved in Ethereum development, I have noticed that not much information exists yet to learn Solidity…

  • https://solidity.readthedocs.io/
  • Create a Hello World Contract in ethereum

    Ethereum is a decentralized platform for applications that run exactly as programmed without any chance of fraud, censorship or third-party interference.

  • CryptoZombies - Learn to code games on Ethereum. Powered by Loom N…

    CryptoZombies is an interactive code school that teaches you to write smart contracts in Solidity through building your own crypto-collectables game.

  • LibSubmarine: Temporarily hide transactions on ethereum (cheaply!)

    The State of Privacy

  • Web3.py

    Web3.py is a python library for interacting with Ethereum. Its API is derived from the Web3.js Javascript API and should be familiar to anyone who has used web3.js.

  • ethereum/go-ethereum

    Official Go implementation of the Ethereum protocol - ethereum/go-ethereum

  • Home - Nethereum

    .net library for ethereum

  • Securify: Security Scanner for Ethereum Smart Contract

    Scan any Ethereum contract for critical security vulnerabilities for free.

  • ZK Labs Community Audits Initiative for non-ICO Projects

    As part of a broader pursuit to securing the ecosystem, we at ZK Labs are excited to announce our Community Audits initiative to sponsor…

  • http://ethdocs.org
  • pirapira/awesome-ethereum-virtual-machine

    Ethereum Virtual Machine Awesome List. Contribute to pirapira/awesome-ethereum-virtual-machine development by creating an account on GitHub.

  • Introduction - Ethereum Tutorials and Tips by Hudson

    Tips and tutorials for some of the most asked about Ethereum issues.

  • ethereumbook/ethereumbook

    Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood - ethereumbook/ethereumbook

  • MaiaVictor/formality

    An lightweight proof-gramming language. It aims to be: Fast: no garbage-collection, optimal beta-reduction, massively parallel compilers. Secure: a powerful type system capable of proving mathematical theorems. Portable: the entire language desugars to a 500 lines core type-theory. Browse our libraries and come hang out with us on Telegram.

  • Learn the Ethereum language Vyper from within your browser!

    We’re excited to introduce ChainShot’s first interactive lesson for the Vyper language. This is a good module to get your feet wet with…

  • Learn the Ethereum language Vyper from within your browser!

    We’re excited to introduce ChainShot’s first interactive lesson for the Vyper language. This is a good module to get your feet wet with…

  • Introducing Solidity Koans – Hacker Noon

    Learn Solidity through simple programming exercises

  • Formal Verification in Solidity – Leonardo Alt – Medium

    Last week I gave a talk “Using Solidity’s SMTChecker” at Devcon4, as part of the Security track. You can read the slides on GitHub. This post introduces Solidity’s SMTChecker and explains on a (very) high level how it works. Deeper technical details on how the SMTChecker works can be found in [1]. A little bit of background on logic might be useful for the SAT/SMT introduction, although not completely required. If you are interested in more information about SAT/SMT solving, please see [2,3].

  • Ethereum & Solidity Tutorials

    Solidity is a programming language for creating and implementing smart contracts. These Ethereum and Solidity tutorials will show you how to create smart contracts, deploy your own DApps, create tokens, and more — from beginner to intermediate topics.

  • Visual Studio Code (@code)

    Build and deploy #ethereum smart contracts using the new @trufflesuite extension for #VSCode from @MSFTBlockchain https://t.co/0gKivFbBHG https://t.co/0Rpv5QGcTU

  • Account abstraction for main chain · Issue #859 · ethereum/EIPs

    The following is a copy of the account abstraction proposal discussed here but coalesced into one piece and adapted for the ethereum main chain by adding back in mandatory in-transaction nonces. Sp…

    ^^^ Basically all user accounts would be a type of smart contract, which means you can make the code to allow you to access that account’s funds whatever you want ou’d obviously be able to use your default secp256k1 and whatever or you could change it in to anything you want… skip down to the “Account Strategy” heading

  • ConsenSys/smart-contract-best-practices

    A guide to smart contract security best practices. Contribute to ConsenSys/smart-contract-best-practices development by creating an account on GitHub.

  • New Ethereum Dev Tools from 0x

    Four tools to help you write better smart contracts

  • dexlab-io/ethereum-developer-tools-list

    A guide to available tools and platforms for developing on Ethereum. - dexlab-io/ethereum-developer-tools-list

  • Olivier Vdb (@oli_vdb)

    Excited to release the open-source project I’ve been working on in the last few months: Hopper, mobile-friendly private transfers for Ethereum https://t.co/hc4mkYImea

  • developer.samsung.com/blockchain

    The Samsung Blockchain SDK allows: Generation, storage, management and backup of all valid accounts The facilitation of a payment activity showing information to be signed and ensuring that authorization of digital signatures for purchases is done by secured cold wallet with the internal HAL interface of Blockchain SDK. Enablement of cold wallets like Samsung KeyStore or other external cold wallets. (Currently 1 device is allowed at an instance) Creation of transaction and returning the result of transfer to a blockchain node (tx ID) Developers’ mode: set your own HD path and restore customized HD-wallet, get/set RPC, set customized fee policy

  • Santiago Palladino (@smpalladino)

    Happy to finally share what I’ve been working on for the past year. Ethereum for Web Developers, a book on building web apps on Ethereum. This is the book I would have liked to read when I started working on Ethereum. So, I wrote it. https://t.co/zGFocC6szH

  • The path to an ERC standard

    In this episode, we discuss tokens, token standards and the ERC process. We cover some of the most popular token standards and discuss what it takes to design a standard and get this accepted. We also have a chat with Matt Lockyer about his experience submitting ERC998.

  • Get to know a Core Dev: Martin Holst Swende

    In this episode, Fredrik sits down Martin, who is a Core Dev working on the Geth client and head of security for the Ethereum foundation. They chat about what got him into the space, his interest in security, and what he would recommend to other devs looking to get into the s…

  • Hudson Jameson talks EIPs and Ethereum core decision-making

    In this episode, Anna chats with Hudson Jameson about how he got involved in the space, the EIP process, and the challenges of decision-making in the decentralised space.

  • Wisps: The Magical World of Create2

    Our ETHCapeTown project, using CREATE2 for flexible Contract Wallets that live off-chain, reducing their attack surface and gas costs.

  • Full Ethereum Dapp Tutorial - 5h Course For Beginners

EVM

Layer 2 - Dapps

Scaling

Sharding

  • Future-compatibility for sharding

    In my opinion, the current sharding spec as described here https://github.com/ethereum/sharding/blob/develop/docs/doc.md is basically already good enough to get us to thousands of transactions per second with reasonable security properties, as well as the ability to add cross…

  • BlockFlow: introducing a novel sharding algorithm with single-step…

    Hi All! I am Cheng, founder of Alephium project. We found a novel sharding protocol which supports native cross-shard transactions, i.e. no two-phase commit is needed for cross-shard txs. We call it blockflow. It’s a general sharding algorithm, but the idea could be applie…

  • Phase 2 pre-spec: cross-shard mechanics

    THIS IS A WORK IN PROGRESS! The goal of this post is to provide a rough outline of what phase 2 might look like, to help make the discussion about state and execution more concrete as well as to give us an idea of the level and types of complexity that would be involved in im…

  • Encumberments as a common mechanism in sharding and L2

    The mechanism of encumberments has come up under different names in cross-shard communication and plasma. We argue that recognizing this allows us to systematically construct better mechanisms, e.g. channels-on-plasma with short dispute times, and argue for plasma dispute tim…

  • Synchronous cross-shard transactions with consolidated concurrency…

    I’d like to argue against a widespread perception that under the initial sharding protocol, the only way to do cross-shard transactions will be with asynchronous messages (i.e. contract locking/yanking, and so on). I do agree that if we expect the least amount of innovation…

Data

ETH 2.0

Casper

Interop

Identity

Enterprise Ethereum Alliance (EEA)

Ethereum Classic