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

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



