论文来源:NDSS ’23
论文名称:Cryptographic Oracle-based Conditional Payments
论文链接:https://eprint.iacr.org/2022/499.pdf
本文来源: COMPASS Lab
这篇文章抽象出了一种区块链应用的常用场景,命名为基于预言机的条件支付 (i.e., oracle-based condition, ObC),并给出了利用密码学的构造,其支持在多个预言机之间形成了分布式信任而无需协调或同步。ObC 支付在许多实际应用场景中都有其用途,比如金融仲裁、保险索赔、供应链管理等。为了实现上述的 ObC 支付要求,文章还提出了一个新的密码学原语:verifiable witness encryption based on threshold signature (VweTS), 并给出了相关的构造和证明。
在上述文章所考虑的 ObC 问题中,包含 A, B 两个互不信任的双方,他们想要在区块链上实现基于某个现实事件的结果而进行支付转账。同时,由于区块链的确定性的执行,其与现实世界是封闭的,因此需要预言机为这类场景提供链外数据。
假设 A 要给 B 进行一次转账 (m), 条件是现实中某件事情的发生(预言机发送一个信息 m’)。 首先, A 需要在 A, B 的共同账户中存入一定数量的资金为了后面转账的顺利进行。 为了使得这次转账成功完成,B 还需要 A 在这个交易上的正确签名,但是现在有2个看似对立的冲突:
• 在得到预言机的信息 m’ 之前, A 不希望把签好的交易发送给 B, 防止 B 在真实事件未发生时获得了这次的转账资金;
• 由于 A 可能是恶意的,在得到预言机的信息 m’ 之后, B 可能并不能得到 A 签好的交易,或者得到一个错误的签名。
因此,设计出的 ObC 协议应该满足以下2个要求:1). 可验证性, 如果预言机证明了某件事情的发生(m’), 则 B 一定可以得到 A 的正确签名。2). 单方向性 (one-wayness)。如果没有预言机的证明,则 B 一定不能得到 A 的签名。同时,为了满足分步式的特性,并且解决,协议还应满足一个额外的要求: 允许 A, B 一起设定一个阈值, 在达到此阈值的预言机都证明之后,此交易才能正常进行,从而避免了需要信任唯一一个预言机所带来的安全隐患。
使用见证加密 (witness encryption) 协议可以大致完成这一要求。假设有两个签名协议, DS, DS’ 分别用于 A 和预言机签名,假设 A 的密钥对为 (sk, vk), 预言机的密钥对为 (sk’, vk’)。假设 A 给 B 转账的信息为 m, 预言机证明的信息为 m’。
首先,A 使用 DS 协议对转账信息 m 进行签名,假设签名为 q,其再使用一个加密函数对签名 q 进行加密,其中这个密文可以使用一个对 (vk’, m’) 的正确签名 q’ 进行解密。这个使用的加密步骤可以通过使用见证加密协议完成,其中要签名的信息设置为 q。然而,如果使用通用的见证加密协议,他的效率会非常慢。
为了使其效率增快,作者使用到了一个观察:我们可以将 Boneh-Franklin (BF) 身份加密技术看作一个对某种特定语言的见证加密方案。同时,我们需要再为后面解密时所需要的签名选择一个对应的方案。由于在 BF 方案中,其为对应某一个 id 的用户的秘文进行解密所需要的密钥为 H(id)^s, 其中 s 为主密钥,这一构造与 BLS 加密方案的秘文构造是一样的。基于这一观察,作者摒弃了使用一般的见证加密方案,转而使用 BF 加密和 BLS 签名方案一起构造了一个使用的见证加密,并用于其最终的 ObC 构造中。除此之外,整个 ObC 的构造还需要满足可验证性的要求,作者使用了 cut-and-choose 的技术来满足,读者可以参考原文叙述。
综合以上各种技术,整个协议的运行大致可以分为以下4个阶段。1). 首先 A 对相应的交易进行签名,然后使用见证加密技术对签名进行加密,并把秘文结果发送给 B; 2). B 对收到的秘文进行验证;3). 预言机对链外事件结果 m’ 进行签名并发送给 B;4). B 使用收到的签名对秘文进行解密从而获得正确的签名。
文章对提出的协议进行了性能测试,测试结果在 128 比特安全参数下,对不同可能的结果数以及不同的阈值进行了性能测试,测试结果如下。结果显示,此协议即使在 4/7 阈值以及 1024 种不同的显示世界可能结果下,其计算开销在 25 秒以内,通讯开销小于 2.3 MB。
同时,与现有的基于智能合约的方案相比,其具有以下优点:。首先,它不限于一组特定的货币 (智能合约只能在支持图灵完备的系统下使用),可以与任何支持基本加密操作的区块链一起使用;其次,它更具可扩展性,因为完整的事件结果信息和证明数据不需要存储在区块链上;第三,它不会妨碍可互换性,因为这种基于预言机的支付所涉及的代币与区块链上的其他代币没有区别;最后,它会降低链上成本,因为不需要存储和解释证明数据,从而降低了交易费用或gas fee。
分享仅供学习参考,若有不当,请联系我们处理。
原文始发于微信公众号(隐私计算研习社):论文分享|基于预言机的条件支付(NDSS 2023)