购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第二章
演进

区块链概念起源于比特币系统。比特币之前的数字密码货币之所以失败,就是因为无法摆脱对第三方信任的依赖。

直到2015年初,区块链这个概念才开始被社会大众所关注,行业教育也从那时才开始进行。随着社会关注越来越多,围绕区块链的技术和商业应用,也在越来越迅猛地发展。

区块链最初的学术定义为由包含交易信息的区块从后向前有序连接起来的数据结构。

图2.1 比特币区块链示意图

因为区块链是比特币系统的主要支撑技术,在比特币系统中区块链就是记录所有比特币交易的公开账本。每个新增加的区块里面存储了矿工们最近的交易记录,然后按时间顺序依次被添加到区块链上。区块链存储在由多个节点 组成的分布式网络系统上。每个完整的节点都存储有整个区块链的副本,而每一个计算机节点之间通过网络进行比特币交易信息的共享。

同时区块链也是一个交易数据库,其中存储的是在系统中由所有节点共享的信息,称为分布式加密总账本。通过这个总账本,区块链实现了其不需要一个中央权力机构或受信任的第三方来协调互动、验证交易或监管行为的特征。一个区块链上的完整副本包含了每一个曾经执行的交易,使得历史上的任何信息都可以被任何一个参加的节点所访问。

简单来讲,区块链包括三个要素:

● 共享状态;

● 通过区块来更新共享状态的规则;

● 一个用于标记时间的信任模型。

这三个要素解决了分布式加密总账本的三个主要问题:

● 共享过去所有交易历史的状态,建立了保存功能;

● 更新状态的规则,解决了数据安全性的问题;

● 使用信任模型来标记成员的交易,可以完成验证功能。

区块链是一种可以使数据通过协议在多个独立计算机组成的网络间共享的软件技术。区块链具有三个明显的特性:公开性、安全性和唯一性。

➢ 公开性

公开性是指区块链中存储的信息对所有的参与者完全公开。这一点是由区块链的点对点网络存储方式决定的。在区块链网络中,每一个节点都可以存储区块链的副本,而区块链的唯一性保证了这一副本在不同节点之间完全相同。

➢ 安全性

安全性是指区块链上的信息是通过数字加密技术保存的,只有持有相应解密信息(私钥)的成员才能够解读信息。其他成员虽然可以看到并验证信息的完整性和唯一性,但无法获得私钥本身。

➢ 唯一性

唯一性是指区块链上存储的信息不可更改。这既包括在空间上的唯一性,即所有节点都只有一个相同的信息;也包括在时间上的唯一性,即历史数据不可更改。

同时,区块链的唯一性还指区块链在运行过程中保持唯一的一个链条的特性。因为如果出现不同的链条,区块链就形成了分叉,分叉的出现会使得区块链在两个不同的空间维度中出现副本,而这正是要通过共识的规则来避免的。

区块链去中心化

“论天下大势,分久必合,合久必分”,这是历史的规律。“合”的意思就是集中管理,也可谓中心化;“分”的意思就是分散管理,也可谓去中心化。

中心化的好处是认证、管理机制明确统一,可以集中力量办大事,效率高;而弊端是管理、仲裁工作庞杂,机制上的任何缺陷都会造成整体的受损,同时缺少权力的制约,从而出现不堪重负或者集中力量办坏事的情况。所以就有了去中心化来弥补中心化的不足。

从社会发展上来讲,在以前由于技术的限制和制度的约束,不管是人人自由还是人人平等,理想都很丰满,但现实有点骨感。而区块链的出现在技术上实现了真正去中心化的可能,而这也必将促进社会的变革和进步。

那么区块链是如何在技术上实现去中心化的呢?核心主要是以下三种技术。

加密技术

加密技术体系有多种分类。基本来讲,可以将加密技术体系分为对称加密体系和非对称加密体系,两个体系各自有不同的使用场景和技术路线。

图2.2 对称加密

对称加密算法在加密和解密时使用的是同一个密钥,这就决定了对称加密算法的两方需要事先进行密钥协商,或者通信的双方需要预先知道双方使用的密钥,保证一方的加密可以被另一方解密。

