区块链

什么是区块链

区块链是一种去中心化的分布式账本系统,用来维持一个由区块组成的不断增长的记录列表。每个区块含有一个时间戳和一个指向前面区块的链接。区块链由一个对等网络 管理,它们共同遵守一个验证新块的协议。在设计上,区块链本身抵制数据的修改。数据一旦被记录进区块链,除非后续区块都被改变以及网络多数串通的情况下,否则 数据不能被更改。功能上,区块链可以作为开放的分布式账本,它可以以一种可验证且永久的方式记录双方之间的交易。

区块链的概念是在2008年中本聪于《比特币白皮书》提出,并在2009年以区块链为核心组成部分实现了数字货币比特币。比特币是第一个在没有权威机构和中央服务器 情况下,解决双花问题的数字货币。另外,区块链也可以用于登记和发行数字化资产、产权凭证、积分等,并以点对点的方式进行转账、支付和交易。区块链系统与传统 的中心化账本系统相比,具有完全公开、不可篡改、防止多重支付等优点,并且不依赖于任何的可信第三方。

智能合约

智能合约是旨在促进、验证或强制执行合约的计算机协议,它是由Nick Szabo于1994年首次提出。

一个智能合约就是一个执行合约条款的计算机化交易协议。智能合约程序不只是一个可以自动执行的计算机程序,它自己就是一个系统参与者,它对接收到的信息进行 回应,它可以接受和存储价值,也可以向外发送信息和价值。这个程序就像一个可以被信任的人,可以临时保管资产,总是按照事先的规则执行操作。

智能合约的模型:一段代码(智能合约),被部署在分享的、复制的账本上,它可以维持自己的状态,控制自己的资产和对接收到的外界信息或者资产进行回应。

智能合约最普遍的应用领域就是金融领域,每一类金融合约都可以程序代码的形式写成智能合约。如差价合约、代币系统、储蓄钱包、作物保险等。

共识

共识是指互相独立的多个系统参与方间对某个问题达成一致的结果。而在区块链中,共识则是在组成网络的分布式节点中达成。某个记账节点提议了一个区块应该包含 哪些交易数据,然后把该区块广播给其他的参与节点,其他节点要就是否使用这个区块达成一致。也就是说,区块链中的共识是指如何将全网交易数据客观记录并且 不可篡改的过程。

实际上,要保障系统满足不同程度的一致性,往往需要通过共识算法来达成。常见共识算法可分为两大类:一是非拜占庭错误的算法,一般包括Paxos、Raft及其变种; 二是能容忍拜占庭错误的情况,一般包括PBFT系列、PoW系列算法等。从概率角度,PBFT系列算法是确定的,一旦达成共识就不可逆转;而PoW系列算法则是不确定的, 但是随着时间推移,被推翻的概率越来越小。

传统的分布式一致性算法,采用的是一个节点一票、少数服从多数的方式,这种方式在联盟链是可用的,因为其中节点需要通过验证才能加入网络。但是在像比特币、 以太坊等公有链,任何人都可以加入网络,竞争记账权。如果采用一节点一票的方式,就很容易遭受女巫攻击:攻击者批量制造大量的节点加入系统,通过绝对多数的 投票权发起攻击。而对于一个节点,是无法辨别其他节点是普通节点还是恶意节点。

为了避免女巫攻击,在公有链中,常用的共识机制为PoW以及PoS。在PoW算法中,要求记账节点花费一定的资源做一些计算,然后向网络其他节点提交计算的工作量证明, 证明能够被快速验证,并且工作容易被度量。因为工作量证明无法伪造,有很高的成本,只有遵守协议约定,才能收回成本,获得收益。而PoS则是用户持有系统代币的 数量决定打包出块的概率,PoS中的代币类似于公司的股权,大股东对系统有更大的发言权,有更多的责任,也有获得更多收益的权利。

公有链

