[CS] 区块链记账原理

比特比(数字货币)

基于分布式网络。
比特比的本质是一种数字货币。
数字货币是一种不依赖信用和实物的新型货币,它的价值由大家的共识决定。
比特币的记账由所有运行系统的人(即节点,可以简单理解为一台电脑)共同参与记录,每个节点都保存(同步)一份完整的账本。同时使用简单多数原则,来保证账本的一致性。举个例子:如果有人在自己电脑上把自己的余额从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个区块不仅包含了本账页信息,还间接的包含了第一个区块的信息。
依次按照此方法继续记账,则最新的区块总是间接包含了所有之前的账页信息
这样产生的区块链有两个重要的优势:

  1. 便于验证:只要验证最后一个区块的Hash值就相当于验证了整个账本;
  2. 不可更改:任何一个交易信息的更改,会让所有之后的区块的Hash值发生变化,这样在验证时就无法通过。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值