非对称加密算法需要两个密钥来进行加密和解密,其中一个是公开密钥(public key,公钥),另一个是私有密钥(private key,私钥)。公钥是可以公开的,也需要通过公共的渠道公开给相应的通信方;而私钥是非对称加密算法中的关键,需要安全地保护好。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果使用私钥进行数据的签名,只有公钥可以来验签。

图2.3 非对称加密

因为加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法。由非对称加密算法形成的非对称加密体系解决了信息公开传送和密钥管理问题,是一种新的密钥交换协议,允许在不安全的媒体上的通信双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。

➢ 非对称加密算法

● 非对称加密与对称加密相比,其安全性更好。

● 非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

在非对称加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。比特币采用椭圆曲线加密算法来产生公钥和私钥,钱包地址即公钥,私钥由用户保存。

➢ Hash算法

区块链系统中除了使用非对称加密算法之外,另一个重要的密码技术是Hash算法或者叫散列技术。

所谓Hash,就是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是散列值的空间长度通常远小于输入的空间长度,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一确定输入值。或者简单地说,就是一种将任意长度的数据信息压缩成某一固定长度的数据信息摘要的函数。

图2.4 Hash算法

散列函数有一个基本特性即免碰撞性:一方面,如果两个散列值是不相同的(根据同一函数),那么这两个散列值的原始输入也是不相同的——这个特性使得散列函数具有确定性的结果;另一方面,散列函数的输入和输出不是一一对应的,如果两个散列值相同,则两个输入值很可能是相同的,但并不能肯定二者一定是相等的。输入一些数据计算出散列值,然后部分改变输入值,一个具有强混淆特性的散列函数会产生一个完全不同的散列值。

区块链系统一般采用Hash算法来快速验证用户的身份。如果用户宣称对某个钱包具有所有权并且要改变钱包对应的信息(在比特币中,就是使用钱包中的余额),他必须提交一个请求,这个请求包括三个部分:钱包地址、明文请求、明文请求由钱包对应的私钥Hash过的签名。这个请求将被发送到区块链网络中。每个节点可以用钱包的公钥来验证这个请求是否对应于这个签名,也就是通过这个办法来验证用户对钱包的所有权(拥有合适的私钥,但是不需要公开这个私钥)。

图2.5 区块链的公钥和私钥

相比非对称加密,Hash算法一般快几个数量级以上,从而使得验证的过程可以非常快速。常用的Hash算法有:MD5、SHA1、SHA256、SHA512、HMAC等。

点对点通信技术

点对点通信技术,是一种对等连接的互联网技术,依赖网络中参与者共同的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。这类网络可以用于多种用途,各种档案分享软件已经得到了广泛的应用。P2P技术也被应用在类似VoIP等实时媒体业务的数据通信中。

纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其他节点充当客户端和服务器。这种网络设计模型不同于传统的“客户端—服务器”模型,在“客户端—服务器”模型中通信通常来往于一个中央服务器,而中央服务器就是系统中的单点故障源头。点对点技术形成的网络,由于设计和实施方案的不同,出现了不同的网络模型。

图2.6 点对点网络

➢ 纯P2P网络模型

在此模型中,网络节点同时作为客户端和服务器,没有中心的服务器,没有中心的路由器。这样形成的网络完全根据系统中节点的活跃程度来保持,网络通信也主要是节点之间路由信息的广播,系统中的通信冗余比较大。

➢ 分层式P2P网络模型

在此模式中,网络节点的角色更加丰富,网络中有一个中心服务器保存节点的信息并对请求这些信息的要求做出响应。同时节点负责发布这些信息(因为中心服务器并不保存文件),使得中心服务器知道它们想共享什么文件,让需要它的节点下载其可共享的资源。路由终端使用地址,通过被一组索引引用来取得绝对地址。

主要特征为:

其一,所有节点参与提供资源,包括带宽、存储空间和计算能力;

其二,网络的分布式,增加了系统的防故障的健壮性,消除了单点故障。

主要应用为:

文件共享:Napster、Gnutella、BitTorrent、eMule、Maze;

即时通信:Skype、GTalk、QQ;

流媒体:PPLive、PPStream、AnySee;

共享存储:CFS、Total Recall、Ocean Store、Granary;

对等计算:SETI@home、Groove。

分布式共识技术

