18、区块链开发入门:从哈希与随机数到简易应用搭建

区块链开发入门:从哈希与随机数到简易应用搭建

哈希与随机数小项目

现代浏览器自带 crypto 对象以支持加密功能,我们可以使用 crypto.subtle.digest() API 生成哈希值。下面有一个小任务,完成后会给出解决方案,你可以尝试自行理解代码。

随着矿工数量的增加和计算资源的提升,比特币区块链可能会提高区块挖掘谜题的难度,以确保挖掘一个区块的时间大致保持不变,比如十分钟,这可能需要找到有 15 - 20 个前导零的哈希值。

第一个解决特定交易谜题(例如“Joe 付给 Mary 五个比特币”)的人(如比特币矿工 Peter)将获得新发行的比特币,Peter 还可能从将交易添加到比特币区块链的交易费用中获利。但如果 Peter 喜欢 Mary,想通过欺诈将交易金额从五增加到五十,这是不可能的,因为 Joe 的交易使用公私钥加密进行了数字签名。

之前我们通过拼接块号、时间和单个交易文本来计算哈希值。比特币区块链每个块存储多个交易(约 2500 个),块的大小和交易数量没有特别意义。增加哈希码中前导零的数量会使解决谜题变得更难。

比特币可用于支付服务,也可以用传统货币或其他加密货币买卖,但比特币挖掘是将新比特币投入流通的唯一途径。

每个企业都需要记录交易,过去交易手动记录在账本中,现在记录存储在文件里,但账本的概念不变。可以将区块链看作账本的一种表示形式。“篡改账本”指伪造财务报表,但如果账本以区块链形式实现,篡改账本几乎不可能(需要超过 50%的区块链节点合谋批准非法修改区块,这更多是理论上的可能性)。

下面是具体的任务及代码实现:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值