一致机制(Consensus Mechanism)是区块链业务达到分布式一致的算法。区块链节点一致进程中,一切节点都需求对整个区块进行签名,并将区块数据、节点公钥、签名数据等数据存储在区块中。区块链主要运用数字签名来完成权限控制、识别买卖发起者的合法身份,以防止歹意节点假充。

而随着区块链技能的开展与广泛运用,签名相关存储数据也会不停增加。区别于传统的运用,理论上区块链上的数据只会不断地增加,海量签名带来了海量数据,给签名验证带来了巨大负担。验签时所需求运用的公钥究竟有多大?不同的签名算法数据也有所不同,一般而言 ECDSA/Schnorr/EdDSA 算法 256 bits、BLS 算法 384 bits,假如有上万公钥在验证时候被需求,那么所需的存储的数据量十分庞大。

一文解读 APK 证明的强大功能与轻客户端实践

由上可知,在算法层面许多验证信息需求被存储、被处理,那该如何处理区块链网络深重的验证问题?近期,Web3 基金会的研究员 Syed Hosseini 介绍了彻底简练的 BLS 聚合签名 APK 证明的强大功用和验证示例。下面将为我们翻译整理 Syed Hosseini 报告中的要害内容,感兴趣的开发者可至文末查看一切参考文献的来源链接。

APK 证明技能所处理的问题

在传统的数字签名算法中,假如一个委员会有许多成员,验证者需求知道每个成员的公钥,并搜集每个成员在签署进程中的签名信息,可是这样操作的验证本钱非常高

APK 验证是由 Web3 基金会研究人员规划和完成的一种协议。它允许验证者在不知道每个成员的单个公钥的情况下,验证由签署委员会的部分成员(如一组验证者调集)签署的事实。这项协议的要害之处在于,它使用了 SNARKs 技能,将验证所需的本钱大大下降。下面将介绍其如何使用 SNARKs 技能和 BLS 聚合签名完成上述功用。

SNARKs 技能

首要让我们认识一下 SNARKs 技能,其是一种零常识证明的形式,具有以下要害特色:

  • 零常识:意味着除了特定陈说为真之外,不会透露有关证明者隐秘输入的信息。

  • 简练:意味着证明体积小,能够快速查看。这是一个至关重要的特色,由于它使体系高效且可扩展。

  • 非交互式:这意味着证明由从证明者发送到验证者的单个消息组成,不需求来回交互。这是经过称为 Fiat-Shamir 启示式的进程完成的,该进程将交互式证明转换为非交互式证明。

  • 常识证明:这是一个技能术语,本质上意味着核算上合理的证明,其间核算有界的验证者不能被核算无界的证明者说服错误陈说。

虽然 SNARKs 非常有潜力,但不可忽视的事,其在“可信设置”初始阶段会生成一些必须保密的参数。假如这些参数遭到危害,整个体系的安全性就会遭到危害。这导致了其他零常识证明体系的开展,如 zk-STARKs,它们不需求可信的设置,但该技能现在尚不成熟,未得到广泛运用。

而 APK 证明的 SNARKs 根据多项式协议和多项式许诺。其将在委员会成员的公共要害点坐标之间定义一组多项式联系。假如证明者能够说服验证者这些联系成立,那么验证者能够确认小组委员会的聚合公钥是正确的。即 APK 证明能够有效地验证多个成员的签名,而无需知道每个成员的详细公钥。

一文解读 APK 证明的强大功能与轻客户端实践

BLS 聚合签名

BLS 聚合签名是 Boneh–Lynn–Shacham 的简称,其最初由斯坦福大学教授 Dan Boneh 等人提出的一种签名计划。BLS 特色在于选用了根据双线性映射的椭圆曲线配对技能,以完成签名的验证与聚合,即 BLS 签名运用配对函数进行验证来节约区块空间。在运转 APK 证明时,并不需求验证 BLS 签名本身,只验证聚合公钥是否确实正确聚合,这只需求在 Einnₑr (BLS 公钥在曲线 Einnₑr 上定义)上增加功用,而且验证者在验证聚合公钥正确之前,永久不需求运用配对功用。