由于点对点通信,分布式系统或者点对点网络中,每个节点是按自己的规则运行的。为保持整个系统数据的一致性,需要借助分布式共识技术。传统的分布式技术中,由于本身的技术特点并不需要数据的一致性,更多的是需要数据的准确性,包括主从、Sharding技术等,但是在点对点网络中每个节点之间并没有依赖关系,所以就更需要数据一致性的机制。

分布式系统的一致性算法是从20世纪70年代就开始研究的经典问题。理解分布式共识算法,需要理解两个名词,分别是“异步”和“共识”。

异步:此处的异步不同于通常技术术语中的“异步调用”的异步,而是指在一个分布式系统中,对消息的处理速度或者消息送达时间不做任何假设。这就是著名的FLP不可能性定理

共识:当多个主机通过异步通信方式组成网络集群时,这个网络默认是不可靠的,那么在这些不可靠主机之间复制状态需要采取一种机制,以保证每个主机的状态最终达成相同一致性状态,即取得共识。

➢ CAP理论

CAP理论又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

图2.7 CAP理论

资料来源:http://baike.baidu.com/link?url=EW1nkdPTyZOpicODQMnGqgZr7i9OgnpG4vU2MtoWY1CIoovQJwG_vVe_9MM3USwKKmN7cH7yFqIti74QTay4-q

这是由分布式系统本身的特性决定的,包括网络的异步性质和通信的不可靠性质等,所以在分布式系统设计中,需要对这三者进行选择,根据系统的设计需求进行考虑。

➢ 节点通信方式

在分布式系统中,节点通信技术分为共享内存(Shared Memory)和消息传递(Messages Passing)两种方式。

共享内存是指通信的多方在某个区域有公共的数据操作区域,解决了多方的数据交互问题,共享内存方式是多方通信比较直接和有效的方式,但缺点也是比较明显的,就是公共区域需要进行互斥操作,避免由于一方的操作影响另一方,所以在多方协同方面需要专门的设计。

消息传递是指多方在通信方面直接借助消息包进行交互,这种消息包的传递可以是系统内的,也可以是系统外的;可以是文件型的,也可以是网络型的。消息的多方之间互相不影响,但是消息传递增加了分布式系统的设计难度。

➢ Paxos

Paxos是最初、最简单的分布式共识算法,是Leslie Lamport(莱斯利·兰伯特,也是LaTeX的实现者)于1990年提出的一种基于消息传递的一致性算法,是通过节点之间来回两次实现状态复制。

Paxos算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点执行相同的操作序列,那么它们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。

Paxos算法难以理解,更难以实现。

基于Paxos算法也产生了一些改进算法,例如Egalitarian Paxos、Fast Paxos与Multi-Paxos等。

➢ Raft

Raft正是基于Paxos算法不容易理解和实现而提出的,Raft通过在系统中引入强势领导者来解决相互系统之间的协调问题,Raft是Paxos的简化版本。Paxos和Raft的区别在于选举的具体过程不同。

在Raft中,任何时候一个服务器都可以扮演下面的角色之一:

Leader:处理所有客户端交互、日志复制等,一般一次只有一个Leader;

Follower:类似选民,完全被动;

Candidate:候选人:类似Proposer律师,可以被选为一个新的领导人。

Raft分为两个阶段:首先是选举过程,然后在选举出来的领导人的带领下进行正常操作,比如日志复制等。

➢ PBFT

PBFT也称为拜占庭攻击容错算法。这里的拜占庭攻击,学术上也称为主动型攻击,即它不是被动型攻击,不是简单的数据窃取和数据窃听,拜占庭攻击实现的是对消息的窃听,同时对消息进行恶意修改为目的。

PBFT算法由Castro(卡斯特罗)和Liskov(利斯科夫)于1999年最早提出,在PBFT算法中最多可以容忍不超过系统全部节点数量的1/3拜占庭节点,即如果有超过2/3的正常节点,系统就可以正常运转。

PBFT采取三个阶段协议进行工作,包括pre-prepare(前期准备)、prepare(准备)和commit(数据提交)。

图2.8 PBFT三个阶段

资料来源:http://www.jianshu.com/p/fb5edf031afd

➢ POW

POW证明机制是基于工作量的,通过工作量的证明来实现系统的数据共识。

