初识「零知识」与「证明」


要解释「零知识证明」,我们需要先解释「证明」,然后解释什么是「知识」,最后再解释什么是「零知识」。

zkSNARKs 合约库「输入假名」漏洞致众多零知项目存在安全风险


大量零知识证明项目由于错误地使用了某个 zkSNARKs 合约库,引入「输入假名 (Input Aliasing) 」漏洞,可导致伪造证明、双花、重放等攻击行为发生,且攻击成本极低。众多以太坊社区开源项目受影响,其中包括三大最常用的 zkSNARKs 零知开发库 snarkjs、ethsnarks、ZoKrates,以及近期大热的三个混币(匿名转账)应用 hopper、Heiswap、Miximus。

PoD-Tiny——实现零信任交易的最简协议


zkPoD 是一个全新的实现 ZKCP 目标的方案。目前 zkPoD 已经支持上 GB 的数据,支持低 TPS 公链,也支持高 TPS 联盟链;既支持二进制数据,也支持带有内部丰富类型与结构的表格数据。与传统的「受信第三方」相比,zkPoD 利用区块链来作为一个「Trustless 第三方」,实现了的「零信任公平交易」。本文介绍一个极简的 PoD 协议——PoD-Tiny,这个协议简化了很多问题,并不实用,但是可以帮助读者快速理解 PoD 的原理和面临的挑战。

zkPoD:区块链,零知识证明与形式化验证,实现无中介、零信任的公平交易


所谓「公平交易」是指买卖双⽅在不相识(不互信)的情况下,能够放⼼进⾏交易⽽⽆需担⼼对⽅作弊。如果交易顺利完成,则买家得到商品,同时卖家得到钱款;若协议中途任何⼀⽅退出,或任何⼀⽅作弊,协议都会保证另⼀⽅的利益不会受损。如何利用零知识证明 (ZKP) 与区块链来实现去中介的公平交易协议?

Move语言:我眼中的 Libra 最大亮点


Libra 的一系列发布中,新的编程语言 Move 尤为吸人眼球。第一时间看了 Move 的白皮书,嗯,这也许才是未来智能合约语言该有的样子。