打字猴:1.70386514e+09
1703865140 这个成本函数和工作量证明的设定方式,让我们重新审视比特币的安全假设。现在我们终于可以丢弃之前让你盲目相信的假设。不必再去说那些连身份都没有的节点大多数是诚实的了,诚实具体代表什么也并不清楚,我们现在可以清楚地表述,只要以计算能力为权重的大多数矿工,遵循比特币协议,或者说是诚实的,那么比特币中的大量攻击就都没有可能发生。因为如果以计算能力为权重的大多数矿工是诚实的,提议下一个区块的竞争会自动保证在任意时间点,下一个区块至少有50%的概率是由一个诚实节点提议的。
1703865141
1703865142
1703865143 矿工行为的两种行为模式
1703865144
1703865145 在分布式系统和计算安全研究领域,假设一定比例的节点是诚实的,来展示在其他节点表现随意的情况下,系统如何按照预期运行,是很常见的方法。这是我们采用的基础方法,除了以计算能力为权重计算大多数之外。最初的比特币白皮书也包含了这样的分析。
1703865146
1703865147 但博弈论领域给出了一种完全不同的,更复杂且实际的方法来决定系统如何运行。这个观点不区分节点诚实或恶意,而是假设每个节点都按自己的意愿行动。每个节点考虑其他节点的潜在可能策略之后,采用一种(随机的)策略最大化自己的回报。如果协议和激励机制设计得当,大多数节点在大多数时候会遵循这个规则。“诚实”的行为只是许多策略中的一种,我们在道德上并不依赖于此。
1703865148
1703865149 博弈论的观点认为,最大的问题是矿工默认的行为是否是一种“纳什均衡”(Nash equilibrium),即这是否代表了一种稳定的状态,在这种状态下没有节点可以通过表现不诚实而获得更高的回报。针对这个问题现在各界仍有争议,并且是一个活跃的研究领域。
1703865150
1703865151 解哈希谜题是概率性的,因为没有人可以预测到哪个临时随机数会解出谜题。唯一的方法是一个一个去试临时随机数,并希望能够成功。在数学上,这被称为伯努利试验(Bernoulli trial)。伯努利试验是一种有两种可能结果的试验,在连续试验下,每种结果发生的概率是固定的。在这里,两种结果是哈希值是否落在目标区域内,假设哈希函数像随机函数一样,那些结果的概率都是固定的。典型地,节点多次尝试临时随机数的伯努利试验是一个离散概率过程,它可以用一个叫作泊松过程(Poisson process)的连续概率过程近似表示,在泊松过程中,事件以固定的速率独立出现。最后的结果是,发现下一个区块所需要时间的概率密度函数,见图2.5。
1703865152
1703865153
1703865154
1703865155
1703865156 图2.5 发现下一个区块所需时间的概率密度函数
1703865157
1703865158 这被称为指数分布。假设一个区块现在被发行,下一个区块有一定的小概率很快被发现,比如几秒钟或几分钟。也有一定的小概率花了较长时间才发现下一个区块,比如一小时。但总体来说,网络会自动调整难度使得区块间隔时间的长期均值维持在10分钟。注意图2.5表示的是整个网络内区块被创造出来的频率,而不是哪个矿工事实上发现了这个区块。
1703865159
1703865160 如果你是一名矿工,你大概想知道要多长时间才能找到下一区块?这个概率密度函数会是什么样?它的形状会相同,但x轴的坐标不一样。可以用一个漂亮的公式表示:
1703865161
1703865162 对于某个特定的矿工:
1703865163
1703865164 发现下一区块的平均时间=10分钟/占全部计算能力的比例
1703865165
1703865166 如果你有全网络0.1%的计算能力,这个公式告诉我们,你每10 000分钟能找到一个区块,大约一个星期。不仅是你发现区块的时间间隔非常长,时间间隔的波动也会非常大。因此产生的一些重要结论我们在第5章会讲到。
1703865167
1703865168 易于证实
1703865169
1703865170 现在回到工作量证明函数第三个重要的特性,就是证实一个节点正确地计算了工作量证明很容易。即使一个节点要尝试1020次来找到使区块哈希值落在目标范围内的临时随机数,并且临时随机数必须是作为区块的一部分被公布出来。这样任何其他节点很容易检查区块的内容,计算它的哈希值,证实它的输出在目标区域内。这是个相当重要的特征,因为这样使得我们摆脱了中心化管理。我们不需要一个中央权威机构来证明矿工正确地完成了工作。任何节点或者矿工,都可以迅速地证实其他矿工找到的区块符合工作量证明的规定。
1703865171
1703865172 [1]这段话很拗口,也难懂。打个比方,假如你是个炮兵,那些前序区块哈希值加上所有要打包的交易就是炮弹,哈希函数就是大炮,临时随机数就好比瞄准器,你所想击中的目标,比如一个指挥所,它肯定在你能打到的范围内,但非常小,而且其实根本不知道在哪里。击中目标的唯一办法是狂轰滥炸,这就是比特币工作量的概念,炸的越多,击中的概率越高。如果这个指挥所的目标区域是轰击区域1%大的话,你大概平均要发出100枚炮弹才可能击中目标。——译者注
1703865173
1703865174
1703865175
1703865176
1703865177 区块链技术驱动金融:数字货币与智能合约技术 [:1703863917]
1703865178 区块链技术驱动金融:数字货币与智能合约技术 2.5 总结
1703865179
1703865180 挖矿成本
1703865181
1703865182 我们现在来看一下挖矿经济学。前文提到过,作为矿工挖矿是十分昂贵的。按现在的难度,找到下一个单独的区块需要计算1020个哈希值,区块奖励约是25个比特币,按照现在的比特币汇率,是不小的一笔钱。这些数据可以让我们简单地计算出挖矿是否赚钱。我们可以用这个简单的逻辑来做这个决定:
1703865183
1703865184 如果:
1703865185
1703865186 挖矿奖励>挖矿成本
1703865187
1703865188 那么:
1703865189
[ 上一页 ]  [ :1.70386514e+09 ]  [ 下一页 ]