区块链比较官方的解释有很多,较为常用的是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构。它由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖,也称为分布式账本技术(Distributed Ledger Technology)。
以上的对区块链的解释里面提到了区块链的四个核心技术:分布式账本、密码学、共识算法、智能合约。也就是说我们要想理解区块链,能够跟别人讲出来什么是区块链,只要弄清楚上面这四项技术就可以了。当然技术的原理很深奥,我们没办法从零到一去了解技术的原理,最简单的方式是类比,找到我们生活中比较常见的场景,通过类比形成对区块链技术的直观感受。
1.分布式账本技术
通俗的将我们分布式就是将东西分开放,越分散想要破坏的难度就越大。当我们用区块链组建一个分布式网络的时候,我们可以想象成组件了一个微信群,群里的成员就是我们联盟的各个企业,当我们的“群”组建好了以后,在群里发送出去的所有消息,群成员都是可以接收到并且存在各自的手机里,这时当你想要删除某条记录时,最多只能删除自己的,去无法删除别人手机里面的,这就是一种分布式账本。
当然,这个例子和区块链还是有区别的。第一区块链数据一旦上链存储,就无法撤回和删除;第二区块链网络传输数据不依赖于任何一个中心化的组织,也就是说我们发送的数据不会在云端有一个中心数据库存储;第三区块链网络的数据账本有一致性(差分存储的账本除外),当某一方通过作恶手段对自己的数据进行篡改后,一旦接入区块链网络会被自动识别并校正,恢复到成正确的数据。
2.密码学技术
生活也我们也经常会接触到密码学相关的技术,想流行的各类喝酒暗语,也是一种密码学的体现。区块链中的密码学我们可以接着上面的例子理解。当我们需要在群里发送某条重要的消息,又不想让不相干的成员看到,这时候我们就可以采用密码学对消息进行加密,并且@你要发送的人,这样只有对方可以看到消息内容,其他人看到的是一串混乱的代码,当然实现这个场景还需要借助一些高效的密钥管理机制。
除此之外,区块链中运用了哈希算法,根据数据的内容算出一个唯一的值,且这个值会存储至在上一个数据的末尾和下一个数据的开始,从而形成一个完整的数据链条。可想而知,当某一条数据发生改变时,对应的哈希值也就发生了改变,那么前后的数据就无法匹配,以此类推,要想改变某条数据,需要将整个账本的数据改掉,然后再去别人的手机里一个一个改,这是一个及其庞大且难以实现的工作。
3.智能合约技术
合约我们都很容易理解,类似于合同、协议之类的多方认可的具有一定法律效力的文件。那么智能合约没有改变合约的本质,只是让其变得更智能,既然白纸黑字约定了规则,那么满足规则就要执行了,以前是人来执行,现在是系统来执行。
我们接上上面群的例子进行讲解,在成立这个群的时候,大家签订了一个都认可的智能合约,例如发红包的金额不能低于1块。那么当某个成员在进行红包发放时,安装在每个成员手机上的智能合约会验证这个红包是否符合这个约定,并且会各自给出结果签名,如果符合则通过,如果不符合则不通过。这样区块链会对大家的反馈的结果进行签名验证,最终根据执行策略,结果有两种:一种是发送成功,一种发送失败。整个过程都是合约自动完成,无需人工干预。
这里提到的两个比较重要的点,第一个是签名,所有成员的智能合约执行结果都需要签名,一旦发现数据有误,那么很容易找到作恶的坏人。别人都是通过,只有他不通过,那就说明他擅自篡改了合约内容(投票把他叉出去~);另一个是执行策略,我们不能保证各自的手机都时刻正常运行,万一有的人手机没电关机了,掉水里了等等意外情况无法执行结果,这时候我们就需要用的合约的执行策略,一般我们会有三种:全部、大多数、任何一个。意思就是全部执行通过才能执行成功、大多数通过就可以执行成功、任何一个通过就可以执行成功。这个需要根据不同的应用场景进行选择。当然区块链可以个性化的定制任何形式的策略,这里就不在多讲了,只能说策略的配置非常的灵活。
4.共识算法技术
在公链网络里,共识算法是核心,决定了区块链的安全与稳定,但是在联盟链中,共识算法的作用并没有特别重要,所以说共识算法在联盟链中一般考虑是效率。为什么说联盟链中共识算法不重要?可以从两点出发,第一是联盟组建的基础就是信任,如果这个人不值得信任,不会被加入进来;其次,联盟链中处处都存证这对身份校验的CA认证机制,相当于实名认证,每个人的行为都是要负责任的,即使作恶也会带着身份作恶。所以像公链一样的耗时耗能的共识算法(类似于挖矿)在联盟链中是不需要的。
回到正题,接着上面的例子将,什么是共识算法?前面说到,在群里发送消息,每个人都能收到,那是因为微信有中心化的服务器作为中转站,先接收到某一方发送的消息,然后再转发给其他人。区块链中是不可能存在这样的中心化组织,所以共识算法相当于帮我们随机在成员里选择这样一个成员承担消息转发的工作。每当有消息需要发送,共识算法会随机挑选(随机也是有一定算法规则的)转发节点,没有人知道下一个负责转发的组织是谁。简而言之,共识算法就是挑选一个最合适的成员,进行消息的存储和分发。
以上就是对区块链几个关键技术的总结和分享,通过例子方便大家理解区块链的4项核心技术是什么,是如何运作的,该如何理解他们,希望能够帮助到大家理解区块链,欢迎大家指正交流。
注册有任何问题请添加 微信:MVIP619 拉你进入群
打开微信扫一扫
添加客服
进入交流群
发表评论