被微信屏蔽
其他


上周末(11月18-19日),由开源社和中国计算机协会( CCF )上海分部共同主办的 2017中国开源年会 COSCon'17 在上海交通大学闵行校区举行。会上,秘猿科技首席架构师宁志伟同学作为大会讲师,分享了自己对开源和区块链技术的心得:《区块链:一种自带开源基因的技术》


以下是部分演讲实录,干货满满,不多说,快上车~ O(∩_∩)O


01

什么是区块链



简单来说,区块链就是拜占庭容错的复制状态机( BFT-SMR )。


从技术的角度来看,先看后半句:复制状态机。做分布式系统的应该对这个概念比较熟悉。如果只有一台服务器,出错之后就无法提供服务,多个副本容错。保持副本状态一模一样,关键是保证所有副本处理交易顺序一致。在有副本出错的情况下,这就是前半句(拜占庭容错)。


02

拜占庭容错



如果所有节点都是好的,只有 fail-stop 故障的时候,算法就是 raft/paxos。如果有节点是反派,可能执行任意的操作,算法就是 pbft/pow/pos。即使对中心化的分布式系统,现实中其实也会有概率出现拜占庭故障的情况,fail-stop 是一种理想情况。


因为会有软件错误,运维误操作,黑客攻击。只不过通过软件工程,IT 系统来规避,但是不能100%保证。而拜占庭容错算法,是算法解决,可以100%容错。有高可靠性需求的可以参考一下。


03

Ethereum



先介绍一下 Ethereum (以太坊),它是一个开源的支持智能合约功能的公共区块链平台。智能合约这里先不讲,感兴趣的同学在我们下午的 workshop 动手训练营可以实际操作一下。


Ethereum 是一个全球化的开源社区,今年的 Devcon 3 有两千多名来自世界各地的开发者参加,我们也作为演讲嘉宾参加了这次的开发者大会,感兴趣的同学可以关注我们公众号,我们有介绍。


社区里涵盖了从各种新特性,到以太坊上面的各种应用,非常活跃。另外以太坊目前还处于发展初期,机会多多,感兴趣的同学可以关注一下。以太坊发布了黄皮书,作为一个形式化的规范。在以太坊上的很多实现是由社区的人贡献的,比如我们的 CEO Jan


以太坊官方有三个语言的实现,一方面是有钱任性,另一方面是可靠性方面的考虑(包括测试和运行)最大化分布式系统的异构性。在实际中也确实起了作用,因为以太坊经常被攻击,也一定会有 bug 的存在。多版本实现可以在问题出现的时候减少故障范围,用户也可以自由地切换到不受故障影响的客户端。



之前所说的以太坊是公链,而对于企业应用,会有非常不同的需求,此时就需要重新思考架构实现。在这个时候,就出现了新的区块链形态——许可链。我们秘猿科技正在做的事情正是为我们的企业级用户设计和实现符合他们需求的全新的一个许可链平台。


04

CITA



下面介绍一下我们的许可链产品 CITA


为了解决企业应用中的特殊需求,我们采用了微服务架构。以太坊客户端只有一个可执行文件,一个节点只能运行在一台计算机上。我们的 CITA 则能够运行在服务器集群上,每种微服务都可以运行在一台,甚至多台服务器上。我们的核心研发团队在克服了大量技术难题之后,成功实现了交易异步执行,使整个系统流水并行,让硬件的能力得到了充分的利用。此外,CITA 不仅支持 EVM 轻量合约,也支持原生合约,可以用大家常用的原生语言实现,不需要虚拟机解释执行

 

CITA 是用 RUST 写的,但是 CITA 的微服务可以用各种语言实现,因为微服务之间通过消息机制完全解耦。RUST 是一种静态类型的编译型语言,具有强大的类型系统,可以在编译阶段发现内存问题和并发问题,但是写起来不是那么容易。为了保证高性能和高可靠性,我们选择了比较难的一条路。( 此处应有掌声 ♪(^∇^*) )



由于我们在架构和实现方面的大量工作,CITA 在性能方面相对于其他许可链技术有非常大的提升。


在参加 Devcon 3 之前我们做过一些性能测试。我们在三种不同的部署情况下测试了拥有 10 个共识节点、交易确认时间为 3 秒的 CITA 许可链网络的吞吐量:蓝色是使用单台高性能云服务器运行一个逻辑共识节点的情况,桔色是使用一台中等性能云主机加上两台小型云主机组成的集群运行一个逻辑节点的情况,黄色是使用单台中等性能云主机运行一个逻辑节点的情况。通过图表可以看到,在简单转账交易测试中系统吞吐量已经达到了 15000 笔交易每秒。令人兴奋的是:


1.在 cpu 核数增加时性能几乎同比例增加;

2.在用一个简单集群替换单台高性能主机后性能几乎没有损失。


我们也测试了合约调用和创建的情况,结果如图所示。

 

顺便也想提醒大家注意,其实性能测试是非常复杂的工作,各种条件的变化都会影响到测试结果,比如是单节点性能还是多节点性能、是云主机还是物理主机、是 TPS 还是 OPS 、最大吞吐量是在多长的确认时间条件下达成、测试结果是否可验证等等等等。测试结果可验证也是项目开源可以带来的好处之一。


此外,针对企业应用的一些特性,例如隐私交易和系统治理等,我们也在跟国内外的高校和单位合作,如康奈尔大学,这次大会的协办方上海交通大学中钞区块链研究院等。


我们的 CITA 是完全开源的,在 GitHub 上可以直接看到我们的代码,同时也包括我们的文档和 docker 镜像,大家可以方便地使用。如果有感兴趣的同学想做一些原型验证,或者打算实现一个投入生产环境的区块链应用,那么用 CITA 可能会比用其他项目好很多。对了,我们今天下午还是在这个分会场,会有一个 workshop(动手训练营),主题就是介绍《如何使用 CITA 创建一个去中心化的应用系统》,感兴趣的同学可以过来。


作为国内区块链开源技术领导者,秘猿始终专注于研究与开发区块链技术,2011年起,我们的核心团队就已经开始参与各种区块链项目的研发。2016年6月,秘猿发布了自主研发的商用区块链通用平台 CITA 。2017年7月,CITA 正式向全球开源。同年9月,中钞智能卡研究院IPADS(上交大并行与分布式智能研究所)与秘猿科技正式建立了战略合作。未来,我们将继续与世界各地的区块链开发者和学术机构一起,共同推动区块链技术在全球尤其是在中国的发展。


在下午的动手训练营,现场的开发者们也非常热情,在进行了简要的介绍之后,小伙伴们纷纷拿出电脑开始 CITA 的部署。最后由两位同学顺利地完成了整个操作,获得了我们的秘猿定制 T-shirt 和秘猿贴纸~ ^_^



< 动手训练营现场 >



< 秘猿展台花絮 > ❀❀❀





最后,感谢开源社和 COSCon'17 主办方,特别感谢 TedStingCynthia思颖,以及所有社区的小伙伴们,期待咱们明年再见呀~ 😋






stay tuned...






--关于秘猿--

秘猿科技( Cryptape )专注于研究与开发区块链技术,长期为政府、金融等各种行业客户提供区块链技术解决方案与咨询,致力于成为价值网络时代的基础服务提供商。

企业级智能合约平台 CITA 是秘猿科技的主要区块链产品之一。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存