当前位置:首页 » 区块链精品文章 » 正文

1.2 区块链概念

1991 人参与  2018年10月15日 11:26  分类 : 区块链精品文章  评论

区块链(Blockchain)技术自身仍然在飞速发展中,目前还缺乏统一的规范和标准。Wikipedia给出的定义为:

A blockchain,originally block chain,is a distributed database that maintains acontinuously-growing list of data records hardened against tampering andrevision.It consists of data structure blocks—which hold exclusively data ininitial blockchain implementations,and both data and programs in some of themore recent implementations—with each block holding batches of individualtransactions and the results of any blockchain executables.Each block containsa timestamp and information linking it to a previous block.

简而言之,区块链技术让参与的系统中任意多个节点,通过密码学算法把一段时间系统内的全部信息交流数据计算和记录 到一个数据块(Block)中,并且生成该数据块的指纹用于链接(Chain)下个数据块和校验,系统中所有的参与节点共同认定记录是否为真。加 入 会 员 微 信 dedao555

1.2.1 区块链本质

区块链,实质是由多方参与共同维护的一个持续增长的分布式数据库,也称为分布式共享账本(Distributed Shared Ledger),其核心在于通过分布式网络、时序不可篡改的密码学账本及分布式共识机制建立彼此之间的信任关系,利用由自动化脚本组成的智能合约来编程和 操作数据,最终实现由信息互联向价值互联的进化,如图1-2所示。

image.png

图1-2 从传统集中记账方式(左)到分布式总账(右)

区块链是一种与传统集中记账方式不同的记录技术。参与到区块链系统上的节点,可能不属于同一组织、彼此无须信任; 区块链数据由所有节点共同维护,每个参与维护的节点都能获得一份完整记录的拷贝。与传统的记账技术相比,其特点包括:维护一条不断增长的链,只可能添加记 录,而发生过的记录不可篡改;无须集中控制而能达成共识,实现上尽量采用分布式;通过密码学的机制来确保交易无法抵赖和破坏,并尽量保护用户信息和记录的 隐私性。

1.2.2 区块链工作原理

所谓区块链,正是由多个区块组成的链状数据结构及存储方式。每个区块分为区块头和区块体,区块头主要用来实现区块链接的前一区块哈希值(Hash Value),而区块体主要包括交易账本,如图1-3所示。

image.png

图1-3 区块链的账本

以交易场景为例,区块链的工作原理如下:

1)客户端将发起一笔交易,经数字签名后广播给网络上的其他节点并等待确认;

2)网络中的节点对收到的数据记录信息进行校验,通过校验后,数据记录被记录到一个区块中;

3)全网所有接收节点对区块执行共识算法,区块通过共识算法过程后正式纳入区块链中存储,全网节点均表示接受该区块。表示接受的方法,是将该区块的随机哈希值视为最新的区块哈希值,新区块将提供永久和透明的交易记录并以该区块链为基础进行延长,实现资金转移。

1.2.3 区块链技术特点

具体来说,区块链技术作为创造信任的机器,主要有以下特点。

·分布式结构。区块链构建在分布式网络基础之上,账本并不是集中存放在某个服务器或数据中心,也不是由第三方权威机构来负责记录和管理,而是分散在网络中的每一个节点上,每一个节点都有一个该账本的副本,所有副本同步更新。

·信任机制。区块链技术通过数学原理和程序算法,使系统运作规则公开透明,实现交易双方在不需要借助第三方权威机构信用背书下通过达成共识,建立信任关系。

·公开透明。区块链对其上的节点可以做到开放、透明。任何人都可以加入区块链,也能查询区块链上的区块记录;同时所有用户看到的是同一个账本,能看到这个账本所发生和记录的每一笔交易。

·时序不可篡改。区块链采用带有时间戳的链式区块结构存储数据,具有极强的可追溯性和可验证性;同时由密码学算法和共识机制保证了区块链的不可篡改性。

1.2.4 区块链层次模型

区块链技术的模型包括由自下而上的数据层、网络层、共识层、激励层、合约层和应用层,共有6层。

数据层、网络层、共识层是区块链的必要元素。

1)数据层:最下层是“数据层”,它封装了底层数据区块的链式结构,以及相关的非对称公私钥数据加密技术和时间戳等技术,这是整个区块链技术中最底层的数据结构。

2)网络层:中间是网络层,包括P2P组网机制、数据传播机制和数据验证机制等。

3)共识层:第三层是共识层,封装了网络节点的各类共识机制算法。

而激励层、合约层和应用层不是区块链的必要元素,一些区块链应用并不完全包含上面3层结构。

第四层是激励层,它将经济因素集成到区块链技术体系中来,包括经济激励的发行机制和分配机制等,主要出现在公有链当中。

第五层是合约层,它封装各类脚本、算法和智能合约。

第六层是应用层,它封装了区块链的各种应用场景和案例,未来的可编程金融和可编程社会也将搭建在应用层中。

1.2.5 区块链共识算法

区块链并不是某种特定技术,而是一种类似于NoSQL(非关系型数据库)这样的技术解决方案的统称。共识机制算法 是区块链的核心技术,因为这决定了到底由谁来记账,而记账方式将会影响整个系统的安全性和可靠性。目前已经出现了十余种共识机制算法,其中较为知名的有 PoW(Proof of Work,工作量证明),PoS(Proof of Stake,权益证明),DPoS(Delegate Proof of Stake,股份授权证明)机制以及拜占庭将军容错共识等。当然,没有一种共识机制是完美无缺的,同时这也意味着没有一种共识机制是适合所有应用场景的。

