区块链原理+核心技术

文章目录

注:本文参考学习中国计算机学报2021第1期中的论文《区块链原理及核心技术》(蔡晓晴、邓尧、张亮、史久琛、陈全、郑文立、刘志强、龙宇、王堃、李超、过敏意著)

前言

每一秒,微信就要处理1.4万笔转账,能转账的前提是微信知道你有多少钱,而这些钱放在人民银行的专户里记账,而你也相信微信和银行体系背后的无数员工不会搞错你的余额。因此,人民银行就是微信交易中可信任的第三方。但是如果没有了这些可信任的第三方,在一个完全匿名化的网络中,你怎么给我转钱?
  2009年,一位叫中本聪的神秘人用9页的论文解决了这个问题,那也就是——区块链。
  在没有了可信任的第三方之后,最大的问题就是我们每一个人之间都无法互相信任。因此,在区块链的世界中,转账就得发广播,目的是让区块链网络中的每一个人都知道每一笔钱的来龙去脉。比如说,有一天,小明要给老王转账100元。于是小明和老王就广播对大家说,小明账户减少100元,老王账户增加100元。那么大家收到信息之后,就检查自己手中的账本,看小明是否真的有100元,如果没有那么本次转账就无效,如果有,那么就生成新的一笔交易并且记录到账本上。而这个账本也就是区块。可以拟定一天的账本为一个区块,那么将很多天的账本连接起来,也就是很多区块连接起来,即形成了区块链。在这个广播的过程中,大家会通过电子签名来辨认这个广播的消息是谁发出的。
  由于区块链网络是除去了第三方的点对点网络,因此网络中的每一个节点都是平等的,那么每一个节点都可以记账。也就是说,如果网络中每个人都可以记账,那每个人账本中包含的交易和交易顺序可能都不一样,并且还有可能有人去记假账,这就很难得到一个大家都认可的账本。为了解决这个问题,为了让所有人都能够得到一份大家共同认可的账本,就有了——共识机制。那么中本聪的方法就是做题,也就是工作量证明。工作量证明的本质就是穷举。你的设备算力越强,那么算出答案的可能性就越高,为了做到这一点,需要用到哈希加密。以SHA256算法为例,任何一串字符串用它加密之后都能得到一串独一无二的二进制数,而源输入只要有一点改动,那么哈希加密后的结果都会完全不同。
  对于一个账本中的部分信息,也就是一个区块中的部分信息,我们对其做SHA256算法,那么就能够得到一串独一无二的二进制数,而区块链网络中规定不断修改区块中的随机数,然后对区块中的部分信息做SHA156算法知道得到一个前n个数为0的哈希值(今天比特币网络中n大概为76),这个哈希值为符合要求的哈希值。而只要你算出来这个哈希值,那么就会广播到网络中,其他人能够瞬间验证你有没有算对,如果对了就可以把这个区块挂到区块链上,而第一个将区块挂到区块链上的人就要活得系统给的一笔奖励,这个过程叫做挖矿。而区块链发生改变,就会广播到网络中所有的节点,那么所有人收到这个信息,大家就有了一份相同并且实时更新的账本了。
  如果两个人同时完成了计算,打包出了一个新区块,那么大家该认可谁的区块链呢?由于每个人在本地都有一条区块链,也就是账本,而计算出的新区块是先链接到本地的区块链上然后将区块链广播到网络节点中,如果有多个人同时广播出去,那么,谁广播出去的区块链长,网络中的其他人就认可这条区块链。
  那么如何防止记假账呢?首先,对于比特币网络中的每个节点,都有一份电子签名。因为有电子签名,记账人就不能伪造别人给自己转账,又因为历史账本的存在,因此也就不能凭空变一笔钱出来。而为了防止账本被篡改,每一个新加入的区块都需要在这个区块头里面记录上一个区块计算出来的哈希值,通过这种方式将所有区块连接起来一直到第一个创世区块。如果修改了任意一个区块里的任何一个字符,都会改变这个区块的哈希值,让下一个区块的哈希指针失效,那么又要需要下一个区块里面存的上一个区块的哈希值,以此类推,一直到修改到最后一个区块。这是非常麻烦的,所以记账人想造假几乎是做不到的。
  总体而言,区块链技术是以数据库作为数据存储载体,以P2P网络作为通信载体,依赖密码学确定所有权和保障隐私,依赖分布式系统共识框架保障一致性,旨在构建价值交换系统的技术。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值