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