a blockchain project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… ·...
TRANSCRIPT
![Page 1: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/1.jpg)
A Blockchain ProjectVincent Gramoli
(Collaboration with Ingo Weber and Rob van Glabbeek)
1
![Page 2: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/2.jpg)
Bitcoin nodes
source: https://bitnodes.21.co/
2
![Page 3: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/3.jpg)
What is blockchain?
3
• Abstraction to represent the state of a ledger
• Each transaction transfers from one account to another a quantity of coins and gets recorded in a ledger
• Information can only be appended to the ledger forever (it cannot be modified)
genesis
![Page 4: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/4.jpg)
How does blockchain work?
4
• On a large-scale network
• Any computer node can issue a transaction
• Other nodes, miners, include it in a block
• They propose to append the block to the chain
• Nodes reach consensus on the block to append
![Page 5: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/5.jpg)
Logical overlay
current blockchain
5
genesis
![Page 6: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/6.jpg)
New transaction
6
tx
current blockchain
genesis
![Page 7: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/7.jpg)
Gossip-based protocol
7
tx
tx
tx
current blockchain
genesis
![Page 8: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/8.jpg)
Gossip-based protocol
8
tx
tx
tx
tx
tx
current blockchain
genesis
![Page 9: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/9.jpg)
Mining into a block
9
tx
tx
tx
current blockchain
genesis
miner miner
tx tx
![Page 10: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/10.jpg)
Mining into a block
10
tx
b2
tx
tx
b1
current blockchain
genesis
miner miner
![Page 11: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/11.jpg)
Consensus
11
b2 b1
current blockchain
genesis
b2 ok! b1 ok!
tx
tx
tx
![Page 12: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/12.jpg)
Consensus
12
b2 b1
b1
b1
b1 ok!
b1 ok!
b2 b2 ok!
current blockchain
genesis
b2 ok! b1 ok!
![Page 13: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/13.jpg)
Consensus
13
b2 b1
b1
b1
b1 ok!
b1 ok!
b2 b2 ok!
current blockchain
genesisb2
b1
b2 ok! b1 ok!
![Page 14: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/14.jpg)
Consensus
14
b2 b1
b1
b1
b1 ok!
b1 ok!
b1 b1 ok!
current blockchain
genesisb2
b1
b1 ok!
![Page 15: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/15.jpg)
Consensus
15
b1 b1
b1
b1
b1 ok!
b1 ok!
b1 b1 ok!
b1 ok!
current blockchain
genesis b1
b1 ok!
![Page 16: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/16.jpg)
Consensus
16
Applications assume that the block i is decided (and its transactions are committed) when the blockchain depth reaches i+k
genesis
1 i i+1 i+k-1
i+k
0
decided block undecided block
![Page 17: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/17.jpg)
The Blockchain Anomaly [NG’16]
17
We showed under realistic assumptions that in a private chain, there is no k sufficiently large for the application to work correctly
![Page 18: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/18.jpg)
The Blockchain Anomaly [NG’16]
18
b1 b1
b1
b1
b1 ok!
b1’ ok!
b1 b1 ok!
b1 ok!
current blockchain
genesisb1’
b1
b1 ok!
![Page 19: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/19.jpg)
The Blockchain Anomaly [NG’16]
19
b1 b1
b1
b1 b1’, b2’, …, bk’ ok!
b1
b1, b2, …, bk-1
current blockchain
genesisb1’
b1
bk-1'
bk-1
bk'
b1, b2, …, bk-1
b1, b2, …, bk-1
b1, b2, …, bk-1
![Page 20: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/20.jpg)
The Blockchain Anomaly [NG’16]
20
b1 b1
b1
b1 b1’, b2’, …, bk’ ok!
b1
current blockchain
genesis b1’ bk-1' bk'
b1’, b2’, …, bk’ ok!
b1’, b2’, …, bk’ ok!
b1’, b2’, …, bk’ ok!
![Page 21: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/21.jpg)
Next Steps
Replaying the blockchain anomaly on the network of R3, and implementing a solution
Understanding the assumptions necessary to transfer across blockchains
Taste-Of-Research: building a crowd-funding (DAO) application based on smart contract
1
2
3
21
![Page 22: A Blockchain Project - cse.unsw.edu.au › ~cs9243 › 16s1 › lectures › vincent-blo… · Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings](https://reader036.vdocuments.us/reader036/viewer/2022081323/5f03dfec7e708231d40b31ed/html5/thumbnails/22.jpg)
References• [Nak’08] S. Nakamoto, “Bitcoin: a peer-to-peer electronic cash
system,” 2008. http://www.bitcoin.org
• [Woo’14] G. Wood, “Ethereum: A secure decentralised generalised transaction ledger”. 2014. https://github.com/ethereum/wiki/wiki/White-Paper
• [NG’16] C. Natoli, V. Gramoli. The Blockchain Anomaly. TechRep. arXiv 1605.5438.
• [XPZ+16] X. Xu, C. Pautasso, L. Zhu, V. Gramoli, S. Chen, A. Ponomarev, and A. B. Tran, “The blockchain as a software connector,” in Proceedings of the 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), 2016.
22