比特比(数字货币)
基于分布式网络。
比特比的本质是一种数字货币。
数字货币是一种不依赖信用和实物的新型货币,它的价值由大家的共识决定。
比特币的记账由所有运行系统的人(即节点,可以简单理解为一台电脑)共同参与记录,每个节点都保存(同步)一份完整的账本。同时使用简单多数原则,来保证账本的一致性。举个例子:如果有人在自己电脑上把自己的余额从1万改为1百万,他这个账本和大多数人的账本不一致,就会被比特币系统认为是无效的。
记账原理(区块链1.0)
区块链1.0:基于密码学安全的分布式账本(方便验证、不可篡改);
区块链2.0:与智能合约相结合(例如以太坊);
Hash函数
哈希函数:Hash(原始信息) = 摘要信息
原始信息可以是任意的信息, hash之后会得到一个简短的摘要信息。
几个特点:
- 同样的原始信息用同一个哈希函数总能得到相同的摘要信息
- 原始信息任何微小的变化都会哈希出面目全非的摘要信息
- 从摘要信息无法逆向推算出原始信息
主要作用:
- 简化信息
- 标识信息:摘要信息也称为原始信息的id。
- 隐匿信息
- 验证信息
记账的具体方法
区块链在记账时会把账页信息(包含序号、记账时间、交易记录)作为原始信息进行Hash, 得到一个Hash值。此时账页信息和Hash值组合在一起就构成了第一个区块,比如:
Hash(序号0、记账时间、交易记录) = 787635ACD
在记第2个账页的时候,会把上一个块的Hash值和当前的账页信息一起作为原始信息进行Hash:
Hash(上一个Hash值、序号1、记账时间、交易记录) = 456635BCD
这样第2个区块不仅包含了本账页信息,还间接的包含了第一个区块的信息。
依次按照此方法继续记账,则最新的区块总是间接包含了所有之前的账页信息。
这样产生的区块链有两个重要的优势:
- 便于验证:只要验证最后一个区块的Hash值就相当于验证了整个账本;
- 不可更改:任何一个交易信息的更改,会让所有之后的区块的Hash值发生变化,这样在验证时就无法通过。