首页 > 代码库 > 区块链开发(七)从某保险积分案例谈区块链应用的风险与挑战
区块链开发(七)从某保险积分案例谈区块链应用的风险与挑战
本文以现有的真实区块链应用案例为切入点,通过分析技术架构和实际数据验证,尝试性的测试了其风险,并对未来区块链应用所面临的不同风险进行了研究和探讨,最后针对不同的风险类型,尝试性的提出了相关的建议。
一、某保险区块链积分体系架构
1. 某保险积分应用简介
某保险于2016年3月采用区块链技术作为底层技术架构推出了“阳光贝”积分,用户在享受普通积分功能的基础上,还可以“发红包”的形式将通过积分向朋友转赠、与其他公司发行的区块链积分互换。某保险可以说是国内第一家区块链技术应用落地的金融企业,在对区块链战略的理解和落地上,远远走在了其他金融企业的前面,为后来者提供了宝贵的方向和经验。
经过亲自试用“阳光贝”积分以及多方渠道了解,笔者大致梳理了某保险区块链积分的相关知识并进行了分析,但笔者并不是某保险及相关区块链平台的内部人员,仅凭兴趣爱好进行研究,因此下文所描述的相关内容可能和实际存在偏差,本文仅作学术性探讨,希望能帮助企业在应用区块链技术时减少相关风险。
2. 某保险积分体系平台架构
图1 某保险积分体系平台架构
如图1所示,整个积分体系基于布比区块链,比邻共赢公司和其他链上企业共同组成了一个联盟链。数贝荷包是比邻共赢公司的一个积分管理产品,某保险通过接入数贝荷包实现在区块链上积分资产的发放和客户的管理,客户通过数贝荷包接入布比区块链,实现自己积分的转发、兑换等管理。
布比区块链由布比公司开发,该链目前已经有21个节点在运行,区块链的代码不对外开源。
数贝荷包经某保险授权,通过微信等方式收集客户信息,并向客户发放积分,同时将积分数据写入区块链上,每个客户对应一个区块链上的地址。客户在数贝荷包可以进行积分赠送、兑换现金、兑换其他链上企业的积分等操作,数贝荷包作为中间层,代替客户与区块链进行数据交互。
3. 应用架构分析
在目前区块链技术尚没有完全成熟的情况下,图1可以说代表了一个典型的区块链应用架构,该架构有如下优点:
A 用户体验好
由于区块链自身的特性,如果客户直接接入区块链的话,使用时需专用的客户端并要同步大量的区块数据,并且每发送一笔交易都需要一定的时间进行确认,客户体验非常差。某保险通过数贝荷包采用中间服务器统一管理客户的私钥,由服务器代替客户向区块链发送相关命令来管理自己的积分,客户端即开即用,使客户完全感觉不到与其他中心化服务器的区别。
B能有效保护用户资产
区块链的运行基于非对称加密技术,掌握私钥才能对账户有控制权,如果私钥由客户自己保管,若丢失任何人是无法找回的,客户在区块链上数字资产也就无法找回,这点与传统的中心化服务器有非常大的不同。而某保险通过数贝荷包的服务器统一管理客户私钥,防止上述情况的出现,即使客户忘记密码,也可以通过密码找回功能确认对应的私钥。
二、某保险区块链应用风险分析
作为新兴事务,区块链技术的新特性也使其面临新的挑战和风险。
1. 客户泄露风险
从图1的架构可以清楚的看到,某保险的客户完全是通过数贝荷包作为中介进行管理,数贝荷包拥有所有客户的个人信息,这样明显存在客户泄露风险。
2. 数据泄露风险
众所周知,区块链的特性之一是数据公开透明,区块链为了实现全网达成共识,需要把所有的交易公开透明的发送全网进行验证,因此理论上客户所有的交易数据都能被全网所有节点获取。例如比特币和以太坊,任何节点都能获取所有节点的所有历史交易数据,以及所有部署的智能合约源代码。
通过收集整理历史数据,就可以使用大数据技术对该企业相关的客户行为和客户数字资产进行分析,获取有价值的结果,甚至可以进一步分析相关的业务逻辑。如果能够加入布比区块链作为其中一个节点,获取整个区块链所有的历史数据,就可以直接证实是否存在数据泄漏风险。但由于布比公司不允许个人接入布比区块链试用,笔者基于现有区块链技术特点,通过公开渠道,进行初步的实验,尝试获取某保险的部分客户交易数据,以验证是否存在数据泄露风险。
A 获取自己的区块链地址
布比区块链的官方网站通过首页的一个公示网页,公开最近的交易,并支持通过交易hash值或者账户地址查询相关详情。笔者获取600“阳光贝”后立刻在网站出现一条某保险的交易记录。
图2 “阳光贝”交易详情
如图2所示,应用信息为某保险,资产名称为阳光数贝,交易接收方地址为bubiV8ibTCxjg1G5D6oTRS1qp5M3BKZCDkrSZM7v,交易数量是600。目前笔者的账户下共有596“阳光贝”,将交易接收方地址输入到布比官网查询接口,可以看出该地址下的资产总和和历史交易记录。
图3 “阳光贝”历史交易记录
如图3所示,该地址下有两条交易记录,并且总资产为596,也证实了该交易接收地址bubiV8ibTCxjg1G5D6oTRS1qp5M3BKZCDkrSZM7v即为笔者在区块链上的账户地址。
B 获取某保险的官方区块链地址
从图2中已经证实了交易接收方地址是笔者的区块链帐号,那么交易发送方bubiV8i1Q215QC1i4YgwXC6w4qCzMWWFLVsacmMu应该就是某保险的官方帐号,通过在布比官网输入该地址查询所有交易记录进行验证。
图4 某保险官方帐号部分交易记录
如图4所示,该帐号有37778 “阳光贝”,并且有非常多的发送记录,可以证明为官方帐号。采用同样的测试方法,通过玩“积分大转盘”游戏,同样发掘出该游戏的官方积分账号为bubiV8iDMDHYYBACPc8PJwTc2B3C5T6vGyuePwzz。
C 获取其他客户的区块链地址及信息
确认了官方帐号的发送记录,通过追溯每笔交易的积分接收地址,可以获取更多客户的交易记录,如图5所示,比如取第一条交易记录的接收方地址bubiV8i61g4dpYbSD9wLjtjWnCZhQ6z3d476K419进行查询,可以看到该客户的总资产以及逐笔交易的详情如图5。
图5 其他客户的“阳光贝”交易记录
D 开发环境验证
以上实验可以充分证明,如果作为一个布比区块链上的节点企业,可以获取全网所有节点企业的详细交易数据,存在数据泄漏的风险。为了进一步证实,笔者接入了布比区块链的开发环境,开发环境和正式环境在理论上技术是完全一样的,只是数据不同。通过布比区块链浏览器查看没有经过处理的原始区块信息,如图6,发现其信息比正式环境中网站公示的要更加详细具体,因此可以推断在正式环境中任意一个节点也能看到如此详细的底层交易信息。
图6开发环境交易详情
通过开发环境测试,可以进一步推断在正式环境中,全网所有的交易数据是透明的,通过筛选积分交易类型字段,可以将某保险有关的所有交易记录全部提取出来。再通过大数据技术,即能实现对某保险的客户总数、发行积分数量、客户活跃度、积分交易情况、客户积分使用偏好等多种客户数据和客户行为的分析和研究,
3. 应对策略
对于客户泄漏风险,某保险做了相关的预防,通过公开的工商注册信息可以获知,比邻共赢公司的只有两个法人股东,其中一个法人股东是由某保险的完全控股的。因此某保险在开展业务时可以对自己的客户信息进行单独处理,有效避免客户泄漏风险,但是其他通过数贝荷包接入布比区块链的企业理论上要面临此类风险,建议企业应用时采用技术手段隔离保护自己的业务数据,并在商务合同中对客户信息的保密性和处理方式进行约束。
对于数据泄漏风险,是由区块链本身的特性导致,业界也一直致力于保护交易隐私技术的研究和应用。目前建议采用多种方法使风险可控:一是采用两层数据结构,区块链数层和内部数据层结合的方式处理数据。大部分不需要在区块链流动的数据只放在企业内部数据库中,少部分需要流动的数据在需要时再接入区块链,比如积分系统,大部分积分其实是不会流动到其他企业的,这些的客户积分数据就可以完全由企业内部服务器处理,当有客户需要积分通兑时,再将该客户的积分接入区块链进行流动,从而有效避免数据的泄漏。二是对申请接入区块链的节点进行授权管理。企业应用区块链不同于公有链,需要对接入的节点进行身份认证和授权管理,同时还要签署相关的协议,从法律角度约束每个节点的行为。三是采用先进的加密算法从技术上保护数据。目前业界普遍认为零知识证明、环签名、同态加密这三个方向最有可能实现交易的隐私保护,并且已经有公有链采用零知识证明实现了关联交易隐藏,在以上技术成熟后,企业可以从根本上解决问题。
三、企业应用区块链风险初探
区块链开启新的应用模式,自然也会带来新风险,除了上文所描述的客户风险和数据泄漏风险,企业应用区块链时还可能面临以下风险:
1. 技术风险
目前区块链主要基于五层技术架构:数据层、网络层、共识层、智能合约层、应用层,其中涉及默克尔树、非对称加密、P2P组网、共识算法、哈希算法、高速数据存储等多种技术和算法,通过复杂而精密的组合,才能够保证网络的正常运行,进而产生信任。换句话说,区块链创造信任的基础是程序代码和加密算法的正常运行,任何一个环节出现问题,都会导致信任的崩塌。
从这个角度说,企业应用面临两个风险:一是可靠性的风险。从代码编写角度来说,程序难免会有BUG,传统的IT系统都是企业独自拥有的,出现了BUG可以从容解决。但是应用区块链的情况下,单个节点的BUG就会传导到所有节点,还会对全网其他企业业务数据造成影响,甚至造成全网业务瘫痪,因此要求程序需要有极高的可靠性。二是网络安全风险。区块链复杂的架构也导致了网络安全挑战,其五层技术架构每层都有可能受到黑客的不同技术攻击。例如,比特币在2010年8月被发现有Value overflow漏洞,黑客利用此漏洞凭空创造了184亿比特币,价值100多亿美元,幸运的是比特币核心开发者及时发现了该问题,并进行了修补。同时区块链新的技术特点也导致了新的攻击方法,比如51%算力攻击是过去从来没有的,随着区块链而产生。区块链安全将是网络安全领域一个新的挑战。
因此,未来企业应用时不能盲目的相信区块链,要加强软件可靠性管理,并把网络安全监控放到一个更高的高度,时刻保持高度的警惕。同时建议各行业的监管机构根据实际业务出台区块链技术的行业标准和细则,统一共识,有效规避风险。
2. 业务管理风险
区块链采用分布式存储和全网共识机制,即每个节点都会存储和验证全网所有数据,因此在区块链网络中,单个节点擅自对数据的修改是无效的,只有得到大部分节点同意,才有可能改变已有的数据。例如,2016年6月,以太坊上the DAO被黑客盗取高达360多万以太币(按事发前价格折算约5亿人民币)的数字资产,由于区块链不可篡改,the DAO管理者无法撤销这笔交易,只好求助于社区,最终以太坊创始人通过个人权威说服了大部分节点,共同修改黑客账户,才挽救这笔被盗资产。
企业在正常运营过程中,业务数据出现问题是难免的,在传统的IT系统中,业务数据的修改与回撤是非常简单的事情,但在区块链网络中,就异常的困难,需要获取其他链上企业的同意才能进行。因此未来企业应用区块链,应提前在技术上做好相关准备,并与其他企业提前做好紧急情况下业务回撤的协议方案,以避免造成无法挽回的损失。
3. 智能合约风险
区块链是由众多节点共同维护的,节点间是平等关系,当某个节点部署智能合约后,该智能合约的代码会在每个节点同时运行,并互相校验结果。因此当一个节点部署的智能合约出现问题时,极有可能使其他节点也受到波及。例如2016年10月,以太坊上有节点恶意执行大量消耗磁盘IO的智能合约,使得全网负载大幅增加,导致以太坊上大部分应用都无法顺利运行,一度陷入全网瘫痪。后经紧急程序升级修正了此问题,才使以太坊上的应用恢复正常。同时由于区块链不可篡改的特性,智能合约一旦部署,就无法修改,后期的业务升级导致的代码变更和BUG修复都将是一个挑战。
因此,企业未来应提前做好智能合约风险的技术预案和法律预案,对智能合约的功能性和安全性进行审查,并采用智能合约动态调用的机制,使之能够快速的升级,在风险出现时能够从容应对。
4. 法律风险
法律是经济活动的基石,上述说所区块链各种风险最终将转化为企业的法律风险,如果公司无法及时预见防范并化解这些风险,现实的后果往往就是面临法律上的制裁或被卷入旷日持久且耗资靡费的诉讼。此外,区块链集体维护、集体使用的特性,也产生了新的法律挑战,比如某个节点存储了违规违法的数据,根据区块链数据同步的原则,所有的节点都会同步存储这个数据,那么是否所有节点都算是违法违规呢?
因此,企业未来应重视相关法律的研究和应用,避免在最坏情况出现时陷入法律被动。同时建议政府相关机构加快对区块链相关法律的研究和发布,使得企业在应用区块链时有一个坚实的法律依靠,促进企业更快更好的进行技术创新和业务创新,激发新的活力。
四、未来展望
区块链是目前一种全新的互联网底层技术构架,不仅限于金融、经济领域,未来在政治、法律、公益、社交、科学等领域都有一定的应用,是一种具有潜力,重塑社会各方面及运作方式的一种颠覆式创新技术。在近期发布的《中国区块链技术和应用发展白皮书(2016)》中,金融被定义为区块链技术的第一个应用领域,但由于其管理的资产巨大,涉及面广泛,如果用于实际金融业务的区块链技术出现问题,将产生严重的后果,因此对金融领域来说,有效的风险管控将为业界筑起一道可靠的防火墙。目前我们面临的风险和挑战只是区块链技术应用走向不断成熟的垫脚石,这是任何一项新技术必经过程,只要我们按照科学的方法、循序渐进的推进,必然能安全无忧的享受新技术红利。区块链开发(七)从某保险积分案例谈区块链应用的风险与挑战