POW证明机制在比特币系统出现之前已经有研究人员在使用,主要是用在防垃圾邮件方面。由于传统的邮件发送是没有任何成本的,这也导致了现在垃圾邮件的泛滥,通过POW证明机制实现大量垃圾邮件发送成本的提升,也就有效地防止了垃圾邮件的大规模发送。

在比特币系统中,POW证明机制决定了系统数据共识的来源方,也就是比特币系统中区块链的记账方的争夺,只需向系统证明节点能够快速提供相应的工作量,节点就有向区块链中写入数据的权利。

POW证明机制基于的是数学上难以快速计算的问题,包括Hash碰撞问题、大数分解问题、椭圆曲线问题等。由于这些数学上“难”的问题没有计算的捷径,每个节点只能通过大量的穷举才能找到对应的答案,这是POW证明机制的优点,同时也是POW证明机制的缺点。由于POW是一种赢者通吃的模式,就容易导致系统中弱小的参与方只是陪练的角色,同时也浪费了系统大量的资源,是一种非“绿色”的机制。

POW现在的主要实现系统是比特币系统和以太坊系统。

➢ POS

POS由Quantum Mechanic于2011年在Bitcointalk论坛上提出。POS需要系统中运行一种代币,使用这种代币来表示系统中各个节点的权利,节点拥有更多的代币就拥有更多的发言权、更多的责任,同时也获得更多的收益。POS证明机制称为股权证明机制,黑客要攻击系统需要获得足够多的系统代币,这和算力无关,POS机制比POW机制环保,这是它的优点,同时也是其缺点。

POS机制的权利是有代币天然固定在系统中,使得POS系统运行产生的区块成本比POW低,所以POS代币的内在价值没有POW凝聚的价值大,人们对POS产生的代币多少持不信任态度。

POS机制一般和POW结合来使用,通过POS来控制POW工作量证明的难度,纯粹的POS机制实现比较困难。

POS目前主要在Peercoin和Nxt系统中实现,以太坊也计划转移到POS证明机制,称为Casper机制。另外还有一些POS的变形,包括POS+POW,以及DPOS等。

综合来看,以这些技术为基础,区块链实现了它去中心化的本质特征。通过非对称密码技术,实现了区块链的历史可信;通过点对点通信,实现了区块链网络的不可停止;通过共识机制,实现了区块链网络链条的唯一和数据的唯一,保障了系统的正常运行。

区块链创新发明

区块链提供了一个创造数据可信历史的全新方式。由于区块链本身的公开、透明、区块链条的累加不可逆,改变了数据中心化的产生方式。由此产生的是一段可信的、不可逆的、不可篡改的数据历史,创造了一个可信的时间戳。

对于数据可信的问题,传统的做法是通过一个可信的第三方中心的方式来解决。例如通过政府权威、监管部门或者通过大的企业来提供数据的可信证明,但是所有这些可信数据提供方的操作都是靠人,人的存在就必然有数据是否可靠、可信的问题。正是基于此才有了众多的黑客攻击行为,黑客正是利用了操作人员的漏洞来实现他们的目标。

区块链技术带来了两个重要的创新:Hash散列和时间戳。将Hash散列值作为一种资产验证和认证的形式来使用,成为区块链标志性的里程碑。区块链Hash散列值有可能成为整个社会运作中一个非常重要的功能,使用区块链能够证明在特定的时间内任何文件或者其他数字资产的确定内容。此外,以Hash散列值加时间戳为基础的区块链证明概念,使得区块链成为一种全新的信息技术。

区块链鉴证通常包括文件归档、存储和注册等各类相关公证(验证)服务和知识产权保护服务。根据前面的阐述,这些应用利用区块链技术,使用永久并且公开的方式来记录信息并且组成Hash散列,并能使用区块链浏览器和区块链地址作为全球中央注册数据库来检索信息。其核心功能就是通过一个公开的总账本来验证所有数字资产。

区块链演进层次

互联网真正革命性的起点,始于1973年发明的TCP/IP协议 。TCP/IP协议其实极其简单,用简单的代码协议解决了全人类都不能解决的问题——如何保证传递信息信道的可靠。在过去,传递信息首先会受到“中心控制”制度的限制,其次还有地域、物理上的限制以及成本的限制,而这些限制一下子都被打破了。

