hyperservice interoperability and programmability across
play

HyperService: Interoperability and Programmability Across - PowerPoint PPT Presentation

HyperService: Interoperability and Programmability Across Heterogeneous Blockchains Make Web3.0 Connected! Zhuotao Liu, Yangxi Xiang, Jian Shi, Peng Gao, Haoyu Wang, Xusheng Xiao, Bihan Wen, Yih-Chun Hu Blockchain Proliferation 2.3K Total # of


  1. HyperService: Interoperability and Programmability Across Heterogeneous Blockchains Make Web3.0 Connected! Zhuotao Liu, Yangxi Xiang, Jian Shi, Peng Gao, Haoyu Wang, Xusheng Xiao, Bihan Wen, Yih-Chun Hu

  2. Blockchain Proliferation 2.3K Total # of Projects Listed Smart Contract Platform Payment Network on CoinMarketCap

  3. “Make Blockchains Great” Sharding & Layer-II Channels Blockchain Y Consensus Protocols Privacy & Program Analysis Privacy Blockchain X Security Blockchain Z Scalability Decentralization

  4. Atomic Token Swap Blockchain Y In a world deluged with isolated blockchains, Blockchain X interoperability is power. Blockchain Z

  5. Blockchain interoperability is complete only with programmability … Passive Distributed Ledgers Programmable State Machine Blockchain Y genuinePrice = StrikePrice Blockchain X Blockchain Z StrikePrice = $10

  6. Challenge I: A virtualization layer to abstract away heterogeneity Cross-chain dApps: how to uniformly define operations among heterogeneous contracts and accounts … Consensus Efficiency Transactions Contract Languages & Finality Not-Synchronized Blockchain X Blockchain Y Blockchain Z

  7. Challenge II: Cryptography protocols to realize cross-chain dApps Cross-chain dApps Contain more complex operations than just in the era of Web3.0 token transfers Transaction Graph • Transactions on different Blockchains; • Transactions in specific order; T1 T2 dApp Executables … … • Downstream transactions depend on state T3 T4 resulted from upstream transactions; How to realize transactions via decentralized protocols? T4 T3 T1 T2

  8. Our Proposal — HyperService • A developer-facing programming framework - Universal State Model: a blockchain-neutral model to describe dApps - HyperService Language: a high-level language to program dApps • A blockchain-facing cryptography protocol to realize dApps on-chain - Network Status Blockchain: a decentralized trust anchor - Insurance Smart Contract: a trust-free code arbitrator A universal platform for developing and executing dApps across heterogenous Blockchains

  9. Programming Framework — Universal State Model ℳ = { ℰ , 𝒬 , 𝒟 } = { Entities , Operations , Constraints } Blockchain X Entities: objects extracted from underlying blockchains X::Broker.StrikePrice Entities Attributes account address, balance, unit Y::Option.CashSettle(uint256, wei_value) contract state variables[], interfaces[], source Blockchain Y

  10. Programming Framework — Universal State Model ℳ = { ℰ , 𝒬 , 𝒟 } = { Entities , Operations , Constraints } Operations: computation Blockchain X performed over several entities Operations Attributes X::Broker.StrikePrice payment from, to, value, exchange rate Y::Option.CashSettle(uint256, wei_value) invocation interface, parameters[], invoker An example invocation operation: Blockchain Y Y::Option.CashSettle(10, X::Broker.StrikePrice)

  11. Programming Framework — Universal State Model ℳ = { ℰ , 𝒬 , 𝒟 } = { Entities , Operations , Constraints } Entities: objects extracted Operations: computation Constraints: dependencies from underlying blockchains performed over several entities among operations Entities Attributes Operations Attributes Dependency account address, balance, unit payment from, to, value, exchange rate precondition contract state variables[], interfaces[], source invocation interface, parameters[], invoker deadline

  12. HyperService Language (HSL): A high-level programming language import: include the source code of all contracts defined in the HSL program account & contract: defining entities extracted from underlying blockchains payment & invocation: defining operations among entities before, after & deadline: defining dependencies among operations

  13. Unified Type Solidity Vyper Go Boolean bool bool bool int128, decimal, int, float, Numeric int, unit … … array, Array array, bytes array, slice Programming Framework Core -- HSL Program Compilation bytes Extract state variables and interfaces Read and parse HSL programs from imported contracts Unify different Extract {E, O, D} from contract languages HSL program • Compatibility: type check • Verifiability: state variables • Feasibility: no dep-loop HSL program executables

  14. Transaction Dependency Graph (TDG) — HSL Program Executables • Resulting state of T1 is used subsequently • A state proof needs to be collected after T1 is finalized. • Each vertex defines: - Full information for computing a blockchain- executable transaction - Metadata to ensure correct execution • Edges define the transaction order

  15. HyperService Architecture Developer-facing Programming Framework Transaction Dependency Graph T1 T2 … … T4 T3 Universal Inter-Blockchain Protocol T4 T3 T1 T2

  16. Universal Inter-Blockchain Protocol (UIP) Overview • A protocol spoken by all parties to co-execute cross-chain dApps • Fully decentralized: no authorities and no mutual trust among parties • Provable security properties - Correctness assurance, financial atomicity, and accountability • Network Status Blockchain: a decentralized trust anchor • Insurance Smart Contract: a trust-free code arbitrator

  17. UIP Security Properties TDG is realized Financial • dApp execution either finishes correctly or being financially reverted as desired Atomicity • Regardless of at which stage the execution fails, the misbehaved Accountability parties are held accountable for the failure • If blockchains are modeled with bounded transaction finality latency, Correctness Guarantee dApps are guaranteed to finish correctly if all parties are honest Security properties of dApps executed by UIP (Proved in UC-Framework)

  18. • Consolidate transactions and state from underlying blockchains • Provide unified representations for transaction status and state in form of verifiable Merkle proofs NSB Design Status Merkle Tree NSB: Provide unified and objective views on the status of dApp executions Action Merkle Tree • Proof of Actions (PoAs): allow parties to construct proofs to certify their actions taken during executions

  19. Insurance Smart Contract (ISC) Merkle Proofs Blockchain X The NSB if CorrectExecution: … … … … TxRoot: Rx StateRoot: Ry StatusRoot Pay service fee else: Blockchain X Revert effective fund Value A Enforce accountability BlockID: 2019 TxHash: 0x3… StateRoot: Ry Value B TxRoot: Rx Decision Logic

  20. Implementation and Source Code Release • Incorporate Ethereum and a permissioned blockchain built on Tendermint - Different consensus efficiency and transaction finality definition - Different contract languages: Solidity VS. Go 35K • Three categories of cross-chain dApps - Financial derivative, asset movement and federated computing Lines of Code • Released source code: https://github.com/HyperService-Consortium

  21. Demo: End-to-end executions on HyperService 1. Invoke E::Broker.ComputeStrikePrice() 2. Invoke T::Option.cash_settle(E::Broker.StrikePrice) 3. Invoke E::Option.CashSettle(E::Broker.StrikePrice) HyperService Broker Contract Option Contract Option Contract Tendermint based blockchain Ethereum

  22. HSL complication and The execution of each transaction goes through multiple stages TDG generation

  23. HyperService: A universal platform for developing and executing dApps across heterogenous Blockchains Q & A Thank You hyperservice.team@gmail.com

Recommend


More recommend