1 of 37

Pegging Zcash

to Ethereum

2 of 37

Why?

3 of 37

Approaches

to cross-chain communication

4 of 37

Atomic

5 of 37

Stateless SPV

6 of 37

Relayed SPV

7 of 37

Merged Consensus

8 of 37

Federation

9 of 37

Relays in-depth

10 of 37

Full relay

11 of 37

Light relay

12 of 37

Fly relay

13 of 37

Mix-and-match

14 of 37

Stateless SPV + relay

15 of 37

Atomic + stateless SPV

16 of 37

Engineering

considerations

17 of 37

State model

18 of 37

Finality

19 of 37

Feasibility of validation

20 of 37

Pegging Bitcoin

21 of 37

Stateless SPV + Relay + Federation

= “Bonded, multi-federated sidechain”

22 of 37

Bond the federation members

23 of 37

Read Bitcoin history

to validate their behavior

24 of 37

Slashing�(seize their funds if they cheat)

25 of 37

Pegging Zcash?

26 of 37

Problems

27 of 37

Blake2b availability

28 of 37

Zcash transactions can be huge

29 of 37

Zcash has large headers

30 of 37

Supporting

shielded transactions

31 of 37

Network upgrades

32 of 37

Moving forward

33 of 37

EIP-2024�Blake2b pre-compile

34 of 37

EIP-2024�Blake2b pre-compile

35 of 37

EIP-2024Blake2b pre-compile

Blake2b F function pre-compile

36 of 37

ZIP-221

MMR commitments

37 of 37

Thanks!

Interested in this work?

james@summa.one | matt@keep.network