我们依靠互联网TCP/IP协议解决了信息传输的问题,却不能保证传递的信息都是真实的,也不能解决价值的存储和传输问题。区块链解决了这些问题,登上了历史的舞台。通过对这些问题的解决,以全球的视角、发展的眼光来看区块链,从低到高可以分为三个应用层级。

第一个应用层级——货币互联

比特币已经被广泛接受,类似互联网上的“现金”,相应的数字支付系统也已经应用到实践中,使得利用互联网来传输资金成为可能。数字密码货币和相应的支付成为区块链第一个应用层级,也是之后各国央行发行数字密码货币的主要模式。

其实对所有的现代数字密码货币而言,通常每种币都代表一种货币及一种协议,可能有自己独立的区块链或者在基于比特币的区块链之上运行。例如,莱特币的货币是基于莱特币的协议运行的,而莱特币的协议又是基于莱特币自有的区块链运行的。一个独立的区块链意味着这种币将会有自己的去中心化总账。

现实社会的法定货币还是基于纸币和中心化记账的方式来实现的,前者具有浪费资源的问题,后者具有系统安全性、系统可靠性不足以及系统不可控等问题。通过区块链实现的数字密码货币,真正将货币搬到互联网上,可以解决法币存在的这些问题。

这种基于互联网的货币最直接的好处就是减少全球信用卡商户的支付费用,从当前的大约3%减少至1%以下,特别是在国际汇款市场。区块链技术不仅可以有效地降低交易费用 ,而且可以把等待时间从几天降到几分钟。

当前可以使用比特币的系统包括:BitPay(巴比特)、CoinBase、Coinify等。这些系统虽然与目前的信用卡支付系统不兼容,但是已经有公司致力于开发一个兼容系统,比如使用移动支付。

比特币和它的数字密码货币跟随者已经为互联网上的货币、贸易和商业开辟了一个完全重新定义的模式,不过货币和支付只是区块链的第一个应用层级而已。

从比特币衍生出来的altcoins(山寨币)已经证明,资源可以在完全分散的个人之间分配。有了这种能力,区块链所支持的数字密码货币就可以代表不同资源在互联网上以去中心化的形式完成各种交换,而不仅仅是简单的数字密码货币及相关的功能。

第二个应用层级——资产互联

区块链第二个应用层级是去中心化市场更广泛的应用,即数字化资产转移。将区块链平台构建在互联网上,从而让更多的应用接入区块链平台。当前基于中心化技术的网购平台(亚马逊、阿里巴巴等)、社交平台(脸书、微信等)和共享平台(优步、空中食宿、滴滴等)等,都有条件借助区块链以去中心化的方式更好地实现。这里面的关键技术在于区块链上的去中心化的账本可以登记、验证和转移各种电子化形式的财产和合同。在早期比特币通信中,中本聪描述过通过比特币系统转移代管交易、保税合同、第三方仲裁和多方签名交易。

区块链在这方面的典型应用,可以分为智能资产和智能合约两大类。

➢ 智能资产

区块链可以用于任何资产注册、存储和交易,包括金融、经济和货币的各个领域的有形资产(物理资产)和无形资产(投票、概念、信誉、想法、健康数据和信息)。使用区块链技术开辟了不同类型各个层次的行业应用功能,包括货币、市场、财产、金融交易、物资等。通过智能合约使用区块链编码的资产,可以称为智能资产。

智能资产一般是指所有以区块链模型为基础的可交易的各种资产类型。这些资产可能是物理世界中真实存在的资产,如房屋、汽车、自行车或计算机,也可能是类似股票、储蓄或版权(如书籍、音乐、插画以及数字艺术)这样的无形资产。任何资产都可以在区块链上注册,其所有权可以被任何控制私钥的人所拥有。所有者能够通过转移私钥或者资产给另一方来完成出售资产行为。

概括来讲,智能资产就是可以通过区块链控制所有权的资产,其相关的智能合约也需要符合现行法律规定。例如预先建立的智能合约能够在某个人已经偿还全部贷款后,自动将抵押物所有权从财务公司转让到个人名下(通过其他的以区块链为基础的智能合约自动确认)。同样,在未来的某一天,抵押贷款利率可以通过检查另一个以区块链为基础的智能合约以及有合约数据的网站或数据接口而得以自动重置和修正。

