跳转至

区块链

区块链特性-不可篡改,依靠安全的哈希算法保证所有区块数据不可更改。

区块链是有多个区块组成的有序链表,每个区块都有上一个区块的哈希值,通过哈希值来确定区块的顺序。

📌 哈希算法

又称散列算法,是一个单向函数,可以把任意长度的输入数据转化为固定长度的输出。

设计一个安全的哈希算法,必须满足:

  1. 容易计算输出,但难以反推输入。
  2. 碰撞率低,即不同的输入数据,哈希值不相同。

常见的哈希算法有:MD5、SHA-256、RipeMD160等。

📌 P2P交易

交易过程去中心化,因此需要数字签名确保支付可信。

数字签名的三个作用:防伪造,防篡改,防抵赖。

通过数字签名算法生成一个秘钥对,包括一个私钥和一个公钥。私钥必须严格保密,不能泄漏给其他人;公钥则可以公开给任何人。

常用的数字签名算法有:RSA,DSA、ECDSA等。

签名验证是使用私钥签名,公钥验证的方法,对一个消息的真伪进行确认。

补充

私钥是花费比特币的唯一手段。

所有交易被记录在区块链中,可以通过公钥查询所有交易信息。

📌 挖矿

计算节点(矿工)试图把新的交易打包成新的区块并附加到区块链上,每打包一个新的区块,就可以获得一笔比特币作为奖励。

比特币的工作量证明被通俗地称之为挖矿,在同一时间,所有矿工都在努力计算下一个区块的哈希,而挖矿难度取决于全网总算力的百分比。

因此,单机挖矿的成功率几乎等于0。

补充

比特币网络的难度是不断变化的,它的难度保证大约每10分钟产生一个区块,而难度值在每2015个区块调整一次。


参考资料:

廖雪峰_区块链教程