towards application portability on blockchains
play

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 , ,


  1. 東京工業大学 慶應義塾大学 IEEE HotICN 2018 August 2018 Towards Application Portability on Blockchains Kazuyuki Shudo , Reiki Kanda, Kenji Saito Tokyo Institute of Technology Keio University 首藤 一幸 , 神田 伶樹 , 斉藤 賢爾 Tokyo Tech

  2. About 9,500 nodes https://bitnodes.earn.com/ 1 / 10 Background: (Public) Blockchain • A distributed system supporting Today’s cryptocurrencies A peer-to-peer (P2P) network – Bitcoin’s market of participating capitalization is US$ 110B. nodes Node (miner) = An application-level – 9,500 Bitcoin nodes network A hash chain of blocks • A block and transactions Block Block in the block are Hash value Hash value confirmed by Proof of A crypto- graphic TX TX TX TX TX TX Work / Stakes / Importance / hash function Elapsed Time / … algorithms. – A winning node (miner) takes some new coins .

  3. 2 / 10 Problem: “Incentive mismatch” / インセンティブ ( 動機 ) 不整合 • Blockchain nodes and applications do not share common incentive. I want to utilize Blockchain blockchain applications features . ≠ I just want Nodes coins . • If a public blockchain cannot provide sufficient economic incentives … Part of icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY.

  4. 3 / 10 Problem: “Incentive mismatch” / インセンティブ ( 動機 ) 不整合 • If a public blockchain cannot provide sufficient economic incentives … I just want – E.g. A fall in coin prices coins . Node (miner) operator • It loses the ability to confirm transactions securely. – Fewer supporting nodes ‐ > Vulnerable to attacks • Majority (51%) attack, eclipse attack, … • In May 2018, such attacks succeeded in a row. – Bitcoin Gold: 388,200 BTG = US$ 18,600,000 = 20 億 JPY/ 円 – Monacoin: 23,832 MONA = US$ 93,500 = 1,000 万 JPY/ 円

  5. 4 / 10 Possible solutions I want to support applications. 1. Align their incentives ??? Node (miner) operator – … Non ‐ trivial and an open problem 2. Make applications portable Middleware design – A potential (and next ‐ best) solution •Our contributions Migration process – (Pointing out “incentive mismatch” problem) – A middleware design that enables application migration between blockchains – Migration process – Note: Implementation is part of future work.

  6. 5 / 10 Preparation: Portability levels (1) Runnable (2) Migratable An application can migrate. An application can run on both. Application A Application A Application A Application A Blockchain A Blockchain B Blockchain A Blockchain B • Runnable – 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: • Proof of data existence • Verification of state changes • Migratable – our target

  7. 6 / 10 Preparation: Data to be migrated In case of a cryptocurrency: (1) Current state of the application ・ Account balance (2) Logs ・ Transactions – Metadata of the states that describe state changes and their time stamps. Fundamental blockchain features: ・ Proof of data existence does not require logs. ・ Verification of state changes requires logs.

  8. 7 / 10 Middleware design • Design principles – Minimize dependence on specific blockchain middleware • It stores simple data items, such as numbers or byte sequences, together with time stamps. – Do not expect to be able to retain trust in the original (source) blockchain • We cannot continue to rely on it in case of imminent collapse of it. (a) A blockchain stores data. (b) An external database stores data. Application Application Middleware Middleware enabling application migration enabling application migration - Index in the database - Data item - Hashed value of the data item - Data item - Time stamp - Time stamp Blockchain, Blockchain, Database that stores a pair of integers that stores a blob with a time stamp with a time stamp

  9. 8 / 10 Middleware design (cont’d) (a) A blockchain stores data. (b) An external database stores data. Application Application Middleware Middleware - Index in the database - Data item - Data item - Hashed value of the data item - Time stamp - Time stamp Blockchain Database Blockchain • Pros and cons – (b) reduces the blockchain size, Instead, the database should be fault ‐ tolerant. Replication or erasure coding work. • If verification of state (data) changes is – required: (a) must keep the original blockchains. In other words, (b) must keep all the versions of data. Logs are required. – not required: (a) can abandon the original blockchains after copying metadata to prove the data exist. (b) can overwrite data.

  10. 9 / 10 Migration process In case verification of state (data) changes is required The middleware • stores a static copy of the original blockchain, truncating it at the expiration time specified in block height . – 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. • makes a chain of the stored blockchains. It prevents tampering. • accesses the stored blockchain. It requires a parsing library.

  11. 10 / 10 Summary • “Incentive mismatch” problem pointed out • Middleware design enabling application migration presented • Migration process provided • Future work – Proof of the design by implementation – Incentive ‐ matched blockchain – Interoperability between heterogeneous blockchains Tokyo Tech

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend