本文作者负责支撑工信部、发改委、央行、雄安新区及多省市区块链产业落地,保障场景建设质量。受托测试的公链是国际两大楔入式侧链技术解决方案之一,拥有注册用户百万级。本文将介绍如何利用一套测试方法,发现该公链账户系统设计缺陷的实战过程和经验总结。
测试——最经济有效的区块链质保手段
对于区块链产品或系统而言,质量问题,如可靠性、兼容性、性能和安全性等都是无法回避的关键问题,也是其影响相关应用和行业发展的重要因素。
业界常用的质量保障手段,包括软件工程方法、正式技术评审、度量与控制、标准与过程、SCM和SQA、测试等方法。从工程实践看,只有综合运用上述方法才能获得高质量系统,其中测试是保障区块链信息系统质量最有效、最经济的手段之一。
图1 质量保障手段
百万级用户待测公链简介
本次受托开展测试的公链A,是以侧链技术为基础的新型非中心化应用,已成为国际两大楔入式侧链技术解决方案之一,拥有注册用户百万级,关注量近千万。其实现了双向SPV楔入方式与侧链系统或DAPP进行数据交互,适用于金融、保险、电子商务、虚拟代币、股权众筹、医疗信息等行业领域。其核心技术(侧链技术)是一种在不改变区块链信息系统或区块链场景现有架构基础上,采用扩容方式增加新功能,实现新业务场景的重要解决方案。如下图所示:
图2 公链A系统架构
公链A有几大优势:
-
各侧链系统上数据存储交易相对独立;
-
侧链系统扩容不会增加区块链信息系统主链负担,不会降低主链运行效率;
-
能有效避免区块链信息系统主链上数据的过度膨胀和不可控;
-
实现灵活定制的各项区块链侧链参数,如区块间隔、交易费、奖励等。
测试环境部署详解
数字资产提现和充值操作是区块链信息系统两个原子操作,在精准扶贫场景下,使用充值和提现原子操作,可实现贫困人口扶贫款入账和出账、扶贫物资的