Cointime

扫码下载App
iOS & Android

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

项目方

共识机制(Consensus Mechanism)是区块链事务达成分布式共识的算法。区块链节点共识过程中,所有节点都需要对整个区块进行签名,并将区块数据、节点公钥、签名数据等数据存储在区块中。区块链主要使用数字签名来实现权限控制、识别交易发起者的合法身份,以防止恶意节点冒充。

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

由上可知,在算法层面大量验证信息需要被存储、被处理,那该如何解决区块链网络繁重的验证问题?近期,Web3 基金会的研究员 Syed Hosseini 介绍了完全简洁的 BLS 聚合签名 APK 证明的强大功能和验证示例。下面将为大家翻译整理 Syed Hosseini 报告中的关键内容,感兴趣的开发者可至文末查看所有参考文献的来源链接。

APK 证明技术所解决的问题

在传统的数字签名算法中,如果一个委员会有很多成员,验证者需要知道每个成员的公钥,并收集每个成员在签署过程中的签名信息,但是这样操作的验证成本非常高。

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

SNARKs 技术

首先让我们认识一下 SNARKs 技术,其是一种零知识证明的形式,具有以下关键特点:

  • 零知识:意味着除了特定陈述为真之外,不会透露有关证明者秘密输入的信息。
  • 简洁:意味着证明体积小,可以快速检查。这是一个至关重要的属性,因为它使系统高效且可扩展。
  • 非交互式:这意味着证明由从证明者发送到验证者的单个消息组成,不需要来回交互。这是通过称为 Fiat-Shamir 启发式的过程实现的,该过程将交互式证明转换为非交互式证明。
  • 知识论证:这是一个技术术语,本质上意味着计算上合理的证明,其中计算有界的验证者不能被计算无界的证明者说服错误陈述。

尽管 SNARKs 非常有潜力,但不可忽视的事,其在“可信设置”初始阶段会生成一些必须保密的参数。如果这些参数受到损害,整个系统的安全性就会受到损害。这导致了其他零知识证明系统的发展,如 zk-STARKs,它们不需要可信的设置,但该技术目前尚不成熟,未得到广泛应用。

而 APK 证明的 SNARKs 基于多项式协议和多项式承诺。其将在委员会成员的公共关键点坐标之间定义一组多项式关系。如果证明者能够说服验证者这些关系成立,那么验证者可以确定小组委员会的聚合公钥是正确的。即 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。

以下是利用此类证明设计的区块链轻客户端部分代码示例:

use std::cell::RefCell;use std::collections::HashSet;use ark_bls12_377::{G1Projective, G2Projective}use ark_bw6_761::BW6_761;use ark_ec::AffineRepr;use ark_serialize::CanonicalSerialize;use ark_std::{end_timer, start_timer};use ark_std::test_rng;use fflonk::pcs::kzg::params::{KzgCommitterKey, RawKzgVerifierKey};

示例全文请参阅:

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

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

参考文献

Fully Succinct BLS Signature Aggregation

https://github.com/w3f/apk-proofs

Accountable Light Client Systems for PoS Blockchains

https://eprint.iacr.org/2022/1205.pdf

Zero Knowledge Proofs, SNARKs, STARKs and Bulletproofs

https://medium.com/@alfonsocamblor/zero-knowledge-proofs-snarks-starks-and-bulletproofs-871bdbbafa99

Research Update: APK Proofs By Hand and Sage

https://medium.com/web3foundation/apk-proofs-by-hand-and-sage-3f5feb3fcca4

Accountable light clients From SNARKS

https://docs.google.com/presentation/d/16LlsXWY2Q6_6QGZxkg84evaJqWNk6szX/edit#slide=id.g19944a07c60_0_137

评论

所有评论

