区块链是一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其本质是一个去中心化的数据库,是一串使用密码学方法产生关联的数据块,每个数据块中都包含了一定数量的交易信息,用于验证其信息的有效性和生成下一个区块。
狭义上来讲,区块链是一种按照时间顺序将数据区块以顺序的方式组合成的一种链式数据结构,并以密码学方式保证不可篡改和不可伪造的分布式账本。从广义上来讲,区块链技术是利用块链式数据结构来验证与存储数据,利用分布式节点共识机制来生成和更新数据,利用密码学的方式保证数据传输和访问安全,利用自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。针对区块链应用研究,天融信阿尔法实验室特对区块链安全现状,行业发展及重要漏洞进行详细分析。
一 、 区 块 链 行 业 发 展 统 计
近年来,区块链概念大爆发。据统计,截止 2019 年 10 月底,全国共有 31172家公司的名称或经营范围中含有"区块链"字样。本文将通过区块链公司的数量来说明区块链技术近几年的发展趋势。
2009-2019 年涉及“区块链”的公司数量统计
二 、 区 块 链 重 大 安 全 事 件 数 量 统 计
2011-2019 年区块链领域重大安全事件统计 数据来源:BCSEC
据 BCSEC 统计,2011 年至 2019 年,区块链领域发生的安全事件数量如上图所示。由图可知,从 2011 年到 2017 年,每年都有安全事件的发生,但总体上数量不大,每年在 10 件左右。2018 年安全事件呈爆发式增长,全年共发生139 件安全事件,大约相当于 2017 年的 9 倍。2019 年发生了 82 件安全事件,可见区块链领域的安全问题还是相当严重的。
三 、 区 块 链 历 年 经 典 漏 洞 案 例
本章内容主要对以下漏洞进行深度分析:
1.美链 BEC 智能合约数值溢出漏洞分析
2.the DAO 智能合约重入漏洞分析
3.parity 钱包智能合约权限控制漏洞分析
4.parity 钱包智能合约 delegatecall 调用漏洞分析
5.ETC 51%攻击(双花攻击)
6.fomo3d 智能合约阻塞攻击分析
7.Fomo3d 游戏合约随机数漏洞
8.EOSbet 游戏合约假转账攻击
9.Newdex 交易所遭假 EOS 攻击
例:BEC 智能合约中数值溢出漏洞
源代码中数值溢出的代码部分
四 、 总 结
人类社会即将进入智能时代,智能以数据为基础,没有准确可靠的数据,智能将无从谈起。智能时代对数据的可靠性、准确性、真实性的要求比历史上任何时代都要高。近年来,一大批新技术快速兴起,新技术的实现也是基于数据的。
深度学习需要大量准确可靠的数据进行训练才能形成实用的模型。如果用于训练的数据不准确,那训练出的模型也无法用于实际生产。大数据分析更是如此。
区块链技术的诞生无疑是及时雨。区块链技术包括分布式存储、加密技术、博弈论、共识算法等。区块链技术具有不可篡改性、可溯源性,而且是分布式存储,链上的数据公开透明,可以确保数据的可靠性、真实性、准确性。从近几年区块链公司的数量规模、历年的增长趋势和数字钱包用户的数量规模可以看出,区块链技术正逐步被越来越多的人了解,并得到社会各界的认可。从宏观方面来看,世界各国都在加紧布局区块链技术,力争抢占区块链高地。