智能资产的核心思想是控制所有权,对于在区块链上已经注册的数字资产,能够通过使用它的私钥来随时使用。在某些情况下,现实世界的物理资产可以很容易地通过区块链来控制。比如智能电话可以通过确认某个用户在区块链上的数字身份来自动解锁。还有现实生活中的门禁系统,就像车库和住宅的门禁一样,通过使用“智能物体”的嵌入式技术(例如软件代码、传感器、NFC标签、无线接入等)来控制,以便实时搜寻用户的软硬件身份识别设备来匹配资产。如果暂缺这些身份识别设备,用户还可以实时递交请求,区块链智能合约能够发送确认信息或者接入信号递送到物理资产或者用户的电子钱包,例如可以使用一次性的二维码来开动租借的汽车或者打开酒店房间。

区块链技术提供重塑身份认证和安全进入的方式,而且更灵活、更面向实时需求,远比当前的现实有更多的可能性,并可以通过优雅地嵌入物理世界硬件技术的方式来方便地使用。

智能资产利用区块链技术交易是一种全新的概念。我们似乎还不习惯把那些通过代码来自动执行的加密程序当成某种产权。这种自动执行的代码是被绑定写入代码底层,并且是无法剥离的,无法阻止编码预先设定的产权交易的发生。基于区块链的智能资产有可能让我们能够广泛构建无须第三方信任的去中心化资产管理系统,以及通过加密的方式来激活系统,这也许能够在物权法律的范围内获得极大的应用——通过在资产本身上进行记录来极大地简化资产所有权的管理。

➢ 智能合约

当智能资产开始被讨论时,其实智能合约就已经开始应用了。在区块链的环境下,合约或者智能合约意味着区块链将不仅进行简单的买卖货币这种交易,还会有更加广泛的指令可以嵌入区块链中。

在更正式的定义中,一个合约就是通过区块链使用密码货币和某人达成某种协议。传统意义上的合约,就是双方或者多方共同协议做或者不做某事来换取某些东西,合同中的每一方必须信任彼此会履行义务。智能合约的特点是,同样是彼此之间同意做或者不同意做某事,但是无须再信任彼此,这是因为智能合约不但是由代码进行定义的,也是由代码(强制)执行的,自动完成且无法干预。

事实上,智能合约之所以能如此操作主要是由三个要素造成的:自治、自足和去中心化。首先,自治表示合约一旦被启动就自动执行,而不需要它的发起者进行任何的干预;其次,智能合约能够自足地来获取资源,也就是说通过提供服务或者发行资产来获取资金,当需要的时候也会使用这些资金;最后,智能合约是去中心化的,也就是说它们并不依赖单个中心化的服务器而分布式存在,并且通过网络节点来自动运行。

用一个形象的说法来比喻智能合约,即可以把它看成由代码编写的并且能够自动运行的自动售卖机。不同于人的行为,一台自动售卖机的行为是可以预期的,相同的指令行为总是会得到相同的结果。当你塞入一些钱并做出选择后,你选择的物品就会掉出。机器绝不可能不按照设定的程序来执行,也不会仅仅执行一部分(只要它没有被损坏)。一个智能合约同样也是如此,一定会按照预先设定的代码来执行。“代码即法律”(详见第七章第一节),无论代码是怎么编写的,都会被严格执行。这可能是好事也可能不是。无论是或不是,都将是一种全新的情况,我们的社会在智能合约普及之前还需要一段较为漫长的适应阶段。

基于加密算法的智能合约及相关体系,如果要激活资产还有许多细节要考虑。也许我们还需要全新的法律和相关规定,来区别那些通过代码来建立的合约与其他通过人来建立的具有司法约束力的合同之间的差别。只有基于人的约定来建立的合同才会有遵守或者违反合同的情况,而基于区块链以及任何代码的合同都不存在这样的问题。

此外,智能合约将不仅会影响合同法,还可能会影响整个社会中的其他社会性契约。我们需要确定和界定何种社会契约会更需要“代码即法律”,即根据代码来自动执行且无法阻止运行。因为基于目前所颁布实施的法律,几乎不可能让智能合约强制执行(例如,一个去中心化的代码样本在事后是难以控制、监管或者要求赔偿损失的),现有法律框架在本质上要把这种行为降到人为合同的水平。智能合约最终的目标不是没有法律或者是无政府状态,而是让法律框架变得根据具体情况而更加精细和个性化。各方可以通过协商来选择某个法律框架建立一个合同然后将它写入代码中。根据大家原先已知的、经过审核的且“罐装”的法律框架,类似于创作共用许可证,用户可以选择某个法律框架作为自己智能合约的框架。因此,未来可能会有许多这种类型的法律框架,就像可能会有许多货币一样。

