开发进度
以下是2018年9月3日-9月7日的开发进程。
【开发工具】
研究C语言到wasm的编译过程
区块链从“分布式账本”到“世界计算机”,依赖的一个重要技术就是虚拟机技术,这也是以太坊的主要创新之处—以太坊虚拟机(EVM)。虚拟机为智能合约提供了一个安全的执行环境,可实现一些复杂的逻辑,相对地,也会带来潜在的安全风险,比如智能合约漏洞频发。
目前区块链虚拟机主要有3个方向:
1. 创造一种新语言和虚拟机,类似于EVM。然而这种方法对用户不够友好,例如EVM只支持solidity语言,另外由于新的语言不够成熟,在语言层面也会有很多潜在的安全风险。
2. 引进现有的脚本语言虚拟机,比如Lua虚拟机、 Chrome V8引擎等。虽然开发难度相对较低,但是执行效率也相对较低。
3. 引进WebAssembly技术。WebAssembly由Google、Apple、Microsoft、Mozilla共同提出,主要用于web开发,相比js效率更高,开发语言支持C/C++/GO/Rust/Kotlin/AssemblyScript等,目前EOS已经将其引入区块链,以太坊也正在从EVM迁移到WebAssembly。相比前两种,WebAssembly支持的语言种类多,执行效率高,目前是最佳选择。
WebAssembly作为新技术,资料较少,难度也较大,目前区块链项目中也只有EOS实现了该技术。EcoBall引进了WebAssembly虚拟机,但是仍缺少SDK,假如支持C语言,SDK就需要集成C语言到wasm的编译器,编译器的开发难度较大,计划基于开源编译器LLVM做修改。
上周研究了几个C语言到wasm的开源编译器,目前在研究C语言到wasm的编译过程。
【多链并行】
• 多链设计基本成型
• 与前端联调,输出测试版本
在EcoBall生态球设计中,创世球可以引出多条主链,每条主链负责专门的业务领域,相互独立又相互关联,主链之间耦合较少,发挥并行处理的优势,提升系统处理效率。用户可以根据自己的需求一键生成新链。
【分布式存储网络(DSN)】
• 编码实现Storage sharer业务逻辑,完成80%
• 编码实现Storage user业务逻辑, 完成80%
• 编码实现Storage settlement业务逻辑,完成70%
• DSN命令行接口对接,完成30%
DSN(Decentralized storage network):旨在在一个分散、不可信的网络环境中,搭建一个安全、可信、可控和高性能的存储系统。用户可以把文件像存储在云服务器一样存储在DSN上,但会比云存储更便宜,更安全。DSN还有一个重要功能就是存储区块链的区块文件,包括EcoBall产生的区块和其他区块链系统产生的区块文件。Storage sharer还可以通过共享自己的闲置的存储资源赚取ABA。
【共识模块】
• 修改ABA BFT代码,满足多链需求
• TBLS阈值签名算法开发
共识模块是区块链的去中心化特性,决定了需要一套共识算法来保证账本在各个独立的节点保持一致性,典型的包括POW,POS以及BFT类共识。考虑到交易速度,基于PBFT和DBFT,开发了ABA BFT共识算法,其安全高于PBFT和DBFT,同时交易速度优于PBFT,同步方面优于DBFT。
目前的多链设计,要求每条链在一键生成的同时有自身单独的共识算法,这样才能真正实现多链并行的效果。因此ABA BFT代码需要在原先单链的基础上进行扩展,修改接口等使得每条链的共识算法相互独立。
TBLS阈值签名是一种基于椭圆曲线的群签名算法,作为VRF随机源,配合BFT共识算法,可以让更多的节点参与到共识中来,提升共识的性能,并能极大地提高分片共识的安全性,同时减少签名的数据量。
【客户端命令以及钱包管理】
• 部署合约增加abi参数
• 增加设置账号权限功能
• 增加创建新链、查询链功能
• 增加在新链上创建账户、转账以及设置合约
提供命令实现用户在EcoBall上进行钱包管理、账户管理、合约管理、转账交易等。
市场大事件
• 9月5日,EcoBall生态球官方宣布EcoBall(ABA)全球首发HitBTC交易平台。HitBTC是全球排名前列的加密数字货币交易平台,自2013年开始运营,为全球用户提供多币种、多语言服务。
• 9月7日,EcoBall生态球官方公布HitBTC上线ABA正式交易时间(UTC时间2018年9月7日17:00),得到区块链各行业的广泛关注。
网友评论