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