Towards Application Portability on Blockchains Kazuyuki Shudo , Reiki - - PowerPoint PPT Presentation

towards application portability on blockchains
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Towards Application Portability

  • n Blockchains

Kazuyuki Shudo, Reiki Kanda, Kenji Saito

IEEE HotICN 2018 August 2018

首藤 一幸, 神田 伶樹, 斉藤 賢爾

Tokyo Tech Tokyo Institute of Technology Keio University 東京工業大学 慶應義塾大学

slide-2
SLIDE 2

Background:

(Public) Blockchain

  • A distributed system

supporting Today’s cryptocurrencies

– Bitcoin’s market capitalization is US$ 110B. – 9,500 Bitcoin nodes

  • A block and transactions

in the block are confirmed by Proof of Work / Stakes / Importance /

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

  • f participating

nodes

= An application-level network

Node (miner)

https://bitnodes.earn.com/ About 9,500 nodes

1 / 10

slide-3
SLIDE 3

Problem:

“Incentive mismatch” / インセンティブ (動機) 不整合

  • Blockchain nodes and applications

do not share common incentive.

Nodes Blockchain applications

Part of icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY.

I want to utilize

blockchain features.

I just want

coins.

  • If a public blockchain cannot provide sufficient

economic incentives …

2 / 10

slide-4
SLIDE 4

Problem:

“Incentive mismatch” / インセンティブ (動機) 不整合

  • If a public blockchain cannot provide sufficient

economic incentives …

– E.g. A fall in coin prices

  • 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/円

I just want

coins.

Node (miner) operator

3 / 10

slide-5
SLIDE 5

Possible solutions

  • 1. Align their incentives ???

– … Non‐trivial and an open problem

  • 2. Make applications portable

– A potential (and next‐best) solution

I want to support applications. Node (miner) operator

  • Our contributions

– (Pointing out “incentive mismatch” problem) – A middleware design that enables application migration between blockchains – Migration process

– Note: Implementation is part of future work.

Middleware design Migration process

4 / 10

slide-6
SLIDE 6

Preparation:

Portability levels

  • 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

Blockchain A Blockchain B Application A Application A Blockchain A Blockchain B Application A Application A

(1) Runnable (2) Migratable

An application can migrate. An application can run on both.

5 / 10

slide-7
SLIDE 7

Preparation:

Data to be migrated

In case of a cryptocurrency: ・Account balance ・Transactions (1) Current state of the application (2) Logs

– 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.

6 / 10

slide-8
SLIDE 8

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.

Blockchain,

that stores a pair of integers with a time stamp

Application

  • Data item

Database Middleware

enabling application migration

  • Index in the database
  • Hashed value of the data item
  • Time stamp

Blockchain,

that stores a blob with a time stamp

Application Middleware

enabling application migration

  • Data item
  • Time stamp

(a) A blockchain stores data. (b) An external database stores data. 7 / 10

slide-9
SLIDE 9

Middleware design (cont’d)

  • 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. (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

  • Data item

Database Middleware

  • Index in the database
  • Hashed value of the data item
  • Time stamp

Blockchain Application Middleware

  • Data item
  • Time stamp

(a) A blockchain stores data. (b) An external database stores data.

In other words, Logs are required.

8 / 10

slide-10
SLIDE 10

Migration process

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.

In case verification of state (data) changes is required 9 / 10

slide-11
SLIDE 11

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

10 / 10