如果是固定的验证节点设置,分叉的规律很简单:最长的链胜出。但是,如果验证节点的设置是动态呢?那么,我们需要避免的攻击如下。

假设一条链将1000万ETH作为权益,但是其中有450,000(4.5%)被攻击者控制。现在,假设攻击者开始从某个区块开始维护他们自己的私有链。他们不允许新的验证节点进入他们的链,虽然他们确实包含了转账撤回的选项。

随着时间推移,最后这条链上唯一的权益抵押就只有攻击者,也许会有一些例外。尽管这条链有少了很多的ETH权益抵押,但是看起来却高质量很多,因为区块生产者会在90%的时间出现,但是在主链上的区块生产者很显然是用户,并且会更加经常离线。因此,简单的最长链模型也会进入这类攻击。

为了解决这个问题,我们使用在工作量证明中同样的方法:我们不只是寻找最长的链,而是最长的,困难权重最大的链,在这种情况下,困难度等于在某个时刻权益抵押的ETH数量。

验证节点设置现在可以随意进出,甚至在随着每个区块进行完全地改变。不论这些节点设置发生了什么,经济环境仍然是同样运行,为最有可能获胜的结果创造激励,拥有越多ETH的链会比拥有更少ETH的胜出。

为什么上述案例是相对简单的原因是权益证明的结构会独立地对每个信息进行评估,并且惩罚错误,因此即使参与者的身份每毫秒交换一次,经济模式也不会改变,因为不论他们的历史情况如何,每个人都有相同的激励。以太坊最近的Casper设计,在另一方面,会惩罚这种含糊其辞的情况,也就是说验证节点发送两条互相冲突的信息。

在这个模型中,验证节点设置改变的情况很难处理,因为安全认证是在你假设验证节点设置是不变的,但是实际情况是变化的。

一种可能性是简单粗暴地让节点设置每次只能改变少于1%,因此来保证你可以维持一些程度的安全,只要每33个周期中有1个新的区块可以完成。这实际上是可以的。但是这个方案却不是让人很满意,并且我们可以在更完整分析这个问题后得出更好的结论。

也许有人会本能地想起另一个想法“为了维持可持续性,我们可以等验证节点A来确认验证节点B,然后让验证节点B从那儿开始。”为了想明白这些是怎么运作的,想想以下的算法:

每个区块必须要包含下个区块验证节点的哈希值。

对于将要有效的区块,它必须指出一个有效的母区块,并且证明(例如,有足够多的相同序列号的COMMIT)母区块已经完成。也就是说,每个区块都必须要完成。

这里要注意区块之间发生的共识,也就是说,会有“产生区块1,完成区块1,产生区块2,完成区块2。。。”这样的顺序,不想我们其他的算法,甚至在之前区块共识完成之前新的区块也会在生成。在这种情况下为了出现分叉,就需要在某个区块高度,区块发生分散,所以我们可以使用我们的安全认证方法来展示在这个区块高度的1/3验证节点可以削减。

但是,如果我们尝试将这个应用到“交织共识”模型中,产生新区块和完成旧区块可以同时完成,这也是Casper最新版中的案例,但是有一个挑战。因为并不是100%确定共识会在每一个周期都达成,我们不能简单地让在第N轮的区块成为第N+1轮的验证节点;如果第N轮没有最终完成,那么N轮就会有2个竞争的候选人,你会遇到通过两个不相连的验证节点完成2个有冲突的链。

那么如果我们通过使用第N*50轮来确定地(N+1)*50轮的验证节点,来解决这个问题,并且希望每50轮你总是完成至少一次。但是,这也会有问题:

">
欢迎来到 usdt手机钱包
全国咨询热线:13993524180
新闻中心

以太坊rpcimtoken(以太坊走势)

如果是固定的验证节点设置,分叉的规律很简单:最长的链胜出。但是,如果验证节点的设置是动态呢?那么,我们需要避免的攻击如下。

假设一条链将1000万ETH作为权益,但是其中有450,000(4.5%)被攻击者控制。现在,假设攻击者开始从某个区块开始维护他们自己的私有链。他们不允许新的验证节点进入他们的链,虽然他们确实包含了转账撤回的选项。

随着时间推移,最后这条链上唯一的权益抵押就只有攻击者,也许会有一些例外。尽管这条链有少了很多的ETH权益抵押,但是看起来却高质量很多,因为区块生产者会在90%的时间出现,但是在主链上的区块生产者很显然是用户,并且会更加经常离线。因此,简单的最长链模型也会进入这类攻击。

为了解决这个问题,我们使用在工作量证明中同样的方法:我们不只是寻找最长的链,而是最长的,困难权重最大的链,在这种情况下,困难度等于在某个时刻权益抵押的ETH数量。

验证节点设置现在可以随意进出,甚至在随着每个区块进行完全地改变。不论这些节点设置发生了什么,经济环境仍然是同样运行,为最有可能获胜的结果创造激励,拥有越多ETH的链会比拥有更少ETH的胜出。

为什么上述案例是相对简单的原因是权益证明的结构会独立地对每个信息进行评估,并且惩罚错误,因此即使参与者的身份每毫秒交换一次,经济模式也不会改变,因为不论他们的历史情况如何,每个人都有相同的激励。以太坊最近的Casper设计,在另一方面,会惩罚这种含糊其辞的情况,也就是说验证节点发送两条互相冲突的信息。

在这个模型中,验证节点设置改变的情况很难处理,因为安全认证是在你假设验证节点设置是不变的,但是实际情况是变化的。

一种可能性是简单粗暴地让节点设置每次只能改变少于1%,因此来保证你可以维持一些程度的安全,只要每33个周期中有1个新的区块可以完成。这实际上是可以的。但是这个方案却不是让人很满意,并且我们可以在更完整分析这个问题后得出更好的结论。

也许有人会本能地想起另一个想法“为了维持可持续性,我们可以等验证节点A来确认验证节点B,然后让验证节点B从那儿开始。”为了想明白这些是怎么运作的,想想以下的算法:

每个区块必须要包含下个区块验证节点的哈希值。

对于将要有效的区块,它必须指出一个有效的母区块,并且证明(例如,有足够多的相同序列号的COMMIT)母区块已经完成。也就是说,每个区块都必须要完成。

这里要注意区块之间发生的共识,也就是说,会有“产生区块1,完成区块1,产生区块2,完成区块2。。。”这样的顺序,不想我们其他的算法,甚至在之前区块共识完成之前新的区块也会在生成。在这种情况下为了出现分叉,就需要在某个区块高度,区块发生分散,所以我们可以使用我们的安全认证方法来展示在这个区块高度的1/3验证节点可以削减。

但是,如果我们尝试将这个应用到“交织共识”模型中,产生新区块和完成旧区块可以同时完成,这也是Casper最新版中的案例,但是有一个挑战。因为并不是100%确定共识会在每一个周期都达成,我们不能简单地让在第N轮的区块成为第N+1轮的验证节点;如果第N轮没有最终完成,那么N轮就会有2个竞争的候选人,你会遇到通过两个不相连的验证节点完成2个有冲突的链。

那么如果我们通过使用第N*50轮来确定地(N+1)*50轮的验证节点,来解决这个问题,并且希望每50轮你总是完成至少一次。但是,这也会有问题:

  来源:usdt手机钱包  更新时间:2023-03-21 05:49:03

城市分站
联系我们

地址:建德市长沙路270号

电话:15898087862

传真:13379275307

邮箱:79697408@qq.com

3.4291

Copyright © 2023 Powered by usdt手机钱包   sitemap