智能合约并不是意味着能够实现一切以前我们做不到的事情,事实上它能够最大限度地以不依赖第三方信任的方式来解决一些普通事情。最小化信任依赖能够让事情变得更加敏捷,因为可以通过全自动执行来替代人的自主判断。一个基于区块链的智能合约的简单范例将是这样:某个孙辈到了18岁或者祖父母死亡的某一天执行继承财产——这个交易事件可以写入区块链中,在未来某个时间会发生或者到未来某个时间点被触发。要设置的第一个条件:孙辈在18岁时收到一份继承资产,程序需要设置执行交易的具体日期,还要检查该项交易是否已经被执行。要设置的第二个条件:程序需要扫描一个在线的死亡登记数据库,或预先指定的某个在线报纸的讣告区,也可能是某种“预言”信息来证明祖父辈已经过世。当智能合约确认了死亡信息,它就能够自动发送资金。

关于智能合约的另一种情况就是建立一种自动付款机制来投注(就像金融市场中的限价单)和投资。一个智能合约能够被这样设定,当某个市场达到了某特定价格就能触发付款行为,触发条件也可能是某个现实世界中的事件(如某种新闻事件,或者体育赛事的冠军等)。智能合约能够部署在众筹平台,个人可以将某些承诺写入区块链中,或者某个企业的筹资目标被完成,才会将筹得的比特币资金从投资者的钱包中释放出来,而只有当所有资金都到位之后才会被确认交易。此外,创业者的预算、花费、资金销售规模都可以根据收到资金的区块链地址来进行跟踪。

第三个应用层级——万物互联

区块链第三个应用层级是经济活动以外的范围,比如政府档案登记、司法认证、公证以及知识产权服务、智能管理、互联网优化、物联网和智能硬件。区块链技术可以革新商业社会和政府部门的数据管理和数据记录方式,包括审计系统、医疗信息记录、供应链管理、投票系统、财产契约、法律应用、金融系统等。

开发者能够创造新的应用程序,并把数据保存在区块链上面,通过维护一个永久不可更改的、基于时间戳记录的区块链数据网络,大大减少了进行独立审计、管理真实记录、遵守政府监管条例的成本和难度。通过区块链来做政府事务管理,做各种登记和仲裁审核,通过永久保存在区块链账本中的信息,实现真实、共享和方便地维护。

比如常见的投票,每一张选票都将被真实地记录在区块链上,不可篡改,真实可信又能实时产生选举结果,无须中心化的人力成本。另外,一些社会问题上的分歧往往造成社会冲突,而区块链技术可以作为一个潜在的解决方案。

区块链还可以极大地改善“物”之间的互联互通,结合智能合约、透明公开安全的分布式管理,在物联网推广和实用化过程中,解决中心化系统面临的很多问题。区块链技术非常有潜力作为物联网的基础协议或者基础设施,推动实现真正的“物”联。

区块链的本质是一种更加高效的组织形式,可以在全局范围内自动分配资源,有利于协调人、物交往的方式,促进更高层次的合作。

随着时间的推移,智能合约和类似的区块链技术能够变得更复杂、精准和自治。伴随着区块链技术的发展,去中心化应用DAPP、去中心化自治组织DAO、去中心化自治公司DAC、去中心化自治社会DAS,以及全自动的市场,在未来将是一个更加丰富多彩的篇章。

上述这些概念伴随着日益复杂和自动化执行的区块链发展,而变成能够自我管理的实体,通过预编程、最终自我编程操作连接到区块链,实现自治的互联网市场。可以这样说,人类社会的所有活动都有可能在区块链上出现,或至少在某种程度上可以受益于区块链的概念。 8PO/BOU1g6mw/ZSwlmMOhqsE5Z1GuWYwak4mLyTW/+DhQyQmI/RFrmYZ7l72FYI+

点击中间区域
呼出菜单
上一章
目录
下一章
×