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

评论

所有评论

推荐阅读

  • 俄美元首通话 普京称俄目前不可能恢复与乌谈判

    10月10日,俄罗斯总统助理乌沙科夫当地时间10日凌晨介绍了俄美两国领导人通话的有关情况。乌沙科夫表示,普京在通话中详细介绍了俄罗斯为回应乌克兰武装部队实施的恐怖袭击而采取的措施。普京表示,乌克兰方面试图破坏俄罗斯国家杜马选举并对民众实施袭击,导致立即恢复谈判的可能性遭到破坏。普京还指出,乌克兰方面试图阻止俄罗斯军队推进的企图没有任何成功的前景,俄军目前完全掌握战场主动权,并正在持续向前推进。普京强调,由于乌克兰方面的立场,特别是其试图破坏俄杜马选举的行为,目前不可能恢复与乌克兰的谈判。特朗普已指示将普京在通话中传递的信息转达给乌克兰代表团。乌沙科夫称,关于举行普京与特朗普双边会晤的问题,双方目前尚未进行具体讨论。(央视新闻)

  • Telegram 内置 Gram 钱包更名为 Money 并向全体用户开放

    10月9日,Telegram 已将其原仅向部分用户开放的钱包服务“Gram wallet”更名为“Money”,并正式向全平台超过十亿用户全面推出。“Money”是针对 Gram 代币的内置钱包,支持存储、转账以及购买平台礼物与收藏级用户名。 此外,配套交易平台“Walt”提供超过 300 种资产服务,涵盖代币化股票、贵金属、永续合约及理财收益项目。用户可通过“Walt”向“Money”钱包进行即时划转且免收网络手续费。官方同时提示,加密资产投资存在相应风险。

  • Blockchain.com 寻求批准开展预测市场和加密货币衍生品交易

    10月9日,加密资产平台 Blockchain.com 已向美国商品期货交易委员会(CFTC)提交申请,寻求获得指定合约市场(DCM)和期货佣金商(FCM)牌照,以向美国用户提供事件合约(预测市场)及加密货币衍生品交易服务。

  • 贝森特:美国本周可能查扣约 10 亿美元与伊朗相关的加密货币

    美国财政部长贝森特周四在 Newsmax 于华盛顿举办的 NPolicy Summit 上表示,我们本周可能会查扣 10 亿美元的加密货币,并称「我们知道它在哪里,我们正在孤立他们」。贝森特表示,特朗普政府对伊朗的举措已从「极限施压」转为「绝对孤立」,措施包括海上封锁、限制航空出行及切断陆路通道,阿联酋和阿曼正与美方合作,美方也在与巴基斯坦和土耳其合作切断所有进出伊朗的陆路通道。

  • Zcash 开发团队计划于明年 1 月引入抗量子签名以保护公开支付

    隐私加密货币 Zcash(ZEC)开发团队计划于明年 1 月在网络中引入后量子签名操作码,以支持基于哈希的签名技术,从而抵御潜在的量子计算攻击。该方案主要针对透明(公开)支付池,目前约有 70% 的 ZEC 存放于该池中。尽管开发者将 1 月定为目标期限,但具体的网络激活时间尚未最终确定。 该升级旨在防止攻击者利用现有公钥反向推导私钥并伪造支付授权。此外,Zcash 节点验证程序 Zakura 还推出了一项基于私密信息检索(PIR)的钱包工具,允许用户在查询多地址余额时不向服务器泄露地址间的关联性。此前,以太坊研究员 Justin Drake 曾警告人工智能可能加速破解传统加密算法,并呼吁加密货币持有者应对潜在的安全威胁。

  • BTC突破83000美元

    行情显示,BTC突破83000美元,现报83017.3美元,24小时涨幅达到0.66%,行情波动较大,请做好风险控制。

  • 中共中央、国务院:全面实施“人工智能+”行动

    10月9日,中共中央、国务院印发《关于发展新质生产力的意见》。意见提到,全面实施“人工智能+”行动。推进人工智能对传统产业的改造,加快推进智能网联新能源汽车、人工智能手机和电脑、人形机器人等新一代智能终端场景应用。加快人工智能等数智技术创新,突破基础理论和核心技术,强化算力、算法、数据等高效供给。因地制宜、分业施策布局国家人工智能行业应用中试基地和高价值应用场景,大力推动人工智能在各行业应用。构建技术监测、风险预警、应急响应体系,确保人工智能安全、可靠、可控。

  • 美国政府相关钱包近三日向Coinbase Prime存入17733枚BTC及750枚WBTC

    10月9日,据Lookonchain监测,过去三天内,与美国政府相关的钱包已向Coinbase Prime存入了17,733枚BTC(价值14.8亿美元)和750枚WBTC(价值6200万美元)。 根据Arkham的标记数据,这些钱包目前仍持有价值254亿美元的加密资产,其中仅比特币的价值就达253亿美元。

  • ETH跌破2500美元

    行情显示,ETH跌破2500美元,现报2499.87美元,24小时跌幅达到2.55%,行情波动较大,请做好风险控制。

  • 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。