首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EcoBall项目进度报告 第14期

开发进度

以下是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),得到区块链各行业的广泛关注。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180912A0GCRZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券