陀螺精选:CCF区块链专委会:区块链关键技术研究进展
https://www.tuoluocaijing.cn/article/detail-76544.html
摘要
区块链是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术。
多方共同维护:首先体现了网络层的组织结构。与传统的服务器-客户端结构相比,区块链网络是由大量自愿者节点构成,节点之间不区分主次关系(这里说的节点是指运行完整客户端程序的核心节点。另外一种数量众多的轻节点属于附属节点,不具备平等关系)。其次,体现了区块链中的决策机制。与传统架构中单一机构做决定相比,区块链中的核心业务是由多方协商决定(这种协商机制被称为共识)。
使用密码学保证传输和访问安全:体现了密码学在区块链中的重要性。区块链中主要应用的密码学包括非对称加密算法,哈希算法,数字签名机制。非对称加密算法主要应用点是用户账号的生成,以及为签名和验证机制提供基础。哈希算法是交易、区块创建和验证过程中必须使用的,利用哈希算法,能够解决数据篡改问题。数字签名主要应用在交易的防伪造、防抵赖业务中。用户使用自己的私钥签名交易,验证者利用用户的公钥验证交易的合法性。(在比特币交易中,签名信息和公钥信息存储在交易的输入字段中。)
一致存储、难以篡改、防止抵赖:这三个特点比较准确的说了区块链系统的优势。“一致存储”是所有区块链系统的核心目标。目前公链采用的大多是“大概率一致”(存在分叉现场),联盟链大多是“绝对一致”,DAG等新架构甚至采取"中间分散,最终一致"的新模式,但本质上最终稳定状态都需要实现数据一致性,否则分布式节点就无法正常实现业务。“难以篡改”取代了“无法篡改”等强调绝对性的词。这是因为,以比特币为代表的公链系统存在“分叉”的可能性,即使已经被写入区块链账本的数据也存在被篡改、丢弃的可能性。防止抵赖主要强调的是基于非对称加密算法的账号体系。用户自己负责私钥的保管,凡是经过私钥签名的数据都被认为得到用户的认可。
1.引言
区块链技术为进一步解决互联网中的信任问题、安全问题和效率问题,提供了新的解决方案,也为金融等行业的发展带来了新的机遇和挑战。
信任问题:随着互联网、物联网的发展,人与人、人与物、物与物的交互越来越多,对信任体系的需求越来越高。传统采用第三方中介的信任体系成本较高,区块链技术能够实现去中介信任,有助于提高交互效率,降低交互成本。
安全问题:集中式网络存在单点故障的风险,在应对漏洞攻击、拒绝服务攻击等攻击活动时抵抗能力很弱。区块链技术利用分布式架构能够有效解决单点故障的风险,提高系统整体安全性。
效率问题:主要体现在去掉中介之后,用户直接交互带来的性能提升。
2.区块链关键技术及其面临的挑战
现阶段,虽然区块链的行业生态已初步成形,但区块链技术仍面临诸多技术瓶颈,具体表现在体系架构、共识机制、互操作性、系统安全等多个方面。
2.1共识机制
共识机制是区块链系统能够稳定、可靠运行的核心关键技术。不同于传统的中心化系统,区块链系统中所有网络节点是自由参与、自主维护的,不存在一个可信的中心节点承担网络维护、数据存储等任务。因此,如何使众多地理位置分散、信任关系薄弱的区块链节点维持一致性的可信数据副本,并实现系统稳定运行,是区块链共识机制必须解决的难题。
共识机制的主要功能是解决两个基本问题:
(1)谁有权写入数据。区块链系统中,每一个骨干网络节点都将各自独立维护一份区块链账本(即区块链系统中的数据库)。为了避免不同的区块链账本出现数据混乱的问题,必须要设计公平的挑选机制,每次只挑选一个网络节点负责写入数据;
(2)其他人如何同步数据。当被挑选的网络节点写入数据后,其他网络节点必须能够准确及时的同步这些数据。为了避免网络中出现伪造、篡改新增数据的情况,必须设计可靠的验证机制,使所有网络节点能够快速验证接收到的数据是由被挑选的网络节点写入的数据。
当前现有的共识机制很难做到性能和扩展性的平衡。比特币、以太坊等公有链使用的共识机制(如PoW,PoS等)虽然支持大规模节点网络,但共识性能较低,如比特币的TPS(每秒处理的交易数)大约只有7。而以Fabric为首的联盟链共识机制(如PBFT等)虽然有较高的TPS,如PBFT的TPS能达到1000,但这些共识算法的扩展性较差,只支持小规模的网络,当节点数量过多时共识机制就会崩溃,且很多联盟链共识算法的共识节点是预置的,不支持节点的动态加入与退出。
2.2互操作性
区块链技术已经渗透至金融、供应链等不同的行业与场景,有效打破了同一场景下不同参与方间的价值孤岛。但现阶段价值难以在不同行业、不同场景之间流动。这使得不同区块链的参与方成为了一个个封闭的小团体,这显然不利于价值的社会化流通。因而,实现区块链的互操作性势在必行。目前,区块链的互操作性主要通过跨链技术实现。依据具体的技术路线,跨链技术可分为公证人技术、侧链技术、原子交换技术以及分布式私钥控制技术四类。
互操作性:利用跨链技术实现不同区块链的互操作,打破价值孤岛,提高应用价值。
2.3安全性
研究表明,任何违反区块链安全性的行为,都可以归结为从算法安全、协议安全、实现安全、使用安全和系统安全等五个层面进行的破坏、更改和泄露。
算法安全通常是指密码算法安全,既包括用于检验交易的哈希算法、签名算法,也包括用于某些智能合约中的复杂密码算法。
密码算法安全主要体现在两个方面,密码算法本身的安全性和密码算法在应用过程的安全性。
-密码算法本身的安全性:区块链技术通常采用业界广泛使用的密码算法,例如ECC,SHA等。这些密码算法的安全性较高,但是也面临量子计算能技术的挑战。
-密码算法在应用过程的安全性:比特币的挖矿过程利用了哈希算法不可逆的特性,使所有挖矿节点能够在相对公平的环境中参与挖矿过程。但是,通过采用ASIC芯片等特殊硬件设备,一些矿工能够在挖矿竞赛中取得突出优势。最终导致普通用户无法参与挖矿竞争,出现算力垄断的现象,严重威胁了区块链分布式共识的核心精神。
协议安全
协议是通信双方为了实现通信而设计的约定或通话规则,包括网络层面的通信协议和上层的区块链共识协议。
实现安全
在区块链系统的实现过程中,程序员可能会有意或无意留下漏洞,从而导致区块链的安全性受到损害。
使用安全
在区块链中,“使用安全”特指用户私钥的安全。私钥代表了用户的资产所有权,是资产安全的前提。然而在传统的区块链中,私钥均由用户自己生产并保管,没有第三方的参与,所以私钥一旦丢失或被盗,用户就会遭受资产损失。
3.4.1 数据安全方面
区块链数据的难以篡改特性使得区块链上的数据难以通过传统的方式进行修改和删除,增加了有害信息上链的监管难度,为信息管理提出新的挑战。因此,一旦暴恐、色情等有害信息被写入区块链中,不但可利用其同步机制快速扩散, 也难以进行修改、删除。尽管理论上可采取攻击手段制造硬分叉、回滚等,但实施代价高、难度大,给信息内容管理带来新的挑战。在2018年3月,德国研究人员就曾在比特币区块链中发现超过274份儿童色情网站的链接和图片,经查证,为恶意用户通过将有害信息编码为比特币交易信息,注入区块链中的行为。