总之,APK 证明使用了一种许诺机制,只需求验证者具有一个固定大小的已验证的公钥调集,就能够经过协议供给的简单的证明,来验证聚合签名的正确性。由此,其极大地简化了验证进程,而且减少了所需的信息交换量。这为构建安全可靠的去中心化运用和体系,供给了愈加高效和可扩展的处理计划。

APK 证明的区块链轻客户端实践

现在,现有区块链上的核算和存储本钱远高于现代手机浏览器中的本钱。因而,遭到手机等设备在核算才能方面存在的限制,许多区块链运用无法得到遍及。现在轻客户端又依赖于全节点去履行许多操作,轻客户端需求发送多个恳求来履行简单的操作,因而所需的整体网络带宽高于全节点的带宽。

此外,对于波卡生态而言,区块链互操作性的一个要害挑战是完成一个具有高效且安全的链上轻客户端协议。现有的协议在验证方面要么缺乏责任制,要么功率低下。如 Cosmos 的选用跨链通讯 IBC 协议,该协议的功率问题成为网桥中运用链上轻客户端验证器的障碍。而 APK 证明凭借高效的验证,为构建安全可靠的去中心化运用和体系,供给了愈加高效和可扩展的处理计划。

责任制的轻客户端体系

Web3 基金会研究员定义规划并完成了第一个责任制的轻客户端体系(accountable light client system),其具有高效验证、安全等优势,且可作为中心模块集成到 SNARKs 友好的 PoS 区块链安全桥中。详细而言,该轻客户端体系将具有以下特色:

- 责任制:该轻客户端体系是负责任的。即假如轻客户端验证器被误导,而且其通讯的记录被供给给网络,那么能够识别到许多行为不端的一致参与者。一方面,当向轻客户端验证器发送最少的数据时,在轻客户端体系上识别行为不端的一致参与者是具有挑战性的。另一方面,识别不妥行为对于任何利益证明协议都是必要的,其安全依赖于识别和惩罚不妥行为的一致参与者。

- 异步安全:即在一致的诚实假设下,该轻客户验证器不会被误导。即使它对网络的视界有限,如其只连接到一个节点,这可能是歹意的。这是其承继了区块链拜占庭协议的异步(asynchronous)安全特性,在异步的网路环境中,确认性质的协议无法容忍任何错误。

- 递加性:即它的简练状态(Succinct State)是渐进更新的。有效的更新与桥接运用程序联系密切,而不是试图优化验证区块链起源的一致决策。

总之,责任制的轻客户端体系在运用 BLS 聚合签名和 SNARKs 技能的区块链之上轻松完成高效验证。作为 Polkadot 生态体系的一部分,现在开发人员正在将该轻客户端整合到 Polkadot 和 Kusama 中的 live Substrate bridge。

以下是使用此类证明规划的区块链轻客户端部分代码示例

一文解读 APK 证明的强大功能与轻客户端实践

示例全文请参阅:

https://github.com/w3f/apk-proofs/blob/main/bw6/examples/recursive.rs

轻客户端将为去中心运用程序的开展、促进加密网络的大范围选用供给要害推动力。如上文所述,APK 以技能创新完成强大的功用,进一步进步轻客户端协议的功率和可靠性,也期待该技能后续更多地运用到去中心化运用之中。OneBlock 将继续关注波卡与 Substrate 生态相关技能更新,希望能够为各位开发者供给一些启示。

此时快讯

【多数DeFi代币在过去一周中上涨】金色财经报道,据CoinDesk市场指数,在比特币和以太币大多停滞不前的一周内,去中心化金融 (DeFi) 中一些鲜为人知的名字公布了两位数的收益。本周的 DeFi 和整体领导者是 Injective Protocol (INJ),这是第 1 层区块链,旨在构建去中心化金融应用程序,包括交易所和借贷协议。INJ 也是今年迄今为止的领先者,自 1 月以来增长了 527%。DeFi 协议 Lido (LDO)、Synapse (SYN) 和 PancakeSwap (CAKE) 也表现强劲,分别上涨 15%、13% 和 12%。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注