alex melville securing and running a multisig...
TRANSCRIPT
![Page 1: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/1.jpg)
Ethereum at BitGoSecuring and Running A Multisig Ethereum Wallet
Alex Melville
![Page 4: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/4.jpg)
BitGo: 2-of-3 Multi-Signature Wallets
No single point of failure!
BITGO KEYCUSTOMER KEY EMERGENCY (BACKUP) KEY
4
![Page 5: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/5.jpg)
Supported Coins and Tokens
ETH
ETHEREUM
BTC
BITCOIN
LTC
LITECOIN
BCH
BITCOIN CASH
BTG
BITCOIN GOLD ZCASH
ZEC XRP
XRP
XLM
STELLARDASH
DASH
Augur (REP)
Basic Attention Token (BAT)
Bread (BRD)
Civic (CVC)
Golem (GNT)
Kyber Network (KNC)
Numeraire (NMR)
OmiseGo (OMG)
0x (ZRX)
Maker (MKR)
Worldwide Asset eXchange (WAX)
Zilliqa (ZIL)
iShook (SHK)
Rialto (XRL)
Kin (KIN)
Salt (SALT)Change (CAG)
Power Ledger (POWR)
AppCoins (APPC)
Serenity (SRNT)PlusCoin (PLC)
Linker Coin (LNC)
Snovio (SNOV)
Status Network Token (SNT)
Decision Token (HST) Propy (PRO)
AirSwap (AST)
WaltonChain (WTC)
Storj (STORJ)
SwissBorg (CHSB)
Aragon (ANT)
Aelf (ELF)
Populous (PPT)
OPTin Token (OPT)AION (AION)
Celsius (CEL)
Sentinel Protocol (UPP)
ANA (ANA)
WeTrust (TRST)
Indorse (IND)
Dent (DENT)
Polymath (POLY)
TrueUSD (TUSD)
Bancor (BNT)
Colu Local Network (CLN)
DAOstack (GEN)
Storm (STORM)
Gnosis (GNO)
Pundi X (NPXS)
Gemini Dollar (GUSD)
Paxos (PAX)
Rebglo (REB)
CoinLion (LION)
Hold (HOLD)
Cryptopay (CPAY)
...with more being added all the time.
![Page 6: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/6.jpg)
Ethereum Basics (Addresses vs. Contracts)
6
Addresses:
● Basically like Bitcoin Addresses● Single Signature● Initiate Contract Creation/Execution● Pay for Fees! (EIP 101)
Contracts
● Turing-Complete Execution● Extremely Tricky to Reason About
TXCreation
External (Fee) Address
10
![Page 8: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/8.jpg)
8
The Code:
● Multisignature Wallet● 12 functions
○ Sending○ Safe Mode○ Helper Functions
● Events○ Transacted○ Deposited
● web3.js (we don’t use it!)
Writing and Deploying A Multisig Wallet Smart Contract
![Page 10: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/10.jpg)
10
The Deploy:
● Similar Care as Hardware● Audits
○ OpenZeppelin○ Coinspect○ ABDK Consulting
● Fee Address○ It Costs to Deploy Wallet and Receive Addresses
Writing and Deploying A Multisig Wallet Smart Contract
25
![Page 11: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/11.jpg)
11
The Ethereum Multisig Problem: Fungibility and Usability
TX
HitBTC does not see the
transaction!
![Page 13: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/13.jpg)
13
Transaction Nonce Holes: Full Node
1 2 3 4
TX #11 ETH
TX #23 ETH
TX #35 ETH
TX #47 ETH
= Confirmed
![Page 14: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/14.jpg)
14
Transaction Nonce Holes: Full Node
1 2 3 4
= DB Query
5
TX #11 ETH
TX #23 ETH
TX #35 ETH
TX #47 ETH
TX #59 ETH
= Unconfirmed
= Confirmed
![Page 15: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/15.jpg)
15
Transaction Nonce Holes: Full Node
1 2 3 4
5
TX #11 ETH
TX #23 ETH
TX #35 ETH
TX #47 ETH
TX #59 ETH
TX #611 ETH
= DB Query
= Unconfirmed
= Confirmed
![Page 16: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/16.jpg)
16
Transaction Nonce Holes: Full Node
1 2 3 4
5
TX #11 ETH
TX #23 ETH
TX #35 ETH
TX #47 ETH
TX #59 ETH
TX #611 ETH
= DB Query
= Unconfirmed
= Confirmed
![Page 23: Alex Melville Securing and Running A Multisig …cs251crypto.stanford.edu/18au-cs251/lectures/lecture12.pdfEthereum Basics (Addresses vs. Contracts) 6 Addresses: Basically like Bitcoin](https://reader034.vdocuments.mx/reader034/viewer/2022042303/5ece5b8073171a196779bc28/html5/thumbnails/23.jpg)
23
Transaction Nonce Holes: Database
1 2 3 4 5
DB
8
7 8
TX #91 ETH
= DB Query
= Unconfirmed
= Confirmed