推荐阅读

  • 8月3日晚间重要动态一览

    12:00-21:00关键词:特朗普、中本聪雕像、英国 1.特朗普怒斥民主党政治勒索; 2.Michael Saylor发文“冬天不会再回来”; 3.位于瑞士卢加诺的中本聪雕像今日被盗; 4.英国散户投资者10月将可以购买加密货币交易所交易票据; 5.Metaplanet CEO:将提供多种工具来筹集资金购买比特币; 6.以太坊第二大持币机构SharpLink Gaming持仓浮盈超2亿美元。

  • 8月3日午间重要动态一览

    7:00-12:00关键词:LuBian、pump.fun、Michael Saylor 1.比特币矿工近两周减持超3000枚比特币; 2.pump.fun近24小时Solana发币平台市场份额升至32.4%; 3.加密恐慌与贪婪指数跌至53,等级近一个月首次回归“中性”; 4.Michael Saylor:比特币短期是交易资产,长期将是财库资产; 5.“麻吉大哥”黄立成近期做多仓位导致其回吐此前超两千万美元盈利; 6.财新:消息人士称京东、蚂蚁或许很难出现在首批稳定币牌照名单上; 7.LuBian矿池曾于2020年被盗损失12.7万枚BTC,黑客仍掌控资产并成为全球第13大BTC持有者。

  • 8月3日隔夜重要动态一览

    21:00-7:00关键词:cbBTC、Bitmax、巴菲特

  • 库格勒意外辞职或加速特朗普选定下任美联储主席人选

    美联储理事库格勒周五突然宣布辞职,这给美国总统特朗普提供了比预期更早填补美联储空缺的机会,也可能迫使他提前数月敲定下任主席人选。货币政策分析公司LH Meyer经济学家Derek Tang表示,“现在球踢到了特朗普脚下,特朗普一直在向美联储施压,声称要安插自己人。如今机会来了。”由于鲍威尔的主席任期虽于明年5月结束,但其理事任期持续至2028年。若鲍威尔不主动辞去理事职务,特朗普在2028年前将再无机会填补空缺。这种情况下,特朗普可能被迫用拟提拔的主席人选填补库格勒空缺。沃尔夫研究公司美国政策与政治策略主管Tobin Marcus指出:“关键在于这是特朗普唯一可操作的职位空缺。若他想从美联储外部物色下任主席,提名或将提前揭晓。”

  • 8月2日午间重要动态一览

    7:00-12:00关键词:爱泼斯坦案、降息、鲍威尔 1.特朗普称希望公布所有爱泼斯坦案相关文件; 2.最高检聚焦虚拟货币司法处置,六项研究课题同时立项; 3.特朗普扬言“会秒换鲍威尔”,后称其很可能继续留任;; 4.美联储威廉姆斯谈劳动力市场降温 谨慎对待9月降息预期; 5.特朗普媒体科技集团发布Q2财报:金融资产规模达31亿美元; 6.美CFTC宣布启动加密冲刺计划以配合SEC的“Project Crypto”; 7.DeFi教育基金敦促参议院在法案草案中加强对加密货币开发者的保护。

  • DeFi 教育基金敦促参议院在法案草案中加强对加密货币开发者的保护

    加密货币游说团体 DeFi 教育基金在审查了美国参议院银行委员会最近发布的关于一项重要加密货币市场结构法案的讨论稿后,呼吁该委员会重新考虑其监管去中心化金融行业的计划。 该回应由 a16z Crypto、Uniswap Labs 和 Paradigm 等 DeFi 教育基金 (DEF) 成员代表签署,表示《2025 年负责任金融创新法案》 (RFA) 应以更加技术中立的方式制定,加密货币开发者应受到保护,免受“针对中介机构的不适当监管”,并且所有美国人的自我托管权都“至关重要”。

  • 特朗普称希望公布所有爱泼斯坦案相关文件

    美国总统特朗普在接受美国媒体采访时表示,他“希望公布所有与爱泼斯坦案相关的文件”。特朗普称,自己希望公开全部信息,但不希望有人因此受到伤害,或让相关人士受到牵连。特朗普还表示,如果掌握文件的人手中真有什么和他相关的信息,早该在总统选举之前就公布出来。

  • 美联储威廉姆斯谈劳动力市场降温 谨慎对待9月降息预期

    美联储官员、鲍威尔盟友威廉姆斯表示,“过去一年,我所观察到的劳动力市场状况,可以用‘温和而渐进的降温’来形容,但整体仍处于稳健状态。”尽管7月份失业率仅小幅上升至4.2%(6月为4.1%),但相对疲软的非农数据为鲍威尔推动降息共识提供了空间。威廉姆斯指出,5月和6月就业增长数据被大幅向下修正,才是本次报告真正的焦点。 他表示:“这些信息至关重要,有助于我们理解劳动力供需的走向,以及劳动力市场动能的降温趋势。”对于9月是否可能降息,威廉姆斯态度谨慎,未对市场一度高达80%的降息预期予以背书。他表示:“市场参与者面对的挑战,与我们作为政策制定者所面临的是一样的。市场对信号的反应方向,我认为是可以理解的。”威廉姆斯预计,今年美国经济增速将放缓至约1%,但他认为,2026年经济有望回升。

  • | 8月2日隔夜重要动态一览

    21:00-7:00关键词:特朗普、鲍威尔、非农就业数据

  • Web3数据和AI公司Validation Cloud完成1000万美元新一轮融资

    Web3数据和AI公司Validation Cloud宣布从True Global Ventures获得1000万美元融资,该公司计划利用这笔资金扩展其AI产品,实现对Web3数据的无缝访问。 据介绍,该公司的产品平台由三个部分组成:质押、节点API以及数据和AI。在质押方面,Validation Cloud的质押资产已超过10亿美元。Validation Cloud的一些客户包括 Chainlink、Aptos、Consensys、Stellar和Hedera。