Vitalik Buterin试图利用SNARK解决第二层扩展方案中的问题
金色财经9月25日消息 大多数第2层扩展解决方案都带有一些不太理想的假设。SNARK可以提供帮助,但它们还有其他一些问题。Vitalik Buterin认为他有办法绕过他们。
上周,以太坊核心开发人员Afri Schoedon表示,以太坊处于最大容量,Dapp开发人员应该建立在其他链上。Vitalik Buterin不同意这一观点,认为大多数Dapps并不是针对gas优化的,而且行业内的竞争将“推出”次优Dapps。他还强调了第2层解决方案的重要性和前景,并在Ethresear.ch上发布了一个潜在的利用SNARK的扩展解决方案来支持他的观点。
他的建议试图解决与现有第二层扩展方案相关的一些主要挑战。
以太坊上的许多第2层扩展解决方案都带有活跃性假设,这是Buterin的SNARK利用策略试图解决的第一个问题。
在分布式系统(例如区块链)中,活动是指最终共识的确定性。换句话说,如果区块链网络中的所有节点最终达成共识,那么您可以说您已经保证了活跃度。以以太坊为例。如果在大约相同的时间创建两个或更多块,该怎么办?必须有一种方法来决定哪个块是“真正的”区块。如果没有,那么活力将无法得到保证。通过既定的工作证明共识机制,可以合理地保证活跃度。
然而,第二层解决方案有不同的共识机制,现有的保证活力的结构无法维持,因为它们依赖于交易方的在线参与。这个问题根源于共识机制,这些机制各不相同,但通常都是权威证明(PoA),或者是一些实际的拜占庭容错(PBFT)算法的某些变体,这些算法要求交易各方在不同的时间点上监视不良行为和/或“停止”交易。这些达成共识的策略意味着不能保证活跃度。
在9月22日星期六,在ethresear.ch上,Buterin发布了一个潜在的链上扩展解决方案,每秒可处理500次交易。该概念是利用zk-SNARK来实现块有效度的确定性。zk-SNARK是一个简洁的零知识证明。这里的“零知识”意味着这是一种人在不必揭示价值或者他们如何知道价值的情况下证明价值真实性的方式。“简洁”部分仅仅意味着证明非常短,最多只有几百个字节。
这并不是第一次有人建议在第2层使用zk-SNARKS代码。就在上周,ETHNews报道了一项正在进行的项目,该项目旨在制造一种zk-SNARKS验证的等离子体链,而这也不是第一次。但Vitalik的解决方案并不是简单地重复现有项目。在他的框架下,必须有两种类型的用户:交易方和中继方。交易方就是他们听起来像是相互交易的个人或实体。中继方是这样一种人,他获取所有这些事务,记录它们,然后将它们发送到要挖掘的主链。在这种情况下,中继方获取这些事务,合并它们,并创建zk-SNARK。然后,中继方将SNARK提交给要在那里开采的主链。通过使用zk- spuks,中继者不可能说谎。这意味着交易方不必一直在线监视不良行为。
这个基本的系统并不是全新的;上面提到的zk-SNARK等离子体链也有交易方和编译那些事务的一方,制作一个SNARK,然后把它传递给主链,但具体情况不同。
首先,它显然消除了SNARK的一个主要挑战。问题是,与SNARKS是不可能撒谎索赔的真实性的,但有可能遗漏必要的数据。这被称为“数据可用性问题”。例如,通过SNARK验证的等离子链,运营商(在Buterin的框架中最类似于中继器)将SNARK验证的块提交给主链。但是,这些块可能缺少EDCC(即智能合约)与块交互所必需的信息。Buterin表示,“这种机制可以避免这种担忧,因为更新梅克尔帕特里夏树(Merkle Patricia Tree)所需的所有数据都在链上。”
简而言之,Buterin的提议比典型的等离子解决方案更好,因为它不需要人们在线,也比现有的SNARK等离子解决方案更好,因为它不会面临数据可用性问题。
但这并不完美,一个主要的挑战是减少证明时间。正如许多评论者指出的那样,生成证明需要很长时间。Buterin同意这些担忧,但他乐观地认为这个问题很快就会解决,同时这仍然是一个可行的机制:
“在这一点上,大家都知道优化SNARK/STARK provers证明非常重要,所以我相信随着时间的推移,会有越来越多的软件工程工作投入其中。”
“同意证明生成时间需要足够快,这可能是限制因素!”但如果这成为一个问题,那么整个链仍然可以达到500 tx/sec与多个交易批处理小工具并行运行。”
文章编译自:ethnews.com