随着比特币不断被接纳,一个直接的结果是,我们已经看到信息安全领域取得了巨大创新,例如硬件加密,密钥存储和硬件钱包,多重签名技术和数字托管。 1.比特币物理存储 一个非常有效保护比特币的方...
精通比特币(91):比特币网络的安全模型
传统的安全体系模型 传统的安全体系基于一个称为信任根(ROOT OF TRUST)的概念,它指的总体系统或应用程序中一个可信赖的安全核心。安全体系像一圈同心圆一样围绕着信任根源来进行开发,像层层包裹的...
精通比特币(90):使用区块版本发出软分叉信号
由于软分叉允许未经修改的客户在协商一致的情况下继续运作,“激活”软分叉的机制是通过向矿工发出信号准备:大多数矿工必须同意他们准备并愿意执行新的共识规则。 为了协调他们的行动,有一个信号机制,使他们能够...
精通比特币(87):共识攻击
比特币的共识机制指的是,被矿工(或矿池)试图使用自己的算力实行欺骗或破坏的难度很大,至少理论上是这样。 比特币的共识机制依赖于这样一个前提,那就是绝大多数的矿工,出于自己利益最大化的考虑,都会通过诚实...
精通比特币(86):通过掷骰子来说明矿池的工作原理
个人矿工在建立矿池账号后,设置他们的矿机连接到矿池服务器。他们的挖矿设备在挖矿时保持和矿池服务器的连接,和其他矿工同步各自的工作。这样,矿池中的矿工分享挖矿任务,之后分享奖励。成功出块的奖励支付到矿池...
精通比特币(84):随机值升位方案the extra nonce solution
2012年以来,比特币挖矿发展出一个解决区块头基本结构限制的方案。在比特币的早期,矿工可以通过遍历随机数 (Nonce)获得符合要求的hash来挖出一个块。 难度增长后,矿工经常在尝试了...
精通比特币(80):节点是如何校验新区块的?
比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。 当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。 &nbs...
精通比特币(79):比特币中难度是如何调整的?
目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整? 比特币的区块平均每10分钟生成一个。这就是比特币的心跳,是货币...
精通比特币(78):如何计算难度目标?
在区块中看到难度目标,其被标为"难度位"或简称"nBits",定义在src/chain.h的CBlockIndex类中。 在区块277,316中,它的值为 0x1903a30c。 这个标...
精通比特币(77):工作量证明算法
哈希函数输入一个任意长度的数据,输出一个长度固定且绝不雷同的值,可将其视为输入的数字指纹。 对于特定输入,哈希的结果每次都一样,任何人都可以用相同的哈希函数,计算和验证哈希结果。 一个加密哈希函数的...