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 state的private 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 连接只有第一个起效
RuntimeError:CUDA error:no kernel image is available for execution on the device报错解决(亲测)