区块链技术体系初步

1.背景
在传统互联网的TCP/IP协议下,我们进入了信息爆炸时代。在当前情况下,信息快速成型,低成本传输与大量信息共享得到了实现。目前的互联网金融模式是以中心化记账形式来进行等价值货币转移而运行的,比如A在互联网上转账给B,A需要通过网上发送请求给中心化机构承担者,通过在中心机构记账的方式,将信息转化为价值,再由中心机构将等价值的货币转移至B的账户上。这种情况需要政府或者企业利用信用为中心化机构承担者做出保障,但由于传统信息互联网部分个体篡改局部数据情况无法及时发现甚至无法掌握相应情况,因此这种结构依然存在安全性问题。
因此,我们如何实现传统网络传递价值?这就是近几年火起来的新技术——区块链。2008年中本聪在互联网上一个讨论信息加密的邮件组中发表了一篇文章,文章名叫《Bitcoin: A Peer-to-Peer Electronic Cash System》,勾画了比特币系统的基本框架。 2009年他为该系统建立了一个开放源代码项目 (open source project),正式宣告了比特币的诞生。区块链技术刚开始是为了支持比特币生成与交易而产生的底层技术,其目的是通过建立去中心化的信任,从而不再依托于单个中心结构记账,从而通过P2P网络直接进行价值交换,从而使得实现传统信息交换互联网变为价值交换互联网成了可能。后续这门技术得到了进一步提炼发展,便从比特币中提取出来,成了今天的区块链技术。
2.区块链的初步以及几个名词解释
2.1 什么是信用?
信用,是指依附在人之间、单位之间和商品交易之间形成的一种相互信任的生产关系和社会关系。如果我们用数据m量化描述这个概念,那么当m的值越高,则描述个体的信用程度越大,人们就更容易相信该个体发布的交易与账户信息。目前的中心化交易体系就是如此,国家建立法制的社会信用体系,利用国家公信力与强有力的法律为银行做保证,从而提升市场对于银行的信用程度,通过银行这一中心化的组织来进行经济行为有效监管与控制。然后大型互联网企业则利用自身平台影响力,不断提升自己平台影响力,通过自身理念与遵守相关法律法规增加用户对其信用基础,从而让用户能够安心使用平台所提供的网络价值交换服务。
2.2 什么是价值转移?
价值转移,是指具有同等购买力的货币进行流通。在当前金融体系下,价值转移行为需要由第三方进行价值记账,价值交换等行为的操作,控制,才能实现价值在不同个体间的转移。
2.3 什么是P2P网络?
P2P网络,即对等网络(Peer-to-peer networking),网络参与者共享他们自己的硬件资源(处理能力,存储容量,网络连接,打印机等)的一部分,通过网络提供服务和内容,并且可以由其他对等方直接访问而无需中间实体。 该网络的参与者既是资源,服务和内容提供者(服务器),也是资源,服务和内容获取者。在P2P网络环境中,多台彼此连接的计算机处于相同的位置。 一台电脑可以作为服务器并为网络设置共享资源使用其他计算机,也可作为工作站,网络一般不依赖于专用的集中式服务器,也没有专门的工作站。 网络中的每台计算机既用作对网络服务的请求,也用于响应其他计算机提供资源,服务和内容的请求。
2.4 区块链的定义
区块链技术是指一种去中心化的分布式共享记账存储技术,本质上是数据库技术,是一连串使用密码学方法产生相关联的数据块,每一个数据块即为区块,其包含了一段时间内全网交易信息和用于验证其有效性的信息,每一个区块通过指针连接,上一个区块可以创建下一个区块,整体呈现链式排布。
如下图所示,即为传统中心化交易体系,这类体系下中心企业信用度指数要高,同时对于现有以信息传递的互联网体系下,无法实现在线价值转移必须经过第三方平台转移之后才能实现此功能。
图1 中心化交易体系

