paint-brush
比特币将如何支持零知识证明经过@bingventures
516 讀數
516 讀數

比特币将如何支持零知识证明

经过 Kyle Liu@Bing Ventures6m2023/06/20
Read on Terminal Reader

太長; 讀書

零知识证明(“ZKPs”)是一种可以有效用于隐私保护的技术。这是一种数学方法,一方可以通过它向另一方证明给定陈述是真实的,而无需透露有关该陈述的任何其他信息。使用 ZKP,可以对交易数据进行加密,使用户能够更加隐私地进行交易。
featured image - 比特币将如何支持零知识证明
Kyle Liu@Bing Ventures HackerNoon profile picture
0-item


虽然有很多项目致力于使用零知识证明来扩展和改进区块链基础设施或dApp ,但其中大多数都是建立在以太坊上的。相比之下,对将零知识证明应用于比特币网络的可能性的探索要少得多。

然而,从理论上讲,零知识证明在隐私性、可扩展性、安全性和创新空间等方面具有改善比特币网络的巨大潜力。


例如,作为一种去中心化的虚拟货币,比特币使用区块链来存储所有的交易信息。这意味着每个人都可以访问此类信息,从而使网络面临隐私风险。零知识证明(“ZKPs”)是一种可以有效用于隐私保护的技术。它是一种数学方法,通过这种方法,一方(证明者)可以向另一方(验证者)证明给定陈述是真实的,而无需透露有关该陈述的任何其他信息。使用 ZKP,可以对交易数据进行加密,使用户能够在比特币区块链上以更多的隐私进行交易。


此外,比特币网络被认为不适合商业用途,因为由于区块大小有限和网络拥塞问题导致交易速度缓慢。 ZKP 可以帮助扩展网络以解决这个问题,方法是将交易捆绑在一起进行批处理并最小化验证的大小证明。


让我们深入研究这个领域的景观和有待发现的潜力。


资料来源:Bing Ventures


ZkSNARKs 与 ZkSTARKs

ZkSNARKs 和 zkSTARKs 是零知识证明技术的两个突出的振动。两者都允许一方在不泄露任何敏感信息的情况下向另一方证明给定陈述的有效性。但它们在工作方式、性能和可能的使用场景方面有所不同。


ZkSNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) 基于椭圆曲线密码学 (ECC),其中涉及难以求解的复杂数学方程。他们可以在不与证明者或验证者交互的情况下生成极小的证明。 ZkSNARKs 主要用于加密货币和隐私保护。


ZkSTARKs (Zero-Knowledge Scalable Transparent Argument of Knowledge) 是一种新型的零知识证明技术。他们使用一个更简单的数学框架,包括不可逆的加密哈希函数和多项式插值,使它们能够在更大规模上更有效地实施。


资料来源:物质实验室


与 zkSNARKs 不同的是,zkSTARKs 不需要潜在易受攻击的可信设置阶段,从而使它们更加安全。 zkSTARKs 也被认为是抗量子的。

ZkSTARKs 的证明大小比 zkSNARKs 大,但 zkSTARKs 的证明可以由任何人在不访问任何外部参数的情况下验证。此外,它们可以更好地支持并行处理和分布式计算,使它们能够高效地处理复杂的计算任务。这意味着 zkSNARKs 可以用于更广泛的领域,例如物联网。



资料来源:Vitalik



ZkSTARKs 还允许开发者使用更复杂的算法并运行复杂的数学运算,从而为技术升级提供更多可能性。

由于 zkSNARKs 是在 zkSTARKs 之前开发的,因此它们在采用方面处于领先地位。


基于 ZkSNARK 的比特币项目的局限性

以 Zcash 为例。 Zcash 是比特币协议的代码分支。它建立在比特币核心团队现有工作的基础上,以启用使用 zk-SNARKs 对发送者、接收者和金额进行编码的屏蔽交易。


Zcash 是这样工作的。首先,Zcash地址有两种类型,屏蔽的和透明的。透明地址以“t”开头,其行为类似于比特币地址,在区块链上公开地址和余额。以“z”开头的屏蔽地址包括零知识证明提供的隐私增强功能。


其次,当用户在屏蔽地址之间发送加密货币时,将生成一个 zkSNARK 证明,以证明发送方有足够数量的加密货币未花费。该过程涉及复杂的数学和密码运算,包括生成公共参数、计算哈希值和构建算术电路。

