区块链实战:定义技术、社会与行业新格局
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 区块链关键概念

区块链之所以为社会带来了一个突破传统、颠覆创新的机会,主要依赖于四项技术:分布式账本、哈希算法、非对称加密、智能合约。这四项技术是与区块链息息相关的关键概念,我们必须有所了解。

1.1.1 分布式账本:安全、可靠、真实

随着技术的发展和时代的进步,分布式账本走进了大众视线。分布式账本使用了区块链,在安全程度和易用程度上远远优于传统的账本结构,具体可以从以下两个方面进行说明。

1.数据公开、透明

传统的数据储存方案通过服务器或中央机房对数据进行储存,而且在接入点增加一系列的安全防护后才能进行数据与客户端的交互。这种方案依赖一个中心,如图1-1所示。

图1-1 中心化组织体系

在系统论中,一个系统的中心化程度越高,出现错误的可能性就越大。同样,在数据储存中,数据储存方案的中心化程度越高,数据丢失或损坏的风险就越高。分布式账本采取去中心化的设计,将数据分散,使数据必须在各阶段进行确认,如图1-2所示。

图1-2 数据在各阶段进行确认

分布式账本从区块链中产生,在计算机和密码学的支持下获得了验证,使横跨网络的参与者能够在总账的有效性方面取得共识。分布式账本的出现使成本大大降低,同时也对因其技术而产生的算法创新产生了影响。人们期望通过分布式账本对公共或者私营服务的实现方式进行改革,从而大大提高生产力。

分布式账本是一种数据库,参与其中的用户可以得到真实账本的副本,这个副本是唯一的,受共识机制的制约。这种数据库的最大特点是可以在不同的网络成员之间进行分享、复制和同步,整个过程没有第三方的参与。

由于分布式账本的每一个记录都对应着一个时间和一个密码签名,因此,其记录的交易都是可追溯和审计的。若要改动分布式账本中的数据,必须得到接入网络的多数用户的确认才可以。而且,账本的任何一处改动都会在与之对应的副本中体现出来。可以说,账本中的数据记录就是由所有的参与者共同更新的,这个过程通常会在几分钟甚至几秒内完成。

总而言之,分布式账本不仅可以追溯信息,还可以对每个节点进行监督以保障市场的公平、规范。另外,因为在每个节点上都具有账本的完整副本,所以账本被篡改的可能性非常低,即使一部分数据被篡改,也可以通过数学算法甄别出来。

2.信息可回溯

在分布式账本中,由于信息分布在网络的多个节点中,而且每个节点中的信息都是实时同步的,因此,即使某个节点出现了问题,其他节点也不会受到影响,依然能将交易继续进行下去,保持系统的正常运行。此外,分布式账本还可以将原有系统中的信息进行备份,以确保自己在面对网络攻击时具有高强度的防御能力。

分布式账本的弹性和透明性为信息可回溯提供了保障。信息的回溯性问题从过去到现在几乎都是由中间机构解决的,但由于中间机构本身不掌握任何信息,因此,信息的真实性并没有办法保证。而分布式账本的数据库是共享的,其独有的去中心化特征能够把所有的信息都公开地记录在账本上,其不可篡改性也保证了信息的真实和有效。

区块链的分布式账本如果应用于数据和信息的储存,那么很多问题都能够从根本上解决。例如,一个投资项目从提出、发起到募集资金,再到之后的偿还和票据的发行,每一个关键环节都会记录在分布式账本中,以保证整个过程的安全、可靠。

1.1.2 哈希算法:信息不可篡改

哈希算法也被称为“散列”,是区块链的四大核心技术之一。因为一段数据只有一个哈希值,所以哈希算法可以用于检验数据的完整性。此外,在快速查找和加密算法方面,哈希算法的应用也非常普遍。

在互联网时代,尽管人与人之间的距离更近了,但信任问题却更严重了。目前,第三方的技术架构都是私密且中心化的,这种模式很难从根本上解决互信及价值转移等问题。因此,区块链将利用去中心化的数据库完成信任背书,实现全球互信的一大跨步。在这个过程中,哈希算法发挥了十分重要的作用。

区块链利用哈希算法实现在无须信任的条件下自动、安全地交换数据。区块链具体是这样做的:它为信息发送加入成本,降低信息传递的速率,并加入一个随机元素保证在一段时间内只有一个参与者可以广播信息。这里所说的成本是区块链中基于哈希算法的“工作量证明”。哈希算法的任务是计算获得的输入数据,得到遗传64位的随机数字和字母的字符串。

输入数据是指节点发送的当前时间点的总账。计算机的算力使区块链可以实时计算出单个哈希值,但区块链只接受前13个字符是0的哈希值作为“工作量证明”。然而,前13个字符是0的哈希值是非常罕见的,需要花费10分钟的时间才可以在数以亿计的数据中找到一个。在一个有效的哈希值被计算出来前,网络中已经生产了无数个无效值,这就是降低信息传递的速率并使整个系统成功运行的“工作量证明”。

区块链找到有效哈希值的时间为10分钟,这是算法设置好的。算法的难度每隔两周调整一次就是为了保证这10分钟的间隔,不能多,也不能少。总账的信息每隔10分钟就会在区块链更新并在全网同步一次,因此,交易记录是在网络上的计算机之间进行对账的。

哈希算法对信息传递速率的限制加上加密工具的使用让区块链成为一个无须信任的数据交互系统。在区块链上,交易、时间约定、域名记录、政治投票系统或任何需要建立分布式协议的地方,参与者都可以达成一致。

区块链通过哈希算法解决了信任问题。例如,专家们试图为互联网创造一个分布式的域名系统;基于区块链的互联网选举投票系统也在应用中。如果说互联网搅动了一池春水,那么区块链构建的不依赖信任的交易系统则打开了闸门。

