The core peaceBridge architecture was completed a few weeks ago; now, front-end development is under way to provide an intuitive yet transparent user experience. Here’s an update summing up our progress and immediate plans for the weeks ahead.
A fuller peaceBridge design documentation is written up here (https://medium.com/akomba/peace-bridge-connecting-ethereum-classic-and-ethereum-e306df01159f). The project repo is currently private and undergoing a security audit; it will be made public following the audit.
Where we’re at:
A series of interactive screens are up and running for the full cycle of an honest withdrawal (mint -> deposit -> transfer -> approve -> withdraw -> claim). This has been deployed on Kovan and Ropsten, two Ethereum testnets, with the ETC morden testnet to follow shortly. Our contracts are interacting smoothly across the two chains.
- Challenge functionality: We’re writing front-end to make it easy for anyone to submit a challenge…
- Watchtower: …so easy, in fact, that the challenge process can be automated. We’re writing a watchtower script that:
• spots suspicious withdrawals (i.e. those using outdated or duplicate transfers); and
• submits challenges against these withdrawals by automatically picking up the transactions required for a fraud proof.
This script can be run by:
• users themselves, to directly monitor their tokens and deposits;
• always-online services, to which users can delegate the task of keeping the watchtower up-and-running; and/or
• the Custodian, to provide additional peace of mind for her users.
- Wallet integration: Metamask integration for signing transactions.
- ETC integration: Make sure our contracts and wallet integration are ETC-compatible (there’s some differences in opcodes).
- Full UX flow: Full user journeys and interfaces, for both custodians and users of peaceBridge smart contracts.
Recap of peaceBridge architecture and design philosophy:
The peaceBridge is a set of smart contracts deployed across two chains, which use signature verification to enforce consistency across the two chains. This allows users to mint tokens on the foreign chain that are backed up by real deposits on the home chain, with the guarantee that, after a series of transfers on the foreign chain, rightful owners can always prove and withdraw their deposits on the home chain.
By design, the peaceBridge minimises trust in centralised authority. The staked Custodian is basically reduced to a signing service and additional security provider. In case of a double spend, where there is no way to tell cross-chain which transaction was canon, the Custodian is punished for double-signing and the corresponding double-signed amount is slashed from his stake.
In comparison, users actually take on a larger role in enforcing consistency across the two chains, by challenging outdated or fraudulent transactions which concern them.