构建 Ergo:Sigma 协议
2020年3月16日

Ergo 的智能合约和 DeFi 功能建立在 Sigma 协议之上——一种强大、灵活的零知识证明类。了解更多关于它们为何如此重要,以及它们如何使 Ergo 在竞争中脱颖而出。
密码学是一个迷人的领域,其中最令人兴奋和引人入胜的概念之一就是零知识证明。简单来说,零知识证明允许某人证明他们知道一个问题的解决方案,而不实际透露解决方案本身。
假设有人在酒吧捡起了一部手机。你可以通过隐藏屏幕、输入解锁代码并向找到它的人展示解锁后的屏幕来证明这是你的。这是零知识证明的一个简单例子:你证明了你拥有这部手机,而没有透露任何敏感信息。
在密码学中,大多数实际问题与秘密相关。最流行的应用在于数字签名,每天有数百万人在全球使用。基本上,这涉及到说:‘这条消息证明我知道与这个公钥相关的私钥——但我不透露私钥本身’。(并非每个数字签名方案都使用零知识证明,但最流行的确实使用。)
Sigma 协议
在数百或甚至数千个零知识协议中,有一个高效且可组合的知识证明协议子类称为 Sigma 协议。这些也被称为广义 Schnorr 证明。Sigma 协议可以以简单的方式表示为数字签名,因此我们可以有效地将其视为区块链上下文中的签名。
那么,Schnorr 签名就是一个简单的 Sigma 协议签名。Schnorr 签名已被 提议作为比特币当前签名的替代方案。(它是最有效的签名方案之一,这就是它对比特币有益的原因。)
然而,还有数十种其他 Sigma 协议。它们的一个伟大之处在于它们是可组合的,使用简单的 AND 和 OR 逻辑。因此,你可以用以下语句请求签名:‘证明我对这个秘密或那个秘密的知识’(这是一个二选一环签名)。或者你可以问,‘证明我对这三个秘密中的任意两个的知识’(一个三选二环签名)。这些只是两个简单的例子;还有许多更多,它们可以复杂得多且更为精密。
Ergo:Sigma + 区块链
当与区块链结合时,这些可组合的证明能够实现一些非常强大的用例。证明的逻辑可以包括基于区块链状态的条件。例如,‘如果截止区块高度已达到,Alice 可以提供一个秘密密钥的知识以进行退款。或者需要 Alice 和 Bob 的环签名来花费硬币。’或者‘如果该账户持有至少 100 ERG,Alice 或 Bob 可以移除超过该金额的资金。’
因此,可以在 Ergo 上构建一些非常有趣和灵活的 DeFi 应用,使用安全、简单和高效的 Sigma 协议。
Share post




















