打字猴:1.70387605e+09
1703876050
1703876051
1703876052
1703876053
1703876054 你肯定在奇怪为什么要给无效块矿工回报。即便不给它们任何回报,也不会影响安全。这是因为无效块经常出现在网络中会导致另一个问题,而这个问题可以通过给无效块矿工回报解决。矿工应当得到一定比例的回报,大致相当于它为网络贡献的算力比例。如果两个不同的矿工几乎同时挖出一个区块,则算力比较大的矿工挖出的区块更有可能被添加到最终区块链中,因为该矿工挖下一个区块的效率会比较高,所以小矿工将失去回报。如果无效块比例低,就不是大问题,因为大矿工增加回报的概率不大。但是,如果无效块比例高,就会产生大问题,也就是说,大矿工在网络中最终将得到比它应得的更多的回报。ghost协议通过回报无效块矿工找到平衡。由于大矿工不拿走全部回报,但是仍比它们应得的多,我们不能对无效块矿工和侄块给予同等回报,而是给得少一点。前面的公式很好地解决了问题。
1703876055
1703876056 ghost协议会限制一个侄块可以指向的无效块总数,这样矿工不会只挖无效块并使区块链生成速度变慢。
1703876057
1703876058 所以一旦无效块出现在网络中,它会或多或少地影响网络。无效块出现得越频繁,网络受到的影响越大。
1703876059
1703876060
1703876061
1703876062
1703876063 区块链项目开发指南 [:1703875275]
1703876064 区块链项目开发指南 2.8 分叉
1703876065
1703876066 在节点验证区块链发生冲突时,会发生分叉(forking),也就是说,在网络中有多于一个区块链,且每个区块链由一些矿工验证。分叉共有三种:普通分叉、软分叉和硬分叉。
1703876067
1703876068 普通分叉是由于两个或者多个矿工几乎同时发现了一个区块引起的暂时冲突。如果一个难度值高于另一个,冲突就解决了。
1703876069
1703876070 更改源代码可能引起冲突。根据冲突类型,可能要求有50%以上算力的矿工升级,也可能要求所有矿工升级,以解决冲突。要求有50%以上算力的矿工升级以解决冲突,叫作软分叉;而要求所有矿工升级以解决冲突,叫作硬分叉。软分叉的一个例子是,如果更新源代码使旧区块/交易的一部分失效,则有50%以上算力的矿工升级后可以解决,这样新的区块链将有更大难度值,最后被整个网络接受。硬分叉的一个例子是,如果更新源代码是为了更改对矿工的回报,则全部矿工需要升级以解决冲突。
1703876071
1703876072 以太坊自发布以来经历了多次硬分叉和软分叉。
1703876073
1703876074
1703876075
1703876076
1703876077 区块链项目开发指南 [:1703875276]
1703876078 区块链项目开发指南 2.9 创世区块
1703876079
1703876080 创世区块(genesis block)是区块链中的第一个区块,其区块序号是0。它是区块链中唯一一个不指向前一个区块的区块,因为没有前一个区块。它也不包含交易,因为还没产生任何以太币。
1703876081
1703876082 只有网络中的两个节点有相同的创世区块,它们才会彼此配对,也就是说,如果两个对等节点有相同的创世区块才会进行同步区块,否则它们将彼此拒绝。不同的创世区块有较高难度值也不能替代难度值较低的。每一个节点生成自己的创世区块。对于不同的网络,创世区块被硬编码到客户端里。
1703876083
1703876084
1703876085
1703876086
1703876087 区块链项目开发指南 [:1703875277]
1703876088 区块链项目开发指南 2.10 以太币面值
1703876089
1703876090 和其他货币一样,以太币也有多种面值。其面值如下:
1703876091
1703876092 ·1以太币=1000000000000000000 wei。
1703876093
1703876094 ·1以太币=1000000000000000 Kwei。
1703876095
1703876096 ·1以太币=1000000000000 Mwei。
1703876097
1703876098 ·1以太币=1000000000 Gwei。
1703876099
[ 上一页 ]  [ :1.70387605e+09 ]  [ 下一页 ]