1)PoW(工作量证明):就是挖矿,主要应用包括比特币和以太坊前三个阶段等。依赖机器进行数学运算来获取记账 权,即通过与或运算,计算出一个满足规则的随机数,获得本次记账权,发出本轮需要记录的数据,全网其他节点验证后一起存储。优点是完全去中心化,节点自由 进出;缺点是资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,达成共识的周期较长,因此不适合商业应 用。

2)PoS(权益证明):由Quantum Mechanic 2011年在bitcointalk首先提出,它是PoW的一种升级共识机制,在Peercoin、NXT和以太坊第四个阶段等应用。根据每个节点所占代 币的比例和时间,等比例地降低挖矿难度,从而加快寻找随机数的速度,因此节点记账权的获得难度与节点持有的权益成反比,但它依然是基于哈希运算竞争获取记 账权的方式。其优点是相对于PoW在一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升;缺点是还需要挖矿,本质上没有解决商业应用的痛点, 可监管性也比较弱。

3)DPoS(股份授权证明):与PoW和PoS不同,DPoS不需要再挖矿了,而是类似于董事会投票,持币者投 出一定数量的节点,代理他们进行验证和记账,持股人拥有所持股份对应的表决权。优点是大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证,降低运 行网络的成本和维护网络安全的费用,增强网络效能;缺点是整个共识机制还是依赖于代币的,然而很多商业应用是不需要代币存在的。

在区块链加密技术出现之前,互联网上的信息拷贝是零成本的,数字资产具有无限可复制性,如果没有可信赖的第三方监督,我们根本无法确认一笔数字现金是否被花掉,因此可能出现重复支付的问题。[¤]

为了解决这个问题,区块链参照了“拜占庭将军问题”(Byzantine failures)[5]的 算法。该问题是一个协议问题,指拜占庭帝国军队的将军们必须全体一致决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒, 而将军们只能依靠信使来传递信息。如何才能防止受到叛徒欺骗而做出错误决策呢?数学家设计的算法是让将军在接到上一位将军标有进攻时间的信件之后,写上同 意或反对并盖上自己的图章,然后把信转发给其他所有的将军,在这样的信息周转之后,最后会出现一个盖有超过半数将军图章的信息链,以保证将军们在互不信任 的情况下达成共识。

莱斯利·兰伯特把拜占庭将军问题引入到点对点通信中。拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或断开以及遭到恶意攻击,计算机和网络可能出现不可预料的行为。拜占庭容错协议必须处理这些失效,并且这些协议还要满足所要解决问题要求的规范。

区块链的技术原理参考了拜占庭将军问题的算法,通过盖戳的形式来进行公证。网络上的每一个参与者的计算机里都会有 一份总账的备份,也都能在这本总帐里记上一笔,并且所有的备份都是在实时地、持续地进行更新、对账,以及同步着拷贝,即全网记账。每个节点都可以竞争盖 戳,互相认证。这使得一个不可信网络变成了一个可信的网络,使得所有参与者可以在某些事情上达成一致。

1.2.6 区块链并不一定去中心化

理想化的区块链系统,是由许许多多节点组成的点与点的网络结构,似乎既不需要中心化的硬件设备,也不需要任何管理 它的机构。在很多文献中都提出区块链是去中心化的(Decentralized),即整个网络没有中心化的硬件或者管理机构,任意节点之间的权利和义务都 是均等的,且任一节点的损坏或者失去都会不影响整个系统的运作。

需要指出的是,区块链并不一定是去中心化的。实际上,软件系统的网络架构一般有3种模式:单中心、多中心、分布 式,Decentralized只表明不是单中心模式的,它可能是多中心或弱中心,也可能是分布式的。把Decentralized翻译成“去中心化的” 可能与最早由中国大陆“币圈”所做出的翻译偏差有关,实际上在中国台湾地区大多译为“分散式的”而不是“去中心化的”。因此,把 Decentralized翻译成“分布式”或者“多中心化”,可能更切合今天技术和金融场景应用的实际。

在人类历史上,信息传播的延迟和谬误会导致信息不对称,这形成了各种中心化的强权组织和阶级分化。虽然信息社会特 别是社交媒体的出现已经减弱了这种情况,但是目前仍无法达到绝对的信息对称。我们期待在区块链搭建的机器社会中进行深刻且迅速的社会关系变革,形成绝对信 息对称,但是至少目前在机器社会还难以实现,即不能完全去中心化。

2016年The DAO受攻击事件也表明,完全去中心化至少在现阶段是不可行的。The DAO是一个基于以太坊公有链的众筹项目,成为史上最大的众筹项目。然而由于其智能合约的漏洞,导致The DAO被黑客攻击并转移走价值6000万美元的数字货币,最后不得不黯然落幕。这给以太坊生态系统带来了很多负面影响。此次事件之后,很多人对区块链的 “去中心化”进行了反思:在挽回这个损失的过程中,原有的去中心化机制未能解决问题,最后还是通过“集中式”的方式,强制以太坊进行“硬分叉”完成交易回 滚。

如果我们仔细研究中本聪的论文,就会发现其中只有Peer-to-Peer(P2P),而没有 Decentralized一词。业界也正在逐渐对区块链并不一定去中心化形成共识。在2016年6月召开的W3C区块链标准会议上,以太坊的核心开发团 队EthCore明确表示,不再使用Decentralized这个词,而是用P2P、Secure、Serverless这类纯技术性词语。

但是如果简单地宣称去中心化,会被误读成是在某种程度上存在着一种既想从事金融活动,又不愿意接受金融监管的倾向。


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=1090

区块链是什么  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>

网站分类

标签列表

最近发表

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

本站资源大部分来自互联网,版权归原作者所有!