UCan下午茶上海站:区块链与虚拟货币安全杂谈 | U刻
  • UCan下午茶上海站:区块链与虚拟货币安全杂谈

    栏目:技术分享

    链圈和币圈经常纷争不止,但其实两边都是区块链行业繁荣的重要组成部分。区块链真正解决的,是数字世界的信任问题。可以说,在没有彻底解决诸如安全、性能、一致性等系列问题之前,区块链解决信任问题的梦想只能是空中楼阁。

    为了探讨区块链与数字货币的安全性及其解决方案,由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希望以此防止个别节点靠“财力”快速出块。

    下期预告

    【UCan下午茶】是UCloud旗下的系列技术沙龙。沙龙现场不仅有UCloud最新的技术内容分享,同时也会邀请业界技术大咖共同探讨、交流前沿技术趋势与解决方案。诚意满满的干货、鲜活生动的案例,将使每位参与者不负午后时光,场场“悟”有所值。

    下一期UCan下午茶,我们将聚焦“游戏出海的那些弯和那些坑 ”,与开发者一同探讨游戏出海面临的“坑”和“坡”,以及正确的爬坡姿势。感兴趣的读者可以点击“阅读原文”,抢先领取沙龙的免费入场券。7月21日,我们在美丽的成都站,与你不见不散!

    0