楼主: jessie68us
347 1

[学习笔记] 【学习笔记】解决“最后一个受托人作恶的问题” 在DPoS随机产生算法中,作恶 ... [推广有奖]

已卖:211份资源

巨擘

0%

还不是VIP/贵宾

-

威望
0
论坛币
249247 个
通用积分
109477.8582
学术水平
777 点
热心指数
852 点
信用等级
771 点
经验
681694 点
帖子
43470
精华
0
在线时间
16373 小时
注册时间
2018-9-1
最后登录
2025-12-9

初级热心勋章 中级热心勋章 高级热心勋章

楼主
jessie68us 发表于 2019-8-25 00:55:21 来自手机 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
解决“最后一个受托人作恶的问题”

在DPoS随机产生算法中,作恶的受托人可以通过故意错过他负责产生的区块来抛弃不想要的随机结果,这是他们唯一可以做的,但是当随机过程的间隔小于1回合(101个区块)时这会是一个潜在的问题,因为作恶的受托人可以预测他将会在哪个间隔中产生哪个区块,进而通过参与游戏确保在那个区块猜中结果并赢得奖励。

我们可以将BLOCK_TICKET_SALE定义为恶意受托人在一个区块内将会买入的所有彩票。

如果出奖的间隔大于101个区块,表示期间至少会有一次洗牌,那么作恶受托人就无法预测他会分配到生产哪个区块。那么他唯一的策略就是进行猜测或是每个区块都参与。如果是用猜的,他的机会就是1/101,而发动攻击的预期报酬就是他输掉的时候的彩票价格,因为下一位受托人会继续取代他并随机出奖。如果是每个回合都参与以达到至少猜中一次的目的,他的攻击成本就是(101×BLOCK_TICKET_SALE),但是预期的报酬仍然是他在单一区块的奖励汇报,这样一来攻击的期望成本高于期望回报,从概率的角度来看是亏损的。

对于某些游戏来说,101区块的出奖间隔太久,因此需要快速猜测,这时的方案如下,出奖的结果可由两位受托人抽出:第一位受托人的随机数只负责产生1~3的X,以决定在他之后的第X个区块的抽奖随机数,第二位受托人可能作恶并试图发动攻击,但是他无法在4个区块之前预测谁会轮到产生抽奖随机数的区块,因此他的攻击成本是(3×BLOCK_TICKET_SALE),但是预期回报只有1block_ticket_sale,游戏规则唯一需要的就是设置第一个受托人1个区块之前的出奖间隔。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


已有 1 人评分论坛币 收起 理由
sophia615 + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

学海无涯

沙发
sophia615 发表于 2019-8-25 10:55:08
学习笔记奖!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-19 13:14