首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果ETH2.0标记节点出现故障,是否会受到惩罚?

如果ETH2.0标记节点出现故障,是否会受到惩罚?
EN

Ethereum用户
提问于 2020-04-01 15:01:33
回答 2查看 3.4K关注 0票数 6

对于桩块链系统的一些证明,如果节点在投注过程中下降,就会受到惩罚。如果ETH2.0签入节点发生故障,会有某种惩罚吗?如果没有的话,如何才能阻止工作人员在他们的节点上、下供电,从而扰乱网络呢?

EN

回答 2

Ethereum用户

发布于 2020-04-02 02:41:29

是的,离线是有惩罚的。在“正常”(非活动泄漏)情况下,验证器每年在离线时损失大约15.8%的股份。离线一个月占1.4%,离线一周占0.3%。

具体来说,未能创建认证的验证者将受到惩罚。当网络无法最终敲定(正如@提到的那样)时,这些处罚就更加严厉了。这些严厉的惩罚也被称为“无活动泄漏”,其目的是(通过减少平衡)快速推出脱机验证器,这样在线验证器就可以构成大多数并恢复最后定稿。

在Eth2中,惩罚的计算并不是直截了当的;除了不活动泄漏之外,惩罚还考虑到验证器的余额和所有验证器的总余额。为了得到15.8%的数字,我使用了从规范Eth2规范的v0.11.1派生的以下脚本:

代码语言:javascript
复制
DEPOSIT_AMOUNT = 32 * 10**9
VALIDATOR_COUNT = 16384
BASE_REWARD_FACTOR = 64
BASE_REWARDS_PER_EPOCH = 4
SECONDS_PER_SLOT = 12
SLOTS_PER_EPOCH = 32
SECONDS_PER_YEAR = 31557600
EPOCHS_PER_YEAR =  SECONDS_PER_YEAR // (SECONDS_PER_SLOT * SLOTS_PER_EPOCH)

def integer_squareroot(n):
    """
    Return the largest integer ``x`` such that ``x**2 <= n``.
    """
    x = n
    y = (x + 1) // 2
    while y < x:
        x = y
        y = (x + n // x) // 2
    return x

def get_base_reward(total_balance, effective_balance):
    return effective_balance * BASE_REWARD_FACTOR // integer_squareroot(total_balance) // BASE_REWARDS_PER_EPOCH

total_balance = DEPOSIT_AMOUNT * VALIDATOR_COUNT
validator_balance = DEPOSIT_AMOUNT

for _ in range(EPOCHS_PER_YEAR):
    penalty = get_base_reward(total_balance, validator_balance) * 3
    validator_balance -= penalty
    total_balance -= penalty

total_penalty = DEPOSIT_AMOUNT - validator_balance

print("Final balance: {}".format(validator_balance))
print("Total penalty: {}".format(total_penalty))
print("Reduction %: {}".format(100 * total_penalty / DEPOSIT_AMOUNT))

此脚本的输出如下:

代码语言:javascript
复制
Final balance: 26935963853
Total penalty: 5064036147
Reduction %: 15.825112959375

这是一个非常粗略的近似(一些因素,如滞后被忽略)和15.8%的数字是非常主观的。在现实世界中,随着现有的验证器获得奖励和新的验证器的加入,total_balance很可能会增加。相反,由于不活动泄漏,总余额可能会减少,罚款也会增加。

虽然你不能相信这个15.8%的惩罚是不变的,但你希望你能对离线惩罚的程度有一个了解。

注意:这些值以前是以3的倍数关闭的,现在已经更新了。我很抱歉。

票数 8
EN

Ethereum用户

发布于 2020-04-01 18:49:30

是的,离线是有惩罚的。引用https://ethos.dev/beacon-chain/的文章:

基本上,如果自终结以来有四个以上的时期,所有验证器都会遭受不活动的惩罚,这种惩罚会二次增加,直到检查点最后确定为止。

您可以在前面的文章中检查一下“时代”是什么意思。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/82067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档