
我们将在该网站进行操作解释
https://andersbrownworth.com/blockchain

只要Data改动,Hash也会更改,并且一一对应,且长度不变。 对于以太坊而言,采用的是Keccak算法

当我在Data中输入沈健,然后点击Mine开始挖矿,一段时间后,可以发现Hash值前缀4个数字变为0,并且Nonce随机值变为243167,这就是这个难题的答案。块由块高、Nonce随机值、Data附加数据这三部分组合起来,从而得到Hash值。这就是矿工挖矿的过程。

可以看到Blockchain由多个block组成,第一个block的prev为0000000000000000000000000000000000000000000000000000000000000000,后面的block的prev指向前一个block的hash,即hash值一样

Peer A、Peer B、Peer C表示一个个运行着区块链程序的节点,每个节点记录着相同的链,这样运行的节点越多,如比特币节点,就越安全。

对于token而言,data部分改为了tx交易信息:交易金额、发送地址、目标地址
当我们修改任一位置的数据时,颜色会变为红色,这就是区块链的不可变性
接下来我们用https://andersbrownworth.com/blockchain/public-private-keys/keys来介绍私钥签名交易

如图所示,随机生成了一对私钥与公钥

用私钥对消息进行签名

可见通过公钥对签名进行验证通过

同理,用私钥对交易信息生成签名,则同样可以进行验证


欢迎关注公众号算法小生或沈健的技术博客shenjian.online