wormhole/bridge
Hendrik Hofstadt 0e69aa4ddc remove requirement for half_q on pub key x
Schnorr signatures don't have the ecdsa malleability vulnerability, also we protect against malleable signatures by tracking consumed VAAs using their body hash.
The check was implemented because the author assumed that ecrecover in the EVM does not accept s < HALF_Q values for malleability protection. There were 2 misconceptions:
1. pubkey_x is passed in as r and not s, 2. the check is not enforced in the precompiled evm instruction.
2020-08-10 21:08:57 +02:00
..
cmd/guardiand Add persistent keys and bootstrap peer 2020-08-04 12:15:51 +02:00
k8s Add persistent keys and bootstrap peer 2020-08-04 12:15:51 +02:00
pkg Track confirmations in watcher 2020-08-06 19:14:31 +02:00
third_party/chainlink remove requirement for half_q on pub key x 2020-08-10 21:08:57 +02:00
DEVELOP.md Simple local devnet for development 2020-08-04 12:15:51 +02:00
Dockerfile Simple local devnet for development 2020-08-04 12:15:51 +02:00
README.md bridge: README stub 2020-08-04 19:52:41 +02:00
Tiltfile Simple local devnet for development 2020-08-04 12:15:51 +02:00
dev-install.sh Simple local devnet for development 2020-08-04 12:15:51 +02:00
go.mod Import Chainlink's Distributed Schnorr implementation 2020-08-04 19:52:41 +02:00
go.sum Track confirmations in watcher 2020-08-06 19:14:31 +02:00

README.md

The bridge

The bridge is a lightweight, distributed cross-chain notary. Read the the protocol spec first.

  • Leaderless. There is no synchrony/consensus or proposers - the bridge merely observes finalized transactions on one chain, signs them using its piece of the joint key, and pushes its signature to an off-chain peer-to-peer network. Once 2/3+ of the guardian set agree, the threshold signature is valid and this jointly signed proof (which we call a Verifiable Action Approval or VAA) can be posted to the other chain to release or mint funds that were locked/burned on the first.

  • Stateless. Nodes do not keep persistent state about transactions they observed.