链圈和币圈经常纷争不止,但其实两边都是区块链行业繁荣的重要组成部分。区块链真正解决的,是数字世界的信任问题。可以说,在没有彻底解决诸如安全、性能、一致性等系列问题之前,区块链解决信任问题的梦想只能是空中楼阁。
为了探讨区块链与数字货币的安全性及其解决方案,由 UCloud 举办的 2018 UCan 下午茶沙龙以“从区块链到数字货币安全”为主题,就如何保障区块链与数字货币的安全性、提升区块链整体性能等主题进行了深入探讨,包括区块链多重签名、应用于数据流通的可信区块链方案、虚拟货币安全、如何打造公有链等。本文整理了讲师现场演讲干货内容,为大家在开发过程中提供一些思路和解决方案。
NEM 马洪彬:NEM 区块链多重签名介绍
NEM 从 2014 年开始研究区块链技术,通过系列实践开发并搭建了基于点对点的分布式区块链平台 NEM,为用户提供了诸如,支付,消息,命名空间和数字资产生命周期管理,多重签名等一系列服务。NEM 中国区联合创始人马洪彬,从 NEM 区块链平台着手,详细讲解了区块链安全现状与 NEM 多重签名的技术实现。
多重签名技术(multisig)是指多个用户同时对一个数字资产进行签名,即一个账户多个人拥有签名权和支付权。一般一个地址只能由一个私钥签名和支付,表现形式为 1/1。而多重签名的表现形式为 m/n,n 个私钥可以给一个账户签名,当 m 个地址签名时,就可以支付一笔交易。这里,m<n。通过多重签名的第三方介入,能够大幅度提升数字货币的安全性。
下图是传统区块链的数字签名技术,私匙首先算出公匙,公匙通过 Ripemd160 算法,算出 20 字节长度的字符串,然后正式网络或者测试网络,在区块链里,对 1 个字节进行 Sha3-256 算法,最后用 Base32 编码,这样,就完成了私匙对账户的直接控制。1/1 的好处是显而易见的,当个人拥有一个私匙,这个账户里其他人没有办法队个人的信息进行篡改。
不过,这个优势同时也是巨大的缺陷,因为一旦当私匙丢失,用户无法通过传统的方式提供个人信息如电话号码、身份证等进行密码重置提取个人账户。
为了解决这个问题,多重签名账户技术应运而生。首先一个账户可以转成多重签名账户,多重签名账户最多可支持 32 个共同签署人,可以设置 1-32 中的任意数签署,交互即生效。如三个人都有各自的账户,三个人都有各自的私匙,把三个人加入到多中心账户里面,那多中心账户自己本身的私匙就失效了,同时这三个人的私匙加入账户同时生效。这里面,用户可以设定三个人里面一个人签署生效,亦或两个人签署生效,或者三个人签署才能生效等不同模式。
NEM 多重签名账户不但可以创建还可以编辑,用户只要提供一个新的账户的地址即可,如果一个人帐户离开了,或者丢失了,可以添加新的账户进来,这是可以在界面上操作或者删除变更。多重签名的应用非常广泛,除了虚拟货币安全领域,多重签名技术也可以用来表示资产的所有权、以及存证系统等。
马洪彬认为,多重签名将来发展方向支持多层多重签名,比如对质量认可的检测,这里面可以有一个数字化检测,运输过程当中有传感器温度进行检测等,当这些确认以后,制造厂商再确认产品日期,质量认可才可以全部完成。相比单层多重签名,多层多重签名的应用领域更为广泛。
UCloud 刘源:应用于数据流通的可信区块链方案
尽管云计算的发展已有一段历史,但是数据安全依然是云计算面临的主要问题。如在大数据分析、数据训练等对数据进行运算时,必须在内存中解密数据。为了降低数据对云的安全依赖,真正发挥数据资源价值,UCloud 引入了与区块链相结合的英特尔 SGX 模块,来构建可信数据流通环境。来自 UCloud 平台产品线总监刘源,以 UCloud 安全屋解决方案为例,就数据流通的可信区块链方案进行了详细讲解。
TEE 可信执行环境(Trusted Execution Environment)基于 CPU 硬件安全扩展,且与外部完全隔离的执行环境,通过远程认证进行身份识别,获取运行 Key 后加密执行。这种软硬件结合的安全增强方案,可以抵御各类侧信道攻击。
可信区块链将基础区块链系统与 SGX 等可信执行环境相结合,在数据流通场景之下,数据拥有方、结果使用方、数据流通平台方、监管方共通参与到区块链网络中,并由参与方在某些节点上(数据源节点或平台方节点)搭建与区块链网络相连接的分布式链下数据存储网络及 SGX 计算客户端。
在实际操作中,由数据拥有方、结果使用方、数据流通平台方、监管方共同签署数据请求智能合约,合约成立后,即自动在计算客户端中创建一个 SGX enclave,根据合约中所指明的数据类型、地址、需求、分析算法,提取加密后数据,在 enclave 可信环境中对数据进行解密,并依照分析算法对数据进行分析处理。处理完成后,原始数据由 enclave 销毁,中间结果写回到区块链上。
以某一 APP 为例,下图是基于可信区块链的数据流通平台构建的一款应用程序,从上至下看,数据被分为可信和非可信两部分,APP 程序首先进入非可信部分,创建 enclave 进入可信部分,可信部分位于加密内存,可信接口函数被调用。这里,Enclave 内代码看到的是原文,而 Enclave 外对它的访问是禁止的,最后是函数返回。整个过程中,特权系统代码、OS、VMM、BIOS、SMM 这些核心数据仍在加密内存中,第三方平台无法获取。
可以看到,通过 SGX 等可信硬件与区块链的结合,能够在保留区块链去中心化、用户互信的基础之上,通过可信硬件执行机密性高、需要相对复杂计算能力的程序,以及区块链对执行结果进行记录和验证,实现可追溯的特性。基于可信区块链的数据流通平台拥有计算可扩展、信任去中心、数据强安全、任务可迁移四大特点。
UCloud 陈顺航:虚拟货币安全
随着区块链的逐步火热,基于区块链的虚拟数字货币(如比特币)也越来越火爆,伴随盗币行为的猖獗,涉及的规模也越来越大。UCloud 高级安全工程师陈顺航,现场分析了目前虚拟货币存在的安全风险、主要的盗币行为以及对应的安全策略。
据统计,近来三月年当中,NiceHash、LocalBitcoins、Coincheck、Youbit4 等交易所被盗的总额,初步估计为 8.64 亿美元,而这个仅仅是 2018 年最近三月的数据。整个交易所被盗的趋势,从 2016 年的 1.48 亿美元,到 2017 年 2.96 亿美元,再到 2018 年至今的 5 亿美元,可以看到 2018 年上半年的被盗额已超前两年的总和,交易所的安全形势愈加严峻。
究其原因,陈顺航认为,虚拟货币较一般的 DDOS 攻击等拥有更高的回报,其匿名性和不可溯源性,也让交易所成为黑客集中攻击的高价值目标。新的变现方式,让以往复杂的攻击方式也变得更加简单,更加容易变现。
目前,数据货币行业面临的安全挑战主要分为三大类:1、行业发展迅猛,准入门槛的降低,带来大量的安全风险;2、过往的安全问题依旧存在,Parity 多重签名漏洞、假冒钓鱼等,根据被盗的情况,我们发现传统安全问题依然占据主导地位;3、新兴安全风险,如 51%攻击、Eclipse attack 日蚀攻击等等,这些攻击很多都是理论存在,目前没有捕获实际样本,因为缺少实际案例,所以很难针对具体问题给出详细的解决方案。
与之对应的解决方案,大致也有三点:1、建立正确的安全意识。不要相信绝对的安全,区块链带来的安全技术革命并不能解决所有安全问题;2、上云。云上有完整的基础设施,有成熟的基础防护体系,有配套的解决方案,其成本远远小于自己建设安全团队;3、使用第三方安全产品。传统安全产品已经在各个领域做的非常成熟,Visa 报告中,全球最大的交易所使用的安全服务商均大于 3 家,同时也应该使用成熟的基础组件,比如钱包。
上图为 UCloud 云上的安全架构图,上面的黑色帽子表示黑客,UCloud 通过在前端部署 UADS 高防服务、UEWAF Web 应用防火墙、USSL 证书服务低抵御 DDoS 攻击。同时,UCloud 为主机系统开发了 UHIDS 主机入侵检测系统、用户可以通过 UHIDS 对主机进行全面检测,右侧 UWS Web 漏洞扫描、业务反欺诈以及数据加密服务能够进一步保障用户数据的安全。
芯链 胡继臣:通过软硬件结合解决区块链性能瓶颈
随着基于区块链技术的交易量和应用的增长,网络拥堵等问题日益凸显。现有区块链底层仍停留在初级发展阶段,存在诸多技术瓶颈,导致 DAPP 落地困难。为此,芯链采用一种全新的区块链软硬件体系架构 HPB,来实现分布式应用的性能扩展。
下图是芯链加速引擎的整体架构,上层是 DDR Memory 的网络存储,左边是 UA 网络接口,右边是 PC,中间为 ARM 整体解决方案,通过 ARM A53 CPU,加上存储和用户 ARM FPGA 的芯片,构成 ARM FPGA 整体解决方案。其中蓝色的部分是中间桥梁,左边的蓝色部分是对外的通道入口,右通道蓝色是网卡芯片重新设置的能力。通过这样的软硬件体系架构设计,提升网络的连接,包括扩展和寻址的能力。
传统区块链的节点,交易广播、交易验证、区块广播、区块生成等功能均基于软件层面来实现,每个节点之间的数据连接军事穿行处理,导致网络拓扑结构复杂、延迟时间长、串行处理性能低等问题,用户体验较差。
HPB 创新设计了 BOE 技术,HPB 创新性的设计了 BOE 技术,即 Blockchain Offload Engine,区块链卸载引擎,该引擎是一个异构处理系统,包括 BOE 硬件、BOE 固件,以及与之匹配的体系软件,该异构处理系统通过结合 CPU 串行能力和 FPGA/ASIC 芯片的并行处理能力,实现高性能和高并发计算加速。
BOE 设备通过千兆/万兆以太网接口连接 P2P 网络中其它设备,MAC 模块处理以太网数据报文,并与 TOE 模块进行数据交互。BOE 模块负责通过 TOE 模块与其它节点建立加密通信通道,对收到的交易、区块等消息进行完整性检查、签名验证、账户余额校验,对过大的待发送区块数据进行分片处理并对各分片进行封装以保证接收数据的完整性,并根据各条 TCP 连接的接收流量进行统计,以便能够按照对系统的贡献进行相应的激励,从而吸引更多的用户参与维护网络的运行。
据胡继臣介绍,相比于业界其他解决方案,HPB 结合软硬件体系架构,设计了 HPB 专区块链服务器,除了标准区块链架构体系核心节点上支持的网络管理、共识算法以及区块链任务处理功能,节点亦引入了与软件配合的硬件加速引擎,通过 BOE 技术、共识算法加速、数据压缩、数据加密等技术实现支持每秒百万级用户接入。
Genaro Network 吴为龙:如何打造下一代公有链
目前,业界主流的共识机制包括 PoW 和 PoS 两种,PoW (proofof Work)共识算法是比特币和以太坊网络的共识算法,通过哈希算力作为工作量证明去竞争记账权;PoS (Proof of Stake) 共识算法一种权益计算法,进行一定量的通证押注来竞争记账权。
PoW 有许多优点,比如抗容错性很好,只有超过 51%的节点攻击网络,网络才会失败。但是缺点也十分明显:一是性能比较低,消耗大量的资源,二是出块比较慢,10 分钟左右。
PoS 算法相对于 PoW 在性能方面有一个很大的改进点:在容错率保持 50%不变的情况下,不再需要消耗大量的物理资源,能够大幅度提高性能。
不过,PoS 虽然提升了 51%攻击的难度,且更具经济效率,但因为缺少了算力证明,又带来了两个安全隐患:没有承担任何利益和长距离攻击。
没有承担任何利益:权益者向多个竞争区块押注,零风险获取区块奖励,同时破坏主链的安全性。如果验证者投给在制定区块高度上不同的几个互相冲突的区块而不受到任何的成本影响,验证者可以非常高效的破坏共识安全性;
长距离攻击:指攻击者恶意分叉,当 2/3 的验证者解除押金绑定,使原先的主链无效。这意味着一个攻击者能够制造一个 fork 从一个非特定的长距离而不会害怕被除去。
为了解决这两个问题,Genaro 引入了 SPoR,通过 SPoR 来筛选可信节点。SPoR 的基础原理是在文件被打碎、上传到各节点(或从各节点下载)时,证明其归属权。Genaro 将这套成熟技术融入到共识机制中,让 SPoR 在低能耗状态下做更“有用”的(检索)计算。对应的计算量可以提高攻击节点的难度和成本,以保证网络的安全性。
Genaro Network 的混合共识机制通过 SPoR 来筛选可信节点,也即要求共识节点付出一定代价(存储与算力),也即 something at stake,于是 nothing at stake 不攻即破。此外,如果攻击者参与了过去的 PoS,当解除 GNX 绑定后回到过去的区块,因为此节点不具备后来的存储信息(sentinel),则无法复原存储网络,不能将区块推进到当前高度,网络会判断它不是最长链,直接进行惩罚。
根据 Genaro 现阶段测试结果,全网出块节点数量会在 100-200 个之间。所有节点都可以用 GNX(Genaro 的 token)押注,竞选记账权,享受 PoS 收益和“租赁”存储空间的收入。不同于 EOS 的 DPoS 机制,Genaro 的出块节点由固定周期“换届”的共识委员会综合存储节点的贡献程度、稳定性、押注数量、共享存储空间大小、实际使用比例等因素选举产生。Genaro 希望以此防止个别节点靠“财力”快速出块。
本文转载自公众号 UCloud 技术(ID:ucloud_tech)。
原文链接:
https://mp.weixin.qq.com/s/7we1cieDpjoHK3oQjsRhYQ
评论