8BTCCI: 11474.96 -0.31% 8BTCVI: 5336.65 +0.29% 24H成交额: ¥4159.91亿 +0.87% 总市值: ¥16151.64亿 -0.01%
解决所有比特币扩容问题?比特币开发者提出利用zk-proof的新扩容方案

解决所有比特币扩容问题?比特币开发者提出利用zk-proof的新扩容方案

kyle 发布在 比特币 40051

本月早些时候,一位比特币开发者提出了一种新的比特币扩容解决方案,这种方案利用了简洁的区块链和零知识加密技术。

QQ截图20181220162538

(图片来源:unsplash

该扩展方案结合了加密货币项目Coda和零知识证明(zk-proof)开发和实施的各个方面,从而支持一种创新类型的比特币客户端。运行此实施的客户端将能够在理论上实时同步和验证整条链,并且无论交易数量如何,数据大小都是恒定的,并且具有几乎即时速度的完全验证安全性。

此外,这个新提议无需对现有的比特币软件进行任何修改就可以实现,如果成功,该解决方案将消除当前比特币社区普遍存在的许多即使不是全部)扩容问题。

 

快速入门

 

比特币扩容之争一个冗长而似乎永无止境的问题。有证据表明,在中本聪推出比特币网络之前,就有人提出了扩容问题。

2008年,当中本聪第一次向密码学邮件列表宣布他的项目时,一个名叫James Donald的加拿大密码朋克第一个发表评论,表达了他对中本聪提出的系统似乎无法扩展的担忧。他的全部评论是:

“我们非常、非常需要这样一个系统,但在我看来,你的提案似乎没有扩展到要求的规模。[…]为了及时发现和拒绝双重支出事件,必须拥有交易中币的大部分过去交易,而这种交易的幼稚实施要求每个对等方拥有大部分过去交易,或者最近发生的大部分过去交易。如果数以亿计的人在做交易,那就需要很大的带宽——每个人都必须知道所有的信息,或者其中很大一部分。”
简而言之,这是今天关于扩容的争论的主要焦点。比特币网络如何能在不损害安全的前提下有效地支持大量用户,以及为网络提供信息的意识形态?当时,中本聪对Donald的回应是:
“早在网络达到如此大的规模之前,用户就可以使用简化的支付验证来检查重复支出,这只需要拥有区块头的链,即每天12kB左右。”
中本聪的回应被广泛引用作为证据,证明他相信链上扩展将是网络的一个可行的解决方案。

然而,尽管中本聪被认为认可了这种链上扩展模式,但社区一直未能就该问题达成共识。这种情况也是导致比特币硬分叉的主要原因之一,硬分叉创造了比特币现金。

链下扩展解决方案需要委托的信任,而链上解决方案需要过多的空间,甚至可能是不可持续的空间。然而,如果有一种替代方案可以有效地扩大比特币网络,而不需要像现在这样改变底层代码,那会怎样呢?

如果有一种方法可以使完全验证区块链状态的过程比委托信任更有效,该怎么办?

 

连接Coda

 

要充分理解这个方案,首先要参考Coda项目。Coda是一个加密货币项目,目的是提供一种区块链,无论处理的交易数量或网络上的用户数量如何,区块链都保持不变。

Coda优先考虑去中心化和可扩展性。由于其区块链的状态较小且恒定,因此支持大量客户端,并且可以在Coda区块链上运行验证节点。这也适用于通常存储容量非常小的移动客户端。

Coda协议声称“将整个区块链压缩成一个只有几条tweet大小的小快照”。该协议通过使用递归的zk-proof来实现这一点。

零知识证明(zk-proof)是一种支持隐私的加密工具,可以从一个输入生成一个输出和证明。这与其他加密函数类似。然而,与其他相比,在zk-proof中,证明以及由函数生成的输出足以验证函数是真实执行的。

之所以用这种方式引用零知识证明,是因为验证者必须不能访问输入来量化函数的执行情况。此外,核证人不需要向执行函数的人提供任何信任,因为这个证明是在函数本身中持有的。zk-proof的这种隐私增强功能使其在加密货币领域非常有价值,特别是对于以隐私为中心的项目。

zk-proof的一个有趣特性是它们可以实现任何函数。这包括验证其他zk函数,甚至验证它们本身。一个可以从自身验证证明的zk回路就是递归zk-proof。

 

即时同步的全验证比特币节点

 

这个由泰勒·史密斯发表的提案大量借鉴了Coda协议。然而,史密斯建议建立一个覆盖协议,该协议运行在实际的比特币区块链之上,并集成了zk回路。

建立一个第二层保护了久经考验的比特币网络的安全,但允许人们“通过zk-proof处理挖掘出的区块,“制作和发布证明,实现比特币的转移规则。”简单地说,二层网络将利用已经在比特币网络上达到最终状态的已认证区块,作为进一步达成共识的基础。”

Smith将其解释为“客户端连接到这个网络,下载并验证最有效的状态哈希,这时已完全同步,并拥有一个经过验证的状态哈希,其完整性已得到验证。需要状态的一部分的客户端可以从网络上的状态保持节点请求它。通过这种方式,这个过程类似于标准的全节点同步。然而,在第二层中,网络中计算的状态将通过递归Zk-proof进行验证。

通过这个实施,客户端能够完全验证整条链状态,因为正如前面所讨论的,在这方面的同步指的是下载和验证整条链。此外,递归Zk-proof是快速的,因此节点在几秒钟内就有了整个状态。为了更好地理解这个提案,可以把它看作是工作量证明(pow)的证明。

这个提案还处于构思阶段。但是,如果开发人员能够生成一个可行的概念验证,并将去中心化和安全性放在优先级之上,那么最终就可能会出现在比特币网络上。

评论(1)
登录 账号发表你的看法,还没有账号?立即免费 注册
  • 向竞争的圈里追 2018-12-20
    只要是安全的,有广泛共识的,不会产生硬分叉的前后兼容的技术升级,都远比矿霸提出的粗暴硬扩容要强![并不简单]