Towards Application Portability
- n Blockchains
Kazuyuki Shudo, Reiki Kanda, Kenji Saito
IEEE HotICN 2018 August 2018
Towards Application Portability on Blockchains Kazuyuki Shudo , Reiki - - PowerPoint PPT Presentation
IEEE HotICN 2018 August 2018 Towards Application Portability on Blockchains Kazuyuki Shudo , Reiki Kanda, Kenji Saito Tokyo Institute of Technology Keio University , ,
IEEE HotICN 2018 August 2018
– Bitcoin’s market capitalization is US$ 110B. – 9,500 Bitcoin nodes
Elapsed Time / … algorithms. – A winning node (miner) takes some new coins.
TX Hash value Block TX TX TX Hash value Block TX TX
A crypto- graphic hash function
A hash chain of blocks
A peer-to-peer (P2P) network
nodes
= An application-level network
Node (miner)
https://bitnodes.earn.com/ About 9,500 nodes
1 / 10
Part of icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY.
I want to utilize
I just want
2 / 10
I just want
Node (miner) operator
3 / 10
I want to support applications. Node (miner) operator
– Note: Implementation is part of future work.
Middleware design Migration process
4 / 10
– A common API and smart contract language enable runnable portability. – Different blockchains running the same middleware also enable it. – It is unlikely to be useful because it requires application restart and loses fundamental blockchain features:
Blockchain A Blockchain B Application A Application A Blockchain A Blockchain B Application A Application A
An application can migrate. An application can run on both.
5 / 10
6 / 10
Blockchain,
that stores a pair of integers with a time stamp
Application
Database Middleware
enabling application migration
Blockchain,
that stores a blob with a time stamp
Application Middleware
enabling application migration
(a) A blockchain stores data. (b) An external database stores data. 7 / 10
– (b) reduces the blockchain size, Instead, the database should be fault‐tolerant. Replication or erasure coding work.
– required: (a) must keep the original blockchains. (b) must keep all the versions of data. – not required: (a) can abandon the original blockchains after copying metadata to prove the data exist. (b) can overwrite data.
Blockchain Application
Database Middleware
Blockchain Application Middleware
(a) A blockchain stores data. (b) An external database stores data.
In other words, Logs are required.
8 / 10
– Not rely on the original blockchain’s middleware to still be running and accessible online. – Truncating allows us to stop trusting the original blockchain after the expiration time.
In case verification of state (data) changes is required 9 / 10
10 / 10