1.1.3 非对称加密:公钥与私钥保证安全

区块链中的数据虽然是高度透明的,但关于用户的信息则是高度加密的。一般来说,只有得到用户的授权,企业或平台才能得到用户的信息,这样的非对称加密保证了用户的安全和隐私。非对称加密包含两种密钥,一种是公开密钥,一种是私有密钥,即公钥和私钥。

公钥是公开的,所有人都能得到,但私钥是由用户自己保管的,通常不会公开,除了用户本人,其他人无法通过公钥推算出私钥。另外,在非对称加密中,当其中一个私钥被加密时,只能用相应的另一个私钥才可以解密。

非对称加密的优点是每一对私钥都是唯一有效的,保密性较高,缺点是加密和解密的速度比较慢。在区块链中,信息解密、数字签名及登录认证常常会采用非对称加密,但当需要为大量的数据进行加密和解密时,这种方式并不适用。随着区块链的深入发展及当今社会对区块链需求的增加,非对称加密也被应用于多个领域,并不断进行技术更新。

在交易可匿名方面,非对称加密也可以发挥作用。交易需要区块链的地址作为输出地址或输入地址,而区块链的地址来源于非对称加密,具有很大的空间,这就意味着地址之间出现重复的概率非常低。这种低重复率使每个用户都可以在交易中生成不同的地址,以增强交易的匿名性和安全性。

区块链是去中心化的框架,账户及密码等敏感信息并不集中储存在中心服务器上,这就避免了和传统中心化系统一样,因为中心服务器遭受攻击而产生数据泄露问题。由此便可以看出,区块链以密码学为基础,在非信任节点之间建立信任关系,与传统的依靠中心机构的隐私保护模式有很大不同。

区块链和中心机构对隐私保护的侧重点不同。中心机构是将所有的数据储存到中心服务器上,这种模式的重点是保护数据在储存和传播过程中不会泄露。然而在区块链中,数据虽然是公开、共享的,但攻击者无法从中找出交易者的个人信息。

从现阶段来看,区块链的节点多为私人计算机,而不是传统的中心服务器,很多关于隐私保护的算法无法适用于这个新兴技术。因此,限制节点的权力、提高用户的安全意识、加强区块链供应商的防护水平便是未来的重点工作。

1.1.4 智能合约:数字化的承诺

在很多专家看来,区块链与智能合约是相辅相成的,只要提到区块链,就不得不提到智能合约。1994年,计算机科学家、加密大师尼克·萨博首次提出了智能合约,并给出了具体的定义:“一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。”那么,这个定义应该怎样理解呢?

在理解这个定义前,我们有必要知道区块链中的转账。假设Alice想把100个比特币转给Bob,那在区块链中就会有这样的记录,如图1-3所示。

图1-3 比特币区块链系统中的转账记录

这个转账记录实际上就是一个合同,其中明确规定了Alice要给Bob转100比特币。不过,需要注意的是,上图中有一个“解锁信息”,这个“解锁信息”是Alice在证明自己的身份时需要提交的信息。

在区块链中,纯UTXO(未花费的交易输出)模式的合同并不能起到太大的作用,这一点可以从以下两个方面进行说明:

比特币是一个独立运行的封闭系统,其转账脚本没有提供与外界进行交互的接口。因此,在转账脚本提交给区块链前,所有的解锁信息都必须被规定好,而且还要按照固定的方式运行。对于“合同”而言,这是与实际应用不符的。

在实际生活中,一个完整的合同需要严格按照流程制定,合同的执行也需要花费较长的时间,如图1-4所示。

图1-4 实际生活中合同的制定和执行

上图中的条件达成通常是一个外部输入事件,也就是说,实际生活中的合同基本上都是“事件促使”型的。不过,区块链中的数据无法判断出“事件”是不是已经发生,而要想真正判断出来,就必须通过链外输入数据的方式。下面以电子商务为例对此进行说明。

某人(记为小张)在某电子商务平台上购买了一台笔记本电脑,当他提交订单时,合同就已经生成。这个合同包括小张需要在多长时间内将货款支付到第三方平台上(事件1),然后卖家收到第三方平台的发货通知后需要为小张发货,当小张收到货物且检查无误后需要点击确认收货(事件2)。至此,如果不考虑售后,这个合同就算正式完成了。

在执行合同的过程中,事件1是一个高度虚拟化的金融活动,可以在智能合约的助力下自动触发。然而,事件2却是一个发生在现实世界的活动,必须有“点击确认收货”的动作才可以同步到虚拟世界。在这种情况下,“点击确认收货”便成为虚拟世界的事件2。

由此来看,对于电商平台的合同而言,事件1其实就是小张是否将货款支付到了第三方平台上,事件2则是小张有没有完成“点击确认收货”的动作。值得注意的是,在这个合同中,“确认收货”是与外部交互的一个关键接口,必须得到足够的重视。

随着区块链的不断发展,智能合约变得越来越普及。于是,在面对潜在的纠纷时,我们不需要亲自解决,一切决定都可以交给代码做。以购买航班延误险为例,有了智能合约后,理赔就变得简单了许多。

具体来讲,投保乘客的个人信息、航班延误险、航班实时动态都会以智能合约的形式记录和储存在区块链中,只要航班延误到已经符合理赔条件的程度,理赔款就会在第一时间自动划到投保乘客的账户上。这样不仅提高了保险机构处理保单的效率,还节省了投保乘客在追讨理赔款时消耗的时间和精力。

可见,智能合约可以极大地便利我们的生活,也可以提升企业的工作效率。未来,区块链将在智能合约的助力下获得越来越好的发展,像电子商务、金融、医疗、教育等多个领域都将感受到区块链和智能合约带来的益处。