比特币矿池挖矿是如何保证无法作弊的?

2017-02-26 19:19:28 +08:00
 pungis

比特币的挖矿原理我知道,穷举打包账本计算前 n 个 0 的 SHA 这也就是说最终只能有一个人算出来

我想知道在矿池挖矿的 n 多人中如何保证下面两点:

  1. 当我撞彩算出来的时候不把结果提交给矿池,而是自己广播出去独吞收入(挖矿软件开源的,改改应该可以做到)

上面还不算严重,下面这点更是重要:

2.最终不是把成功打包的收益平分吗?分成的原则是计算贡献,也就是你的计算速度。但是如何保证我计算的正确性?我不算而是直接提交错误的结果上去增加计算贡献行不行。矿场是如何知道我确实计算过了而不是提交了个随机数?毕竟大家会一直算出不正确的结果直到有一个人算出正确的为止,如何确定我真实的计算贡献?

17008 次点击
所在节点    问与答
49 条回复
starvedcat
2017-02-27 11:12:15 +08:00
我还以为只有我这么想,直到我看到本帖最高赞回复。一下子就觉得好放心。
kn007
2017-02-27 11:51:47 +08:00
2 楼真是迷之自信。。。
另外楼主你 block 人后,楼层数就不对了。。。你回复说的几楼,都错了。囧
5UESxM1SED56K25z
2017-02-27 12:02:58 +08:00
@pungis 你说的那个叫双重支付攻击 double spending ,并且是 0 确认的攻击,比较容易实现
5UESxM1SED56K25z
2017-02-27 12:09:12 +08:00
@jsjjdzg 去中心化的,你封杀下看看。除非断网。封锁所有卫星信号、边境地区他国信号
pungis
2017-02-27 12:10:18 +08:00
@kn007
好像是这样的哈哈
我 Block 之后别人还是能看到的
V2 这个楼数机制不太智能

订正:
@xgdyhaiyang
第一个问题如 9 楼回答,只要把收益地址定死就破解了

@lqs
明白了,看了 16 楼的回答我理解了。
Antidictator
2017-02-27 12:19:16 +08:00
水深火热见, 233333
Laforet
2017-02-27 12:21:15 +08:00
@gam2046

符合特定条件下一般等价物的特征,作为货币还不够格,因为有总量上限和量子计算这两个回避不了的问题。

@bitfish00079

这个去中心化的系统太不堪一击了。前面说的 51%算力攻击,其实根本不用去获得那么多算力,只要把足够多的节点 D 下线,让自己成为 51%就可以。即使是看多的比特币投机者,对于大量算力集中在墙内的现状也是有顾虑的,因为一旦发生大规模通讯问题,区块链有分裂的危险。
xgdyhaiyang
2017-02-27 12:59:22 +08:00
@pungis 收益地址是矿池决定的,矿机无法修改,另外矿机没有组成完整区块的完整信息(交易列表)无法自己广播。这种攻击是针对矿池的,降低矿池的收益,最终矿池入不敷出导致破产。
elitezhe
2018-05-31 11:20:02 +08:00
@xgdyhaiyang @pungis @cctvsmg @lqs

抱歉挖旧贴, 我有关于矿池分发任务的疑问.
-1 矿池分发给矿机的任务的信息都有哪些?
-2 矿池分发给矿机的任务的难度如何理解?比如连接不同端口,会指派不同难度.

矿机接收到矿池的任务,该如何理解呢?
根据我目前的经验和猜测,我猜测:矿池将交易列表等相关信息发给矿机,然后每个任务发一个随机数给矿机,让矿机算 hash.
那么矿池的难度,比如说 30000,应该就和挖矿的难度(算出的 hash 有几个 0 开头)不是一个含义了.我猜测是用了多少个随机数算了多少回合.假设难度 30000,就是矿机用了 30000 个矿池指定的随机数,算出了 30000 个 hash,然后一起提交给矿池,而不是提交 30000 次,对矿池造成 DDoS 效果.

不知道理解对不对,还请各位帮助.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/343314

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX