区块链记账原理

2018-02-09  本文已影响13人  淡泊人生的智慧

区块链(1.0)是一个基于密码学安全的分布式账本,是一个方便验证,不可篡改的账本。

通常认为与智能合约相结合的区块链为区块链2.0, 如以太坊是典型的区块链2.0。

哈希函数

哈希函数:Hash(原始信息) =摘要信息

原始信息可以是任意的信息, hash之后会得到一个简短的摘要信息

哈希函数有几个特点:

1)同样的原始信息用同一个哈希函数总能得到相同的摘要信息

2)原始信息任何微小的变化都会哈希出面目全非的摘要信息

3)从摘要信息无法逆向推算出原始信息

哈希函数有4个作用:

1)简化信息

很好理解,哈希后的信息变短了。

2)标识信息

可以使用AC4635D34DEF来标识原始信息,摘要信息也称为原始信息的id。

3)隐匿信息

账本是AC4635D34DEF这样一条记录,原始信息被隐匿。

4)验证信息

假如李四在还款时欺骗说,张三只借给李四10万,双方可以用AC4635D34DEF来验证原始信息

区块链记账方法

区块链在记账是会把账页信息(包含序号、记账时间、交易记录)作为原始信息进行Hash,得到一个Hash值,如:787635ACD, 用函数表示为:

Hash(序号0、记账时间、交易记录) = 787635ACD

账页信息和Hash值组合在一起就构成了第一个区块。

在记第2个账页的时候,会把上一个块的Hash值当前的账页信息一起作为原始信息进行Hash,即:

Hash(上一个Hash值、序号1、记账时间、交易记录) = 456635BCD

这样第2个区块不仅包含了本账页信息,还间接的包含了第一个区块的信息。依次按照此方法继续记账,则最新的区块总是间接包含了所有之前的账页信息。

所有这些区块组合起来就形成了区块链,这样的区块链就构成了一个便于验证(只要验证最后一个区块的Hash值就相当于验证了整个账本),不可更改(任何一个交易信息的更改,会让所有之后的区块的Hash值发生变化,这样在验证时就无法通过)的总账本。

上一篇下一篇

猜你喜欢

热点阅读