区块链开发入门:从哈希与随机数到简易应用搭建
哈希与随机数小项目
现代浏览器自带 crypto 对象以支持加密功能,我们可以使用 crypto.subtle.digest() API 生成哈希值。下面有一个小任务,完成后会给出解决方案,你可以尝试自行理解代码。
随着矿工数量的增加和计算资源的提升,比特币区块链可能会提高区块挖掘谜题的难度,以确保挖掘一个区块的时间大致保持不变,比如十分钟,这可能需要找到有 15 - 20 个前导零的哈希值。
第一个解决特定交易谜题(例如“Joe 付给 Mary 五个比特币”)的人(如比特币矿工 Peter)将获得新发行的比特币,Peter 还可能从将交易添加到比特币区块链的交易费用中获利。但如果 Peter 喜欢 Mary,想通过欺诈将交易金额从五增加到五十,这是不可能的,因为 Joe 的交易使用公私钥加密进行了数字签名。
之前我们通过拼接块号、时间和单个交易文本来计算哈希值。比特币区块链每个块存储多个交易(约 2500 个),块的大小和交易数量没有特别意义。增加哈希码中前导零的数量会使解决谜题变得更难。
比特币可用于支付服务,也可以用传统货币或其他加密货币买卖,但比特币挖掘是将新比特币投入流通的唯一途径。
每个企业都需要记录交易,过去交易手动记录在账本中,现在记录存储在文件里,但账本的概念不变。可以将区块链看作账本的一种表示形式。“篡改账本”指伪造财务报表,但如果账本以区块链形式实现,篡改账本几乎不可能(需要超过 50%的区块链节点合谋批准非法修改区块,这更多是理论上的可能性)。
下面是具体的任务及代码实现:
超级会员免费看
订阅专栏 解锁全文
873

被折叠的 条评论
为什么被折叠?