虽然生成 zkSNARK 证明需要大量时间和计算能力,但验证 zkSNARK 证明非常快速和简单。验证者只需要检查一笔交易的处理是否符合区块链的共识规则,而无需知道交易的金额、发送方和接收方。


这样,zkSNARKs 的使用帮助 Zcash 实现交易的匿名性和可验证性。


但是,Zcash 对这项技术的使用存在一些限制。首先,与比特币一样,Zcash 使用未花费的交易输出 (UTXO) 来确定哪些交易是可花费的。这意味着交易数据已经产生,但只是对公众保密。通过分析屏蔽地址之间的交易模式和流量,攻击者可以获得可能破坏用户隐私的信息。


其次,Zcash 维护自己的区块链,这使得 Zcash 很难与其他应用程序集成或交互。这限制了 Zcash 的应用,阻碍了它的进一步发展。尽管在实现隐私保护交易方面取得了成功,但 Zcash 的使用率很低。此外,隐私保护交易的成本远高于公开交易,这是 Zcash 使用率低的原因之一,也是它的另一个局限性。



资料来源:Ashish


ZkSTARKs 应用于比特币的实验与展望

zkSTARKs 的特性意味着它们可能是更适合比特币的 ZKP 技术。其中一项前沿实验称为椭圆曲线 STARK 或 EC-STARK。 EC-STARKs 旨在通过使用 STARKs 将椭圆曲线数字签名算法 (ECDSA) 签名的验证转移到链下来提高比特币的可扩展性和安全性。通过用椭圆曲线替换散列函数,EC-STARKS 可以使现有的以太坊可扩展性解决方案与比特币兼容。


你可以为比特币运行链下协议并将证明保存在 STARKs 中。这意味着可以在 STARK 内部模拟比特币,从而允许使用相同的椭圆曲线密钥在基于比特币的代币上构建高度复杂的协议。


简而言之,这项技术不仅可以增加比特币的可扩展性,还可以使比特币区块链自身转变为一个开发者可以创建 dApp 的平台,有可能成为以太坊的竞争对手。它还增强了隐私并减少了存储需求,因为数据可以变成更小的证明。然而,一些挑战包括与现有比特币基础设施的兼容性和对计算资源的需求。



资料来源:Starkware



zkSTARKs 还可以用来证明区块头的有效性,使轻客户端能够即时验证链的最新状态。结合U树XO ,一个为比特币 UTXO 集设计的基于哈希的动态累加器,zKSTARKs 可用于即时同步比特币全节点,而无需下载千兆字节的区块链历史记录。一个块只能通过检查代表整个 UTXO 集和输出状态的 UTreeXO 根哈希来验证。


ZkSTARKs也可以应用于交易验证过程,包括交易序列化、Double-SHA256哈希计算、secp256k1运算等验证过程中的核心操作。他们可以确保流程中的高度安全性和操作可靠性。此外,ZKSTARKs 还可用于验证 Cairo 内置的比特币加速功能。利用 StarkNet 高效的零知识证明系统 Cairo 的内置功能,可以显着提高交易验证过程的效率。



资料来源:Bing Ventures



除了上述之外,zkSTARKs 还有其他潜在的应用。例如,与 Taro 结合,他们可以使 Taro 更具可扩展性,使其能够处理更多交易并支持更大规模的应用程序,从而为 Taro 的多链部署铺平道路,并可能扩展比特币的用例。


同时,通过zkSTARKs将交易历史压缩为单笔交易,有效屏蔽交易数据,可以在比特币区块链上实现保密交易。此外,zkSTARKs 可用于实现 Taro 的原语,通过 TVL 实现资产序列化,实现和验证 Merkle-Sum Sparse Merkle 树(MS-SMT)。这些操作可以有效地增强隐私和安全性。闪电网络等第 2 层解决方案可以利用 zkSTARKs 在不牺牲隐私的情况下更有效地验证比特币交易。



资料来源:Bing Ventures


越来越多的项目开始尝试将零知识证明技术应用于比特币网络中的基础设施和 dApp。一些解决方案有望加速使用该技术来利用比特币区块链的区块空间并提高区块链的隐私性和可扩展性。


但总的来说,大部分活动都在以太坊上进行。比特币与零知识证明技术的交叉点显然缺乏关注。更何况,目前的工程实践还远远落后于学术研究的成果。

我们相信在这个领域需要更多的探索和实验,但这是一个值得我们关注和支持的有前途的方向。


也发布在这里。