公有链是指世界上任何个体或者机构都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可参与其共识过程,记账权完全由公开的共识算法决定,即整个 网络是开放的。作为中心化或准中心化信任的替代物,公共区块链的安全由“加密数字经济”维护,“加密数字经济”采用工作量证明机制或权益证明机制等方式,将经济 奖励和加密数字验证结合了起来,并遵循着一般原则:每个人从中可获得的经济奖励,与对共识过程做出的贡献成正比。

公有链的特点可以归结于三点:一是保护用户免受开发者的影响,在公有链中程序开发者无权干涉用户,所以区块链可以保护使用他们开发的程序的用户;二是访问门槛低, 任何拥有足够技术能力的人都可以访问,也就是说,只要有一台能够联网的计算机就能够满足访问的条件;三是所有数据默认公开,尽管所有关联的参与者都隐藏自己的 真实身份,这种现象十分的普遍。他们通过他们的公共性来产生自己的安全性,在这里每个参与者都可以看到所有的账户余额和其所有的交易活动。

许可链

只允许通过身份认证的用户加入网络的区块链称为许可链。依照其中节点的所有权又可划分为联盟链和私有链,其中联盟链节点由一个企业联盟维护,私有链节点由 单个企业维护。许可链是共识过程受到预选节点控制的区块链;比如,有一个15个金融机构组成的联盟,每个机构都运行一个节点,为了使每个区块生效则需要获得 其中10个机构的确认。许可链可能允许每个人都可读取,又或许只受限于参与者,或者走混合型路线,例如区块的根哈希及其API对外公开,API可允许外界用来作有限 次数的查询和获取区块链状态的信息。

许可链的特点可以归结于四点:一是身份准入,在许可网络中,只有获得特定许可的节点才能加入节点;二是系统治理,公有链由于技术与治理的高度去中心化,在 紧急状况出现时缺乏高效的协调及干预手段,而许可链中的企业用户具有更好的协调机制,在系统不可用时的干预方法相对高效;三是执行性能,许可链准入机制的存在 杜绝了女巫攻击,使得传统共识算法有了用武之地,使交易处理的延迟和吞吐量获得质的飞跃;四是隐私,区块链上数据对所有共识节点公开,而企业应用对隐私方案的 需求比较大,故需要一个可行的隐私技术方案。

区块链的使用场景

区块链技术,尤其是许可链,可以运用在很多行业和领域。从最初的数字货币,到证券交易结算、会计审计等涉及合约审核的金融领域, 再到政府、医疗、征信体系等公共领域,区块链的版图正在迅速扩张,在全球各个领域形成一次历史性的技术和商业变革。

以清算与支付为例, 在一个标准的银行间资金转移过程中,如果发款银行和接收银行互相没有开立账户,他们将不得不依赖一个中央清算所或者关联银行。 从实行到结算,支付的工作流程要花费数天,而且中间方还要收取一定费用。

区块链可以实现点对点的交易,并将交易数据与全网共享监督,这可以有效提升传统银行业的支付结算效率并降低交易成本。 通过去中心化账本来替代中心机构认证资产所有权,机构共同运行和检验,来防止欺诈和人为操控。

_images/4e1a2af8fb4b7db9098b371badf76fb8.jpg

除了支付结算,区块链技术还可以被应用于银行不同的业务条线:如票据和供应链金融,还有“了解您的客户(KYC)”和“反洗钱(AML)”等风险管理领域。 在证券市场的各个领域,包括证券的发行与交易、清算结算、股东投票等,都可以实现与区块链技术的无缝对接。在保险业,保险经营机构能够应用区块链技术, 将信用记录在公开的网络上,接受全网监督,时间戳的功能会保证所有交易记录不可更改,一次解决信用问题。这样管理成本就大大降低,更可能回归到保险最初的互助本意。 在会计审计领域,区块链系统可以满足利益相关者对于独立审计的客观要求和对审计工作的职业道德要求,可以应用于审计行业并且能够促进审计工作更加透明、高效。 此外,在征信、医疗、公证、能源等领域,区块链都有丰富的应用场景,这里不再一一介绍。