这类体系存在如下问题:1.黑客可以修改转账信息,更改数据后,如果无有效交易检验方法,则在现有的信息网络情况下,这种情况不容易被发现,然后矫正。2.中心化体系下,必须对于中心单位给予强有力的信用保证,但对于网上支付平台下,大部分企业自监自查,一旦中心单位出现数据丢失等不可控困难,这种情况存在很大经济波动风险。3.传统交易体系下,网上支付无法直接在线进行价值交换,使用不是很方便。为了解决上述问题,区块链技术便横空出世了。
2.5 区块链系统交易过程
如下图所示,在区块链技术体系下,一个区块链系统有很多节点构成,每一个参与的节点都能够记账,即更新数据库信息。区块一利用私钥签名创建交易后,将信息发往全网进行广播,其交易记录通过P2P网络向后传播,然后经过系统共识机制对交易进行验证,确定交易信息有效性后,将验证结果与上一个节点交易记录一起再次利用P2P网络传递给下去,最后各个记账节点依托于验证结果将交易记录写入账本,更新区块存储信息,从而实现了去中心化的分布式记账。
而共识机制是用来确定分布式系统节点中的账本记录节点的一种机制,其中目前最常用的是工作量证明机制——各个节点通过区块接入系统,通过本地计算能力高低来确认记账与否的能力。计算能力越高的节点,则越能成为账本记录节点,就能将自己节点的交易信息形成一个新的区块加入链中。一旦加入链中,如果想要修改一个区块链中某个区块交易信息,就必须完成该区块与后一个区块的工作量,从而让更改数据成为不可能。
图2 区块链交易过程
鉴于此,实现区块链技术的关键因素也就出来了,即:1.由于每个节点可以自由加入或退出系统,则形成有效的盘P2P动态网络是关键因素。2.形成时间有序排列的切不可更改的系统主体交易账本(由于个体交易账本篡改不会影响后续节点,真实交易记录会在多个节点存在,因此更改局部节点交易账本一般不会对整体系统产生作用)。3.系统含有有效的统一采用的共识机制模型。
3.区块链技术理论详解
3.1 区块与区块链结构
图3 区块结构
区块结构如上图所示,每一个区块包含前一个区块ID,交易记录信息,本区块ID等信息。其中交易记录也被称作账本,其结构有两种,一种是采用链式Hash结构防篡改,一串数据hash区块组成链,每个区块账本包含了最近交易集合的hash值,一旦某个部分数据更改,那么hash校验就会出现许多新的结果,从而实现欺骗行为的甄别。另一种是采用公钥密码机制标识的资产所有者,从而利用公钥做为标识,仅仅只有相应私钥的用户才能拥有转移价值行为操作基础。
图4 区块链结构
如上图所示,区块链是由多个区块连接起来的一种链式结构,区块链之间彼此用指针相互对应关联起来,如图3.1-2,由于每一个区块都可以创建一个新的区块,故需要一种共识机制,也是目前应用最广泛的工作量证明机制,通过比拼不同区块也就是节点的计算能力,算力越高,则就越能获得合法的记账权,从而挂载入区块链,同时产生下一个区块。算力不高的区块就无法挂载入链中,其原理类似于大自然中动物群体生殖权争夺。而新区块的ID不一定是前一个区块加1,此处仅仅作为合理性展示才如此画图。除此外,链越长,信用指数越高,越容易受到人们认可,除此外区块链采用高冗余度的存储系统来进行数据存储,在运用工作量证明机制后,也带来高能耗等缺点,此处我们后面再谈。
3.2 区块链的模型架构
首先提两个概念,公有区块链与私有区块链。公有区块链是指全世界任何人都有权限,可随时随地读取的、任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链,对用户访问区块链系统不做权限限制的区块链,链越长信用度就越高,这也是公有链越能获得大多数人认可的重要原因。而私有区块链通过严格的权限限制供特定人访问运行,安全度得不到保障。
如下图所示,区块链模型结构类似于TCP/IP模型结构一样,由图中所示六层组成,从技术最底层向上排列分别是数据层、网络层、共识层、激励层、合约层、应用层。其中数据层,封装了底层数据区块的链式结构和相关的非对称数据加密技术和时间戳等技术;网络层,包含了分布式组网机制数据传播和验证机制,对于交易过程控制意义重大;共识层封装网络节点的共识机制算法模型,对于确立记账节点有重大作用;激励层则包含经济发行机制与分配机制,用于激励遵守规则参与记账的节点,惩罚违反规则的节点;合约层则封装各类算法,编程协议,这给了区块链技术编程基础;应用层则为各类区块链应用程序提供了运行环境。其中图中红色三层为区块链必须的层数,其他三层为非必需层数。
图5 区块链模型结构
除此外,在私有链中,一般不含有激励层,可能由私有链使用者添加强制性因素进行记账节点分配。
3.3 区块链的共识机制模型
共识机制是区块链技术的核心,其主要起到了交易账本信息验证和确认的作用,同时其决定了哪个区块节点为共识记账节点。同时在拼接区块链时,在上一个区块具体挂载下一个区块时的,所需区块节点也由工作量证明机制来决定的。此处介绍两个运用广泛的共识算法模型。
**3.3.1 工作量证明机制(POW)**
如2.5节的图中所示,在一个稳定的,多个节点达成统一共识机制的系统中,其中一个节点作为证明者,提交已知的,难以计算但容易验证的结果,其他任何节点都能通过验证这个结果确信证明者为了求得结果已经大量完成了相应工作量的计算结果,这就是工作量证明机制。比如飞行员有了10000小时飞行时间,则我们都可以相信这个飞行员有高超的驾驶技术,工作量机制与之同理。工作量证明机制中,其利用SHA256 hash算法计算工作量。一个符合要求的区块hash值由n个前导邻,前导邻个数取决于网络的复杂度。要得到合理的区块hash需要大量的运算,运算速度取决于机器hash运算速度。一个节点拥有合理hash值是一个概率性事件,因此当节点拥有合理hash值时,需要运用大量资源进行计算,完成了相当的工作量,因此算力值越高的节点就越能成为记账节点,这也是挖矿时严重耗电的重要因素。
获得记账权概率为算力占总节点算力值的概率值,这也为POW系统的安全提供了很高的保障,毕竟要想攻破一个基于POW的区块链系统,没有一定的算力资源可没法攻破这个系统。
**3.3.2 权益证明机制(POS)**
这是一个shy256算法替代品,避免大量计算工作量的算法模型。其通过对每一笔的交易销毁的币/天数,来实现证明者对某些数量的钱展示所有权。币天数代表一个特定的币,作为网络中权益代表量化单位,一旦有交易发生币天数就会被销毁且无法重复使用。在给定时间点内,存在有限币/天数是有限的,鉴于此在区块链中,持有更多数据货币的人就会有更多币天数,则类似于股份权益,占比更多的人分红更多。
POS安全性将不再靠工作量来保护,而是通过链的一体性来决定的其安全性的,即凡是处于POS中的人区别只是收益不同,但大家都有收益的前提是系统安全性,因此其中大股东更加注重链的安全性与完整性。
3.3 区块链的类型
**3.3.1 公有链与私有链**
具体阐述请见3.2区块链模型架构。此处谈一谈公有链与私有链区别,公有链一般含有一个完整的代币系统,在激励层能够奖励遵守规则的记账节点,惩罚违反规则的记账节点,而私有链中节点是某个组织内部节点,注入权限就不会含有代币系统。公有链就类似于互联网,私有链就类似于局域网,当前大部分公司都在采用私有链技术。
**3.3.2 联盟链**
其共识过程受到选择预先节点选择控制的区块链,在系统建立前就预先决定记账节点分布与其他节点状态。
**3.3.3 许可链**
是指每个节点加入区块链需要取得许可的一种区块链种类。
**3.3.4 混合链和复杂链**
伴随着区块链技术发展,链中每个节点可以根据不同需要通过权限控制其功能,比如在同一个系统中,有的节点记账,有的节点可以查询整个链信息,有的节点只能查询部分信息,从而构成了一个复杂但高效的区块链网络。
4.总论
区块链初步理论体系记录到此结束了,但智能合约部分暂未记录,还在研究,在后续会进行更新完成。从目前收集资料上来看,区块链技术的确有对互联网进行变革的潜力,其价值转移互联网一旦成型,将会对目前的信息网络带来更多积极的影响,值得关注。