Private Execution on Blockchain

Posted mutourend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Private Execution on Blockchain相关的知识,希望对你有一定的参考价值。

1.Alan Szepieniec: Ghost-Queen Chess——复杂金融合约

Alan Szepieniec为Neptune合伙人。

为何需关注decentralized Finance?

  • 1)从学术角度来看:是 密码学 ∩ \\cap 分布式系统 ∩ \\cap 经济学 ∩ \\cap …的集合。
  • 2)从工程角度来看:接受挑战;开发产品。
  • 3)从经济角度来看:用11年,实现了0~1T USD的工业领域。
  • 4)从哲学角度来看:
    • 4.1)金融协议倾向于最不讨厌的国家
    • 4.2)互联网是世界上的最不讨厌的国家
    • 4.3)但是:互联网没有判决机制:
      • DeFi具有判决机制(无暴力,目前也无隐私)

ghost-queen chess是一个有趣的游戏,是很好的比喻。
使用ghost-queen chess来展示智能合约设计的4个维度:

  • 分布式共识
  • 隐私(本文重点只关注隐私属性)
  • 节点
  • 时间


ghost-queen chess的游戏规则为:

  • 为国际象棋
  • 但是对手的queen是不可见的
  • move looks valid ⇒ \\Rightarrow is valid
  • moves proved correct with ZK$

当前的状态为:

  • state:definite ↦ \\mapsto distribution
  • 当前还没有可用的engines
  • 无法played without ZK

而ghost-queen chess游戏,可作为区块链:

  • 说明性用例
  • 非常适于复杂的金融合约——存在某些不适于公开的秘密信息
  • 作为智能合约设计多个维度分析的运行示例

智能合约隐私设计主要分为以下3个方面:

  • 1)state状态隐私:如棋面布局
  • 2)logic逻辑隐私:如game rules游戏规则
  • 3)updates更新隐私:如moves走棋

1)如何存储状态:

  • 链下存储原始数据,链上存储相应的承诺:在链上存储原始数据将牺牲隐私性。

2)如何验证更新:

3)如何处理异步更新:

2. Henry de Valence: State Models for Private Execution with Public Shared State

Henry de Valence为Penumbra创始人,其认为 accountable auditable real-time verifiable shared state 是区块链的最大创新,核心问题在于如何拥有这样的accountable auditable real-time verifiable shared state的情况下,实现private interaction。

区块链为未来的协作技术,但是复杂协作需要对信息进行控制,我们需要隐私协作,但目前还没有。

区块链解决了状态公开分享(public shared state)的问题。
但是,如何来解决与public shared stateprivate interaction
最大的挑战在于:state model

  • 1)transparent blockchains采用mutable state
  • 2)shielded blockchains需要composable state

    使得state transition可为private的:

    仅当no shared state时,可将execution由链上移到了链下

如何来恢复late binding
当前有early binding,希望有late binding

为此,需要由更好的concurrency model for shared state
采用message passing来替代locking,来解决并发问题:
penumbra的private state采用sealed-input batch swaps

同时Penumbra采用message passing来实现async zk execution

Penumbra链采用actor model

  • 交易pass messages给合约
  • 每个合约执行once per block,on all messages,支持batch processing
  • user state executes async, off-chain, in zk
  • unlocks scalability and privacy!

3. Binyi Chen: VERI-ZEXE - Decentralized Private Computation with Universal Setup

Binyi Chen为Espresso systems首席密码学家。
支持智能合约的传统链为:

支持智能合约的传统链存在:

  • 隐私问题:状态、程序(状态变更规则),以及交易(state transition状态变更)都是public的
  • 扩容问题:Validtors需重新执行区块内的交易

如何支持隐私合约+公开可验证性?

  • 1)ZEXE:

  • 2)VERI-ZEXE:

3.1 ZEXE

ZEXE基本概念有:

  • Records:为basic unit of data
  • Transaction:state transition
  • 交易有效性及隐私:
  • 交易生成:

3.2 VERI-ZEXE



性能对比为:

VERI-ZEXE总结为:

3.3 VERI-ZEXE开放性问题

  • 1)与以太坊集成:
    • 交易在以太坊合约中验证
    • 移除了2-chain curves,使用Plonky2作为inner proofs
  • 2)Outer proof delegation:
    • 外包给server生成outer proof不会泄露用户隐私
  • 3)并发性:
    • 支持用户并发访问和更新合约状态(如,AMM)
    • 可能的方向:将VERI-ZEXE与PESCA结合

4. Wei Dai: Pesca - A Privacy-Enhancing Smart-Contract Architecture

Wei Dai为Bain Capital Crypto研究伙伴。

4.1 ZK计算的限制:no trustless privacy on shared state

Zero-knowledge execution does not provide privacy for shared state applications:

  • “ZK Uniswap”无法提供隐私性:

区块链为公开状态机:

ZK State Updates(Zexe/Aleo/Mina zkApps)为:

但是,ZK Updates会引起竞态条件(race conditions):



最好的链上和链下世界:

4.2 如何借助threshold FHE实现隐私链上计算?

Fully Homomorphic Encryption(FHE,全同态加密)可解决该问题。





针对问题1:如何处理dynamic validator set维护[dk…]?

针对问题2:如何在共识层插入threshold decryption?

链上隐私:

4.3 如何对状态机编程实现隐私计算?








参考资料

[1] 2022年11月18日 Private Execution on Blockchain

以上是关于Private Execution on Blockchain的主要内容,如果未能解决你的问题,请参考以下文章

GPUno kernel image is available for execution on the device

GPUno kernel image is available for execution on the device

GPUno kernel image is available for execution on the device

springboot aop 多个 execution 连接只有第一个起效

用 Bloc 实现简单的 rxDart 没有得到结果

RuntimeError:CUDA error:no kernel image is available for execution on the device报错解决(亲测)