IC3 and the Ethereum Foundation Conducted our Third Immersive Weeklong Coding and Learning Experience in Blockchains and Smart Contracts with World-leading Professors, Open Source Architects, Developers and Students.
There were 10 project teams. Awards were made to the top 3 teams at the Celebration and Awards Dinner on July 18 at Coltivare in downtown Ithaca.
We took occasional breaks from the hacking to attend talks by well-known experts in the community – and also recorded some of the project team presentations here. Note that some talks are pre-publication oriented and may not be posted.
Smart Contracts for Radical Markets: Cryptokitties has brought Dutch Auctions to the mainstream. In this project we'll use smart contracts to experiment with new kinds of auctions too. For inspiration, we’ll start with ideas from Radical Markets by Posner and Weyl.
Submarines!: Submarine sends are a technique used to prevent frontrunning, a problem in blockchain systems where miners may manipulate the order of transactions in a block. This project built a high-quality reusable library and smart contract for the community to use submarine sends, including an additional merkle proof verification library (for verifying a transaction is legitimately in a block from within a smart contract). See this blog post for more details: http://hackingdistributed.com/2017/08/28/submarine-sends/"
ViperFlow: a Smart Contract language with Information Flow: For this project we built a security-critical smart contract using ViperFlow. ViperFlow is a language we are still developing that provides an information flow type system on top of Viper, the existing smart contract programming language.
Plasma Gold Private SegWit Unlimited: Plasma Classic, Plasma MVP, Plasma Cash, Plasma XT... Plasma Gold Private SegWit Unlimited? Plasma's nature as an abstract framework makes it simultaneously confusing and exciting. In this project, we had some fun by speccing and building the weirdest things we could think of that still counts as "Plasma."
Updatable and Universal Common Reference Strings: We implemented updatable common reference strings for SNARKs. This allows the “trusted setup” to be updatable by anyone before it is used, and thus alleviates the “trusted” requirement of SNARKS.
CBC Casper and Sharding: CBC Casper is a family of consensus protocols that all share the same proof of asynchronous, Byzantine fault tolerant safety. During this boot camp, we explored the problem of consensus as it relates to blockchain scaling, designing and implementing proof-of-concepts simulations for different sharded blockchain consensus algorithms!
Town Crier (http://www.town-crier.org/): We implemented a secure oracle using Intel SGX enclaves in Rust, triggering smart contract events using an SGX enclave that implements the Town Crier protocol.