
1.1 什么是区块链
1.1.1 区块链的定义
提到区块链,有人认为区块链就是比特币,这是狭义的、错误的认识。其实,比特币(Bitcoin)是一种网络虚拟货币,是区块链应用的一种呈现方式,区块链并不等同于比特币。区块链是比特币的基础架构和底层技术,而比特币是区块链的一种应用。区块链是点对点传输、分布式数据存储、加密算法、共识机制等技术在互联网时代的创新应用模式。
区块链包含两个概念:分布式账本和智能合约。分布式账本是一个独特的数据库,这个数据库就像一个网络,每个使用区块链的人都会建立一个个人分布式账本。通过数学和密码学方法的处理,个人分布式账本可以始终记住一个固定的序列,并且内容不会被篡改。智能合约是交易双方相互联系的约定和规则,任何人都不能改变,以防止违约。
广义来讲,区块链技术(Blockchain Technology,BT)是利用块链式数据结构来验证与存储数据,利用分布式节点共识算法来生成和更新数据,利用密码学的方式保证数据传输和访问的安全,利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式,最终由信息互联实现价值互联。
简单来讲,区块链的实质是一个由多方参与、共同维护、持续增长的分布式数据库,也被称为分布式共享总账(Distributed Shared Ledger)。其特点是分布式网络、可建立信任、公开透明和不可篡改。如果把数据库假设成一本账本,读写数据库就是一种记账行为。在一段时间内找出系统中记账最快、最好的人来记账,然后将账本的该页信息发给系统里的其他人,相当于改变数据库所有的记录,发给全网的每个节点。
区块链技术的优势主要体现在两方面:一是其分布式的存储架构,节点越多,数据存储的安全性越高;二是其防篡改和去中心化的巧妙设计,使得任何人都很难违背规则修改数据。以网购交易为例,传统模式是:买方购买商品,将钱打到第三方支付平台,等卖方发货;买方确认收货后,再通知支付机构将钱打到卖方账户。由区块链技术支撑的交易模式则不同:买方和卖方能够直接交易,不用借助任何第三方平台。买卖双方交易成功后,系统会通过广播的形式将交易信息发布出去,所有收到信息的主机会在确认信息无误后将这笔交易记录下来,所有的主机都会为这次交易做好数据备份。即使今后某台主机出现问题,也不会影响数据记录,从而确保交易信息的不可否认性。
1.1.2 区块链的特点
区块链技术的主要特点如下。
1.分布式网络
区块链以分布式网络为基础构建,数据库账本分散在网络中的每个节点上,每个节点都有一个该账本的副本,所有副本同步更新,而不是集中存放在数据中心或某个服务器上,这体现了去中心化的特点。
2.可建立信任
区块链跟大数据多少有点不同,它从根本上改变了中心化的信用创建方式。区块链技术通过数学原理而非中心化信用机构来低成本地建立信用,以算法程序来表达规则,规则公开透明,通过共识协议和可编程化的智能合约,来执行多方协作的交易、交互的商业模式,不需借助第三方权威机构建立信任关系;同时可以引入法律规则和监管节点,避免无法预知的交易风险。
3.公开透明
除了对交易各方的私有信息进行加密外,区块链数据对所有人公开透明,所有用户看到的是同一个账本,所有用户都能看到这一账本记录的每一笔交易,任何人都能通过公开的接口,对区块链数据进行查询,并能开发相关应用。
4.不可篡改
密码学算法和共识机制保证了区块链的不可篡改性。所谓不可篡改,即信息一旦经过验证并添加到区块链,就会被永久地存储起来,除非同时控制系统中超过51%的节点,否则单个节点对数据库的修改是无效的。因此,区块链数据的稳定性和可靠性都非常高。
1.1.3 区块链与大数据、云计算的关系
1.区块链和大数据的关系
在这个技术快速发展的时代,当很多人尚未弄清楚 PC 互联网的时候,移动互联网就来了;当很多人还不知道什么是移动互联网的时候,大数据就来了。而现在,很多人还没弄懂大数据,区块链就走入了人们的视野。那么,区块链与大数据究竟有着怎样的关系呢?
区块链主要在以下几个方面为大数据提供了更多的便利和更好的保障。
(1)数据安全。
区块链保证了数据的可靠性、安全性和不可篡改性,从而解放了更多的数据。用一个典型案例来说明,即区块链是如何促进基因测序大数据产生的呢?区块链基因测序可以使用私钥来限制访问权限,从而解除了一般情况下个人访问基因数据的限制。同时,区块链可以利用分布式计算资源,降低测序服务的成本。区块链对数据安全的保障为区块链基因测序产业化发展提供了解决方案,从而促进了全球范围内的测序,有效促进了数据的海量增长。
(2)数据开放共享。
政府拥有大量的高密度、高价值数据,如人口数据、交通数据等。目前,越来越多的政府选择向公众开放一些政府数据。政府数据公开是大势所趋,对促进整个社会经济的发展起着重要的作用。数据的开放虽然给社会发展带来了机遇,但也带来了许多困难和挑战:如何在开放数据的同时保护个人隐私?基于区块链的数据脱敏技术保证了数据隐私,为隐私保护下的数据开放提供了解决方案。数据脱敏技术采用了哈希函数等加密算法,例如,借助区块链技术的英格码系统,可以在不访问原始数据的情况下计算数据,从而保护了数据的隐私,消除了数据共享的信息安全问题。再如,员工可放心地开放访问其工资信息的路径,共同计算组内的平均工资,每个成员可以知道自己在小组中的相对位置,但不知道其他成员的工资。(3)数据存储。
区块链技术可以使区块链网络中的所有节点都参与计算,相互验证信息的真实性,进而在整个网络中达成共识。从这个意义上说,区块链技术可以看作一种特定的数据库技术,改变集中数据容易招致复杂网络攻击。
(4)数据分析。
实现数据价值的核心在于数据分析,而数据分析需要解决的问题包括有效保护个人隐私和防止核心数据泄露。例如,随着指纹数据分析应用、基因数据检测和分析方法的普及,许多人开始担心个人医疗数据的泄露,这可能会导致严重的后果。但是,区块链技术可以通过数字签名、加密技术、安全等多方计算技术来防止这种情况的发生。数据经哈希算法处理后存储在区块链上,通过数字签名技术,确保只有经过授权的人才能访问数据。在区块链上存储数据不仅可以确保数据的私密性,还可以为全球需要数据的机构或个人提供便利,进一步挖掘数据的价值。
(5)数据流通。
区块链上的交易被全网认可,公开透明,并且可以追溯。根据这些特征,将有价值的数据资产放在区块链上进行注册和交易,不仅可以明确大数据资产的来源、所有权和使用权,还可以明确数据资产的流通路径,对数据资产交易具有重要价值。一方面,区块链可以消除中介复制数据的威胁,有利于建立可信的数据资产交易环境;另一方面,区块链提供了一种跟踪路径的方法,可以有效地解决数据所有权的问题。因此在区块链的保障下,大数据自然会变得更加活跃。
2.区块链和云计算的关系
云计算是一种按需分配、按使用量付费的模式,用户只要进入可配置的计算资源共享池,进行必要的管理或与服务提供者进行少量交互,这些资源就能被快速提供。区块链则建立了一个信任系统。两者似乎没有直接的关系。但是区块链本身就是一种资源,并且存在按需供应的需求,这实际上也是云计算的重要特点。云计算和区块链是可以相互融合的,这种融合是如何实现的呢?
从宏观的角度来看,一方面,区块链可以使用现有的云计算基础服务设施或根据实际需求进行相应的改变,加快开发和应用流程,以满足初创企业、学术机构、开源机构、联盟和金融等机构对区块链应用的需求;另一方面,“可信、可靠、可控”是云计算必须跨越的门槛,而区块链技术的特点是分布式网络、可建立信任、公开透明和不可篡改,这与云计算的长期发展目标是一致的。
从存储的角度来看,云计算中的存储和区块链中的存储都是由普通存储介质组成的;不同之处在于,云计算中的存储是一种独立存在的资源,一般采用共享的方式,由应用来选择;区块链中的存储指的是链中每个节点的存储空间,区块链中存储的价值不是存储本身,而是相互链接的块,这是一种特殊的存储服务。
从安全性的角度来看,云计算的安全性主要是为了保证应用程序能够安全、稳定、可靠地运行,这种安全属于传统安全的范畴。区块链中的安全性是确保每个数据块不被篡改,并且没有私钥的用户不能读取数据块的记录内容。因此,只要将云计算和基于区块链的安全存储产品结合起来,就可以设计出加密存储设备。
总之,区块链与云计算紧密结合,在基础设施即服务(Infrastructure as a Service,IaaS)、平台即服务(Platform as a Service,PaaS)、软件即服务(Software as a Service,SaaS)的基础上创造出区块链即服务(Blockchain as a Service,BaaS),形成将区块链技术框架嵌入云计算平台的结合发展趋势。
1.1.4 区块链的局限性
作为近年来兴起的新技术,区块链仍面临一些制约其进一步发展和广泛应用的障碍,包括潜在的安全隐患、底层技术的挑战以及隐私保护等。
1.运行安全风险
区块链把密码学、分布式存储等技术融为一体,但这并不意味着它本身是没有漏洞的。目前它面临“51%攻击”“自私挖矿”这样一些攻击方式,还有私钥和终端安全问题,以及共识机制安全问题等。据统计,我国大型矿池的算力已占全网总算力的60%以上,理论上这些矿池可以通过合作实施“51%攻击”,从而实现比特币的双重支付。
2.系统效率及可扩展性问题
区块链使用多节点冗余方式保证数据存储的去中心化,这意味着对存储空间的极大浪费,且对整个链内大多数节点做一次更新非常耗时;区块链网络的价值正比于其节点规模,价值越高的网络越浪费、效率越低。
区块链具有共识机制,这使得每个参与的节点都必须验证交易,从而限制了在给定时间内可以进行的交易数量。尽管存在诸如分布式账本技术(Distributed Ledger Technology,DLT)之类的解决方案来增加每秒可以进行的交易的数量,但是在区块链网络中进行的交易的速度仍然会受到限制。由于区块链是不可变的分布式区块链,区块链区块数的增长速度非常快,这可能会导致严重的存储问题。
3.隐私泄露风险
随着区块链技术在各个领域的广泛应用,区块链面临着严重的数据隐私泄露风险。用户使用区块链过程中,个人基本身份信息数据和交易信息数据极易被泄露。攻击者通过地址聚类等技术来判别多个账户是否属于同一用户,挖掘用户真实信息,导致用户的数据隐私泄露。简言之,用户的身份信息与交易信息易被攻击者获取。