Author

Topic: 谁能帮忙科普一下挖空块的原理? (Read 1791 times)

full member
Activity: 123
Merit: 100
August 09, 2017, 07:11:56 AM
#17
人家挖出来了,你这边网络延迟,没有同步区块好,你计算出来块就是空块
full member
Activity: 308
Merit: 100
涨姿势了,以前从来没听说过空块,空块太浪费了,感觉上空块也是可以利用的。还是得好好学习一下,不明白的东西太多了,多谢各位大神普及。
newbie
Activity: 23
Merit: 0
还能挖空块?之前没听说过
newbie
Activity: 30
Merit: 0
可能是两个矿池同时找到了.然后速度较快的那个就挖到了
newbie
Activity: 2
Merit: 0
可能是废矿也可能被其他人把块抢走了,都有可能是空矿。
sr. member
Activity: 312
Merit: 250
第一次听说
newbie
Activity: 28
Merit: 0
学习了
newbie
Activity: 56
Merit: 0
涨知识了
member
Activity: 89
Merit: 10
空块的意思大概就是比特币的区块链不承认这些区块
sr. member
Activity: 280
Merit: 250
空块产生是矿池自由选择的,和BU还是core没什么关系。
只是就目前的交易手续费来说,空块真的有比满区块赚的多么?
newbie
Activity: 25
Merit: 0
学习下原理 Grin
sr. member
Activity: 281
Merit: 250
挖空块是因为区块的传输需要时间,比如1M区块现在一般需要6秒传完,
那矿池就有1%的概率(6秒/区块间隔600秒),在传输区块N的过程中又挖出了一个块。
这时候矿池就有2个选择:
A、原始方案:在块N传输结束后,才开始在N的基础上挖N+1块,
传输过程中,认为别人还没挖出N块,所以把自己挖出的块,也打包交易,作为N块广播,
当然这样自己的N块大概率被孤立(因为别人已经先于你打包,广播出去了)
B、改进方案:在收到块N的区块头,还没传完区块数据时,就认为别人已经挖出了N块,开始在N的基础上挖N+1块,
但这就有个问题,N块没传完,不知道别人打包了什么交易,如果N+1打包交易,那有可能打包到N块已打包的交易,就冲突了,
所以用这种提早挖N+1块的方法,如果在6秒内挖出了,那就只能打空块。
也就是说,这6秒的块,矿池
要么选择被孤立掉,损失1%产出(方案A)
要么选择不被孤立,打空块(方案B)
空快里包含比特币吗?如果大区块成功了,这些空块里的BTC是不是就可以利用起来了?
包含基础奖励的12.5BTC,但没有打包交易费的奖励(现在约1.5BTC)
矿池每打一个空块,就会损失1.5BTC的打包手续费,所以矿池都在想尽办法,不打空块。
member
Activity: 88
Merit: 10
挖空块是因为区块的传输需要时间,比如1M区块现在一般需要6秒传完,
那矿池就有1%的概率(6秒/区块间隔600秒),在传输区块N的过程中又挖出了一个块。
这时候矿池就有2个选择:
A、原始方案:在块N传输结束后,才开始在N的基础上挖N+1块,
传输过程中,认为别人还没挖出N块,所以把自己挖出的块,也打包交易,作为N块广播,
当然这样自己的N块大概率被孤立(因为别人已经先于你打包,广播出去了)
B、改进方案:在收到块N的区块头,还没传完区块数据时,就认为别人已经挖出了N块,开始在N的基础上挖N+1块,
但这就有个问题,N块没传完,不知道别人打包了什么交易,如果N+1打包交易,那有可能打包到N块已打包的交易,就冲突了,
所以用这种提早挖N+1块的方法,如果在6秒内挖出了,那就只能打空块。
也就是说,这6秒的块,矿池
要么选择被孤立掉,损失1%产出(方案A)
要么选择不被孤立,打空块(方案B)
空快里包含比特币吗?如果大区块成功了,这些空块里的BTC是不是就可以利用起来了?
full member
Activity: 128
Merit: 100
网络拒绝承认
full member
Activity: 151
Merit: 100
空块在若干年前北京之行就各家矿池就协议笑灭空块,原理简单,冒着几率低于1%的孤块率,并且基本上每天少一个12.5BTC的奖励,以前币网基本上每天一到两个空块,给全网平均每天多打包3-6K交易,若干年过去了,因为种种原因只有BW还在傻傻的坚持,LTC江总并没被邀请不知内情,所以更谈不上对孤块各个矿池的评论,在这个方面说也许侧面印证了BU的存在
full member
Activity: 154
Merit: 100
挖空块是因为区块的传输需要时间,比如1M区块现在一般需要6秒传完,
那矿池就有1%的概率(6秒/区块间隔600秒),在传输区块N的过程中又挖出了一个块。
这时候矿池就有2个选择:
A、原始方案:在块N传输结束后,才开始在N的基础上挖N+1块,
传输过程中,认为别人还没挖出N块,所以把自己挖出的块,也打包交易,作为N块广播,
当然这样自己的N块大概率被孤立(因为别人已经先于你打包,广播出去了)
B、改进方案:在收到块N的区块头,还没传完区块数据时,就认为别人已经挖出了N块,开始在N的基础上挖N+1块,
但这就有个问题,N块没传完,不知道别人打包了什么交易,如果N+1打包交易,那有可能打包到N块已打包的交易,就冲突了,
所以用这种提早挖N+1块的方法,如果在6秒内挖出了,那就只能打空块。
也就是说,这6秒的块,矿池
要么选择被孤立掉,损失1%产出(方案A)
要么选择不被孤立,打空块(方案B)
member
Activity: 88
Merit: 10
刚才看到有人说支持BU的矿池都打空块,那么问题来了。
求各位大大科普一下BTC挖矿有几个步骤?打空块是哪个步骤做到的?是矿池代码还是BU客户端搞的?
知道的求科普,多谢
Jump to: