当前位置:   article > 正文

区块链技术概述_区块链概述

区块链概述

当今互联网的四大逻辑:ABCD(AI +Block chain +Cloud +Big Data)。

其中AI解决数据如何产生价值;Block chain解决数据所有权的确认和流转;Cloud存储数据;Big Data解决庞大的数据如何组织的问题。B(Block chain)展开如下分析。

1 区块链概述

1.1区块链定义

区块链是一种去中心化、去信任化、完整且动态一致的、不可篡改的多方参与和监督维护的分布式数据库。通过时间戳、哈希算法、非对称加密、分布式和共识机制等技术,解决数字资产确权、信任等问题,实现网络信息转移到网络价值转移的巨大飞跃。

关于区块链技术的定义繁多,在维基百科中区块链被定义为:“区块链是用分布式数据库识别、传播和记载信息的智能化对等网络,起源自比特币。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了若干次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块”。

区块链首次在中本聪2008年发表的《Bitcoin:A peer -to -peer Electronic Cash System》中出现。文章指出目前几乎所有的交易都是借助第三方机构完成的。这种交易出现的原因是因为交易双方互不信任,商家会要求商家填写完整且非必要的信息,却依然不能避免某些欺诈行为。第三方机构的存在,增加中介费用,扩大不必要的交易规模。区块链有很多优势,它通过多方共识算法建立起了互联网上的信任,并通过智能合约实现了服务流程自动化,是继互联网革命之后又一次颠覆性革命。

区块链原本是比特币等加密货币存储数据的一种独特方式,是一种自引用的数据结构,用来存储大量交易信息,每条记录从后向前有序链接起来,具备公开透明、无法篡改、方便追溯的特点。实际上,这种特性也直接体现了整个比特币的特点,因此使用区块链来概括加密货币背后的技术实现是非常直观和恰当的。区块链是一项技术,加密货币是其开发实现的一类产品,不要等同或混淆。与加密货币相比,区块链这个名字抛开了代币的概念,更加形象化、技术化、去政治化,更适合我们研究、去推广。

​ 广义的区块链技术,必须包含点对点网络设计、加密技术应用、分布式算法的实现、数据存储技术的使用等4个方面,其他的可能涉及到分布式存储、机器学习、VR、物联网、大数据等。狭义的区块链仅仅涉及到数据存储技术、数据库和文件操作等。

1.2 区块链架构

1.2.1 区块链版本

区块链1.0应用以比特币为代表,为了解决货币和支付手段的去中心化;区块链2.0就是更宏观的对整个市场的去中心化,利用区块链技术来转换许多不同的资产而不仅仅是比特币,通过转让来创建不同资产单元的价值。例如在金融领域的运用、构建去中心化资产管理系统、Dapp构建去中心化自治社会、区块链股权应用等。

区块链2.0通过智能合约来彻底颠覆了传统货币和支付的概念,而区块链3.0将是区块链在非金融货币领域中的价值。例如去中心化域名系统Namecoin、数字身份验证、区块链政府、去中心化公共服务、工业化基因测序、区块链公证和知识产权、慈善捐赠信任、重构现有的征信模式等。

区块链促进大数据预测任务自动化,区块链可以和大数据连接,大数据预测分析可以和自动执行的智能合约完美结合,区块链技术加入到经济支付层面,做为量化工具,海量自动执行的任务会解放大量的人类生产力。区块链也会促进大数据向下一个数量级发展。

1.2.2区块链架构

区块链的技术模型及架构自下而上依次是数据层、网络层、共识层、激励层、合约层和应用层组成。区块链架构1.0和升级版分别如图1和2所示:

Image text
图1 区块链1.0基础架构
Image text
图2 区块链升级版架构

1.3分层简述

首先是“数据层”,封装了底层数据区块的链式结构,以及相关的非对称公私钥数据加密技术和时间戳等技术,这是整个区块链技术中最底层的数据结构。这些技术是构建全球金融系统的基础,近十年的使用证明了它非常安全的可靠性。而区块链,正式巧妙地把这些技术结合在了一起。

其次是“网络层”,包括P2P组网机制、数据传播机制和数据验证机制等。P2P组网技术早期应用在BT这类P2P下载软件中,这也意味着区块链具有自动组网功能。

第三层“共识层”,封装了网络节点的各类共识机制算法。共识机制算法是区块链的核心技术,因为这决定了到底是谁来进行记账,而记账决定方式将会影响整个系统的安全性和可靠性。目前已经出现了十余种共识机制算法,其中比较最为知名的有工作量证明机制(POW,Proof of Work)、权益证明机制(POS,Proof of Stake)、股份授权证明机制(DPOS,Delegated Proof of Stake)等。不过,对于不需要货币体系的许可链或者私有链而言,绝对信任的节点以及高效的需求上述共识算法并不能够提供,因此对于这样的区块链,传统的一致性算法成为首选,PBFT(拜占庭容错)、PAXOS、RAFT。数据层、网络层、共识层是构建区块链技术的必要元素,缺少任何一层都将不能称之为真正意义上的区块链技术。

第四层“激励层”,将经济因素集成到区块链技术体系中来,包括经济激励的发行机制和分配机制等,主要出现在公有链当中。在公有链中必须激励遵守规则参与记账的节点,并且惩罚不遵守规则的节点,才能让整个系统朝着良性循环的方向发展。而在私有链当中,则不一定需要进行激励,因为参与记账的节点往往是在链外完成了博弈,通过强制力或自愿来要求参与记账。

第五层“合约层”,封装各类脚本、算法和智能合约,是区块链可编程特性的基础。比特币本身就具有简单脚本的编写功能,而以太坊极大的强化了编程语言协议,理论上可以编写实现任何功能的应用。如果把比特币看成是全球账本的话,以太坊可以看作是一台“全球计算机”,任何人都可以上传和执行任意的应用程序,并且程序的有效执行能得到保证。

第六层“应用层”,封装了区块链的各种应用场景和案例,比如搭建在以太坊上的各类区块链应用即部署在应用层,而未来的可编程金融和可编程社会也将会是搭建在应用层。

激励层、合约层和应用层不是每个区块链应用的必要因素,一些区块链应用并不完整的包含后三层结构。接下来将分章节总结各层的技术特点。

1.4区块链数据库与传统数据库比较

区块链其本质上是一个去中心化的数据库。区块链系统能够大幅度降低成本,减少风险和管理成本,提升流动性,增加创新产品和服务的机会。可以说,和大数据、云计算、人工智能一样,区块链是未来十年中举足轻重的技术。

1.4.1 区块链系统和CAP、ACID和BASE

为什么我们说区块链系统其实是一个分布式数据库系统?

ACID

传统的数据库都满足ACID原则。我们首先来看一个“事务”(transaction)的概念。事务是一个操作序列,是一个不可分割的基本工作单位。在一个传统的数据库管理系统(DBMS)中,事务应该具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。取这四个英文单词的首字母缩写,我们得到的是ACID。

从ACID的四个特性来看,我们发现其实比特币区块链系统几乎具有这些特点:①一个区块要么被全部记录进入区块链,要么不被认可,不可能有中间状态;②一个区块在加入区块链之后,原本区块链的系统依然保持完整性;③每次只有一个区块可以被加入到区块链中,所以隔离性是当然的;④而在区块被写入链条之后,新的区块链会被复制到所有的区块链节点上,被永久保存。

在区块链系统上有一个特殊情况,如果两个不同的节点差不多同时申请挖币的奖励,那么它们中会有一个节点计算出的区块在最终会被抛弃,因而ACID特性中的D(持久性)其实是不满足的。

BASE

因为区块链节点处于地球各处,而这些节点又是由不同用户维护的,所以其实我们并不能保证每次访问区块链的系统时都能获取到数据,而这恰恰又对应了互联网时代分布式数据系统的一个特性,可以称之为为BASE。BASE是一个很怪异的词语的缩写:Basically Available,Soft-state,Eventual Consistency(基本上是可访问的、软状态、最终一致性)。

在BASE理念中,基本可用是指系统在出现不可预知的故障时,允许损失部分可用性;软状态是指允许系统中的数据存在中间状态,不过该中间状态的存在并不会影响系统的整体可用性;最终一致性指的是所有的数据副本,在经过一段时间的同步之后,最终都能够达到一致。和ACID概念的强一致性相比,BASE理念面向的是可扩展的分布式系统,BASE通过牺牲强一致性来获得可用性,并允许数据在一段时间内是不一致的。不过两者的共同点是最终会达到一致状态。我们可以认为区块链系统符合分布式数据系统的BASE理念。

CAP

在分布式数据系统中,有三种重要的属性如下:

① 一致性(Consistency):数据一致性,任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的。

② 可用性(Availability):好的响应性能,每一个操作总是能够在确定的时间内返回,

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/316022
推荐阅读
相关标签
  

闽ICP备14008679号