Last week I attended the IC3-Ethereum bootcamp at Cornell University, Ithaca. The bootcamp was designed as an one-week long hackathon in which attendants, including both academic and industry people, were split into groups to work on different projects. I proposed and lead PeaceRelay, one of the ten selected projects. Project leaders pitched their projects to the attendants on the first day, after that people could register and select which project they want to work on for the rest of the bootcamp. I was fortunate to work with Nate Rush and Nicholas Lin on PeaceRelay during the bootcamp.What is PeaceRelay
PeaceRelay is inspired by BTCRelay, a Bitcoin light-client running within a smart contract on Ethereum. BTCRelay allows Ethereum smart contracts to verify Bitcoin transactions, thus enabling Ethereum accounts to receive payment from Bitcoin.
PeaceRelay is built with a similar goal but for different chain: allowing communication/ interaction between two different Ethereum blockchains, i.e Ethereum and Ethereum Classic. Via PeaceRelay’s services, Ethereum contracts can read and verify transactions, account states on Ethereum Classic and vice versa. PeaceRelay is much more interesting than BTCRelay at the moment, since it enables two-way relay between Ethereum and Ethereum Classic, thus enabling what is also called “two way peg” in sidechain. Basically, PeaceRelay allows one to move ETC to Ethereum and move it back to Ethereum Classic network by deploying PeaceRelay on both Ethereum and Ethereum Classic networks.How PeaceRelay works?
How PeaceRelay works is quite simple. Lets first discuss how BTCRelay or any general chain relay works. There is an Ethereum contract that stores all Bitcoin block headers relayed/ submitted by users, or relayers. In case you are new to the structure of a block header, it contains a data field called “Merkle root” that cryptographically commits all tr...