
让我们用非技术语言告诉你,零知识证明如何改变区块链
撰文:Ronald Mannak,区块链创业公司 Starling Protocol 联合创始人兼 CEO
编译:卢江飞
关于零知识证明(ZKP)的技术类博客文章很多,最近我也写了一篇文章,比较各种新的通用目的的 zk-SNARK。我发现,关于零知识证明的用例,很少有用非技术语言表述的文章。事实上,零知识证明不仅可用在隐私方面,还有许多其他用途。它功能如此丰富,甚至有可能重新定义区块链的运作方式。
精简区块链,从 GB 压缩到 KB
区块链的区块可能会很大,而且其大小在不断增长。这源于其最初的设计。我们也渐渐接受了这个现实。但是,Coda 项目最近发布的测试网却不同。
首先,Coda 的区块链是固定大小的,且不会增长;其次,它只有 22KB!即便是上世纪 80 年代的 8 位机家用电脑 Commodore 64 或 ZX Spectrum,也能把它塞进去。而且,与传统的区块链相比,Coda 的安全性差不多,甚至更高。
类似但功能更多的「精简区块链」项目越来越多,比如 Mir 和 Starling(我本人也参与了 Starling 项目)。
这到底是如何做到的呢?
只要尝试部署过一个区块链节点,你就会知道这个过程有多痛苦:同步一个节点需要好几个小时、甚至数天时间。区块链如此之大,以至于大多数的家用计算设备的磁盘空间和带宽都达不到基本要求。结果就是中心化。即便像以太坊这样广受欢迎的区块链,其节点数量也就 10,000 个,大多数都托管在亚马逊 AWS 上,由少数几个实体所拥有。区块链并不像许多人以为的那么去中心。
为什么同步一个区块链要这么长时间呢?主要有两个原因:
第一个原因很明显:下载几百 GB 或更多数据需要很长时间;
第二,下载完之后区块链要完成验证,因为恶意节点可能会向你发送不正确的数据。
若要验证一个区块链,必须从创世区块开始重放(replay)整条链:执行第一个交易,并确保计算出的状态等于下载得到的状态。然后转到下一个交易,直到你把区块链的所有交易都查一遍。这不仅耗时,也浪费资源。在你之前,成千上万的节点做着完全相同的计算工作。
为什么要这么做呢?因为在传统计算学里,要知道一个计算是否正确的执行,唯一办法就是重做一次这个计算。如果小规模的计算,那就还好,但像重放一条区块链这种「慢运算」(slow calculation),情况就完全不同了。
可提高效率和带宽的零知识证明
事实上,有一种方法可以低成本地验证一个计算结果,而又无需重做该计算,那就是零知识证明(ZKP),其中最著名的可能要数 zk-SNARK。
它是如何工作的呢?我们需要将区块链的重放函数改写为一个 zk-SNARK。这个 zk-SNARK 将输出两个东西:原初的输出(就跟原来的重放函数一样); 一个很小的数学「证明」,证明这个结果计算正确。这个「证明」可以小到只有 200 字节(没错,还不到 1KB)。
这样一来,我们就不需要所有(或是多台)计算机跑一遍重放函数了。由一台计算机去创建这个「证明」,其他不限数量的计算机可以在它们认为合适的时间再进行验证。无论原初的计算要花费多长时间(即使是几小时、几天、甚至几年都没有关系),验证却只需几毫秒即可搞定。这个「证明」可以通过线上分发,也可以存储在 U 盘里,甚至可以印在 T 恤上。
如果有恶意节点更改了某个交易的余额,那么这个「证明」就会和结果不同,所有验证者都会拒绝这个状态。如果有恶意节点更改了 zk-SNARK 代码,结果也会被拒绝。(有一个「第三参数」、一个公开共享的字符串,会把这个「证明」绑到这个 zk-SNARK 代码。如果代码被修改,那么这个「证明」和共享的字符串将不匹配,于是验证者就会拒绝该结果。)
我们不再需要重做昂贵的计算,也不需要下载区块链(因为我们已经有了关于该区块链存在且有效的数学证明)。你需要的,只是当前状态(比如最后一个区块),加上能够证明当前状态是一个有效区块链的一部分的少量「证明」,再花费几毫秒验证一下结果。
递归性的组合
验证一个「证明」的速度很快,但创建这个「证明」怎样呢?其实时间不固定,与传统计算相比,在计算和和内存方面它的效率要低不少。实际上,虽然一个重放函数的 zk-SNARK 版本听起来不错,但在实践中这个解决方案并不好。和以往的非 zk-SNARK 的重放函数相比,它需要更大的内存,速度甚至更慢。
不过,还有另一个优雅的方案。我们发现,用一点点小技巧,其实可以使用递归性 zk-SNARKs 。有了递归,我们就不必从头开始验证这个区块链,可以在前一个状态的基础上来构建。速度会快得多。
需要注意的是,递归性 zk-SNARK 的效率依然不如非递归的 zk-SNARK ,不过,最近 zk-SNARK 的构造取得了长足的进步。
一个递归性的 zk-SNARK 程序,会用属于「前一个状态」(previous state)的「证明」和新的交易作为输入。它会(用已被提供的证明)验证前一个状态,并检查新状态中的交易是否有效。如果没问题,它会输出新的状态和一个「证明」。
一旦新的状态和「证明」被分发到网络中,所有节点可以直接丢弃先前的状态,这么做不会有任何负面影响。新的节点只需要下载最新的状态和「证明」即可。这也就是Coda、Mir 和 Starling 这些项目可以实现小的、大小固定的区块的秘诀。
在上面说的这个例子里,只需要一个节点来创建新的区块和「证明」。显然,我们没必要让同一个节点来生成所有的区块。举个例子,可以从许多节点中随机选择一个节点(用「可验证随机函数」,众多节点甚至可以随机自我选择而不会有欺骗行为)。我们甚至可以做得更好:将区块的生成逻辑分为多个 zk-SNARK。
最终结果就是:区块生产者不需要完整的区块链,它只需要前一个状态。这会让区块大小降到多少呢?一个常规的 Coda 节点仅需要 22 KB 即可存储「证明」、当前状态以及某个账户余额的 Merkle 路径。只需要 22KB,一个节点就能验证整个区块链、查询余额并创建交易。但是,如果要生成区块,这个节点需要更多:它需要先前状态的全部余额的 Merkle 树。而 Merkle 树的大小取决于钱包的数量。如果 Coda 拥有和以太坊一样多的钱包,那么,Coda 区块生产者也只需要大约 1 GB 的容量。而以太坊上最小的完整节点是 230 GB(2019 年 12 月的数据)。差距巨大。
利用零知识证明,区块链网络将有更多活跃节点,这就提升了去中心化程度,并让各种程序有更多可能与区块链进行交互,而无需像 Infura 或 Metamask 这样的方案。想想看,99% 的新用户在安装 Metamask 时选择了放弃。所以,这种变化将带来巨大的影响。
来源:链闻
比推快讯
更多 >>- 分析师:历史数据显示 7 月、10 月是比特币表现最稳定的增长月份
- 3A 区块链游戏 Seraph 启动紧急回购应对价格波动,链上地址透明公示
- 恺英网络香港子公司获 SFC 颁发 4 号及 9 号牌照,加速全球化布局
- PUMP 于 Hyperliquid 盘前市场未平仓量已达 1.52 亿美元,资金费率偏空
- Hyperliquid 未平仓合约达 10.6 亿美元,创历史新高
- 多个昨日热门代币出现“钓鱼线”走势,普遍下跌 10%-30%
- 某新建钱包地址买入 11.88 万枚 HYPE,均价 46.27 美元
- Crypto.com 探索在迪拜免税店引入加密货币支付
- 24 小时现货资金流入/流出榜:ETH 净流出 2.53 亿美元,BTC 净流出 2.23 亿美元
- Meta 收购语音初创公司 PlayAI,以增强音频技术
- Letsbonk 创始人:平台网站更新预计下周陆续推出
- 某鲸鱼昨晚 15 倍杠杆做空 ETH,仓位高达 3.7 万枚 ETH,名义价值 1.1 亿美元
- 路华证券拟申请香港虚拟资产交易牌照并引入稳定币支付结算业务
- Bitcoin Treasury Capital:以 500 万瑞典克朗增持 4.4 枚 BTC,当前持仓总量增至 152 枚
- 数据:过去 7 天 USDC 流通量约增加 7 亿枚
- Huma 2.0 存款将于 7 月 13 日开放,单个钱包额度 50 万美元
- RootData:QUAI 将于一周后解锁价值约 184 万美元的代币
- 某 Smart Money 地址清仓 141.7 枚 BTC,持币 1 个月获利 182 万美元
- 男子因 SIM 卡交换盗取 2200 万美元加密货币刑期增加至 12 年
- FTX/Alameda Staking 地址向 Bitgo Custody 转移 18.98 万枚 SOL,价值 3117 万美元
- Binance Alpha 昨日交易量报 4.24 亿美元,BR、KOGE、quq 分列前三
- 华尔街日报:谷歌耗资 24 亿美元获 Windsurf 技术授权并聘用部分员工
- Linea 项目负责人:本月发布的公告将与 TGE 相关
- CoinUp.io 平台币 CP 将于今日 15 点(UTC+8)全面开放交易
- 1inch 团队过去 16 小时疑似再次购买 1181 万枚 1INCH,价值 330 万美元
- “美联储传声筒”提及鲍威尔辞职报道:第一反应是无视它,鲍威尔已做出过坚决表态
- Clanker 已使用 GoPlus 安全代币发行标准 SafeToken Protocol 并获得代币安全认证
- 稳定币基础设施初创公司 Zerohash 计划以近 10 亿美元估值融资 1 亿美元,Interactive Brokers 领投
- 非营利开发组织 Argot 6 小时前出售 1206.6 枚 ETH 换取 361 万美元
- 某巨鲸昨日买入 3490 亿枚 PEPE,累计持仓价值 623 万美元
- 黄仁勋再度减持英伟达 22.5 万股,价值约 3640 万美元
- 某新建地址 2 小时前从 FalconX 提现 16,773 枚 ETH
- OpenAI 30 亿美元收购 Windsurf 失败,后者转投谷歌
- GMX 项目方于 7 小时前卖出 1 万枚 ETH,或以向用户进行资产返还
- 国际清算银行警告:稳定币快速扩张或威胁货币主权
- 某鲸鱼向 Hyperliquid 存入 2050 万 U 以建立一篮子空头仓位
- 某鲸鱼地址沉寂 4 个月后将 1000 枚 BTC 转入 Binance
- 某鲸鱼地址以 3 倍杠杆做空 PUMP,爆仓价 0.00735 美元
- 数据:SharpLink Gaming 在过去 4 小时通过 OTC 和 Coinbase Prime 增持价值 6426 万美元的 ETH
- 加密恐慌指数升至 79,进入极度贪婪区间
- 马斯克辟谣 xAI 寻求融资:传言不实,xAI 资金充足,暂不寻求融资
- 昨日 REX-Osprey SOL 现货 ETF 净流入 1070 万美元
- 某以太坊基金会关联地址过去 24 小时卖出 2,416 枚 ETH
- 两鲸鱼疑似囤积 IP 代币,共买入 741 万美元持仓
- 欧盟向特朗普政府“递橄榄枝” 放弃征收数字税计划
- 美联储古尔斯比警告:最新关税威胁或推迟降息进程
- 美金融局局长回应鲍威尔拟辞职传闻:将是一个正确决定
- 马斯克旗下xAI拟新一轮融资,目标估值飙升至2000亿美元
- 贝莱德以太坊ETF「ETHA」单日流入量超 3 亿美元,创历史新高
- Coinbase 将其 X 账号头像改为胖企鹅主题图片
比推专栏
更多 >>观点
比推热门文章
- 分析师:历史数据显示 7 月、10 月是比特币表现最稳定的增长月份
- 3A 区块链游戏 Seraph 启动紧急回购应对价格波动,链上地址透明公示
- 恺英网络香港子公司获 SFC 颁发 4 号及 9 号牌照,加速全球化布局
- PUMP 于 Hyperliquid 盘前市场未平仓量已达 1.52 亿美元,资金费率偏空
- Hyperliquid 未平仓合约达 10.6 亿美元,创历史新高
- 多个昨日热门代币出现“钓鱼线”走势,普遍下跌 10%-30%
- 某新建钱包地址买入 11.88 万枚 HYPE,均价 46.27 美元
- Crypto.com 探索在迪拜免税店引入加密货币支付
- 24 小时现货资金流入/流出榜:ETH 净流出 2.53 亿美元,BTC 净流出 2.23 亿美元
- Meta 收购语音初创公司 PlayAI,以增强音频技术