普京“笑八”石墨烯的前世今生,品EOS和OracleChain

论坛 期权论坛 区块链     
Putin001   2018-11-20 23:37   4004   0
            【前言】笔者第一次接触到石墨烯技术是在今年1月21日,巨蟹牵头,Linda组织的石墨烯开发者大会上。记得当时印象最深刻的有两件事:
1.身旁坐着一个炒币的小伙,听见石墨烯三个字于是就问,这是哪个币在哪买……
2.与会当天建立了一个现场群,群里有一位石墨烯材料新能源汽车的老板,一个劲儿喊自己石墨烯材料和产品的优势……
时隔三个月,又要举办一次石墨烯区块链开发者大会了,相较上一次阵容增加了不少,笔者好奇心再犯,尝试着讲讲石墨烯区块链技术的前世今生。
【石墨烯区块链技术简介】但从区块链生态上来回顾:
比特币为第一代生态,主要是加密货币系列,典型技术表征为UTXO (Unspent Transaction Output)和POW共识算法;



比特币状态转换以太坊在比特币的基础上,增加了以太坊虚拟机EVM,为用户提供了编写智能合约的功能,但是以太坊抛弃了UTXO的方案,采用状态(state)的概念存储一系列账户,每个账户都有自己的余额。(ETH在Metropolis大都会升级上会增加UTXO,并采用POW+POS的过度共识,最终完全使用POS)。这算是第二代加密货币+智能合约系列



以太坊状态转换


以太坊架构同样,在第二代加密货币+智能合约系列中,另一个比较热门的而且当众对标ETH就是EOS了,它的核心竞争力就是这个石墨烯区块技术,一个在识别了ETH吞吐量不足并加以改进的区块链技术。(除此之外诸如采用PBFT的NEO等第二代就不在描述范围内了)
在研究完石墨烯区块链技术后,笔者突然想起第一参加石墨烯大会上那个问石墨烯是什么币在哪能买的朋友在让人哭笑不得的同时,说不定还真误打误撞到了EOS的本质——石墨烯区块链公链。如果如今这种公链和应用链都流行上项目发币在当年也盛行的话,石墨烯区块链技术早已可以作为公链发行了,它提供了一整套的区块链模块化库供项目使用,而且每一个使用的项目都可以把自己作为一个单独的公链。它以并发提高吞吐量和DOPS共识算法著称。



石墨烯源代码包图解石墨烯是区块链工具组,由Cryptonomex公司开发,GitHub 项目地址:
https://github.com/cryptonomex/graphene,采用 C++ 编写,丹尼尔  拉里默(Dan Larimer)是 Cryptonomex 的创始人,而他的父亲斯坦拉里默(Stan Larimer)是 Cryptonomex 的主席。与大多数数字货币类似,Graphene (石墨烯) 使用区块链来记录参与者的转账信息及市场行为。由于每个区块总是指向前一个区块,因此一个区块链条包含了所有在网络上发生的交易信息。区块链是一个公开的、可审计的账簿,每个人都能够查看详细数据,并验证交易、市场订单和买卖盘数据。所以BM很有可能是完成老爹将石墨烯区块链技术作为公链发行的心愿推出了EOS,哈哈。
言归正传,笔者觉得老外总喜欢给自己的作品取个玄乎的名字,让大家感觉神秘不可莫测,正如这石墨烯之名才导致了文章开头真正石墨烯行业人士的误解。石墨烯区块链不是单个应用程序。 它由许多库和可执行文件组成,如上图所示,以提供可部署的节点,提供三个可执行文件:witness_node,cli_wallet和genesis_util。它的本质是区块链与LMAX并发架构的结合体来提高区块链的吞吐量,也算是区块链与传统行业技术的一种结合改进。
【LMAX并发架构】LMAX是一种新型零售金融交易平台,它能够以很低的延迟(latency)产生大量交易(吞吐量)。系统完全构建于JVM之上,却能在一个单线程上每秒处理6百万的订单,业务逻辑处理器完全是运行在内存中(in-memory),使用事件源驱动方式(event sourcing)。系统主要是由Disruptors并发组件,能够在无锁的情况下实现网络的Queue并发操作,同时和业务逻辑服务Business Logic Processor两部分组成。



LMAX整体结构它的核心思想就是把验证、计算和业务处理等过程全部细分,将核心业务逻辑中移除所有不属于关键的,让其依赖于顺序的评估计算,并设计一个促进这些优化的协议,从而达到高并发的处理效果。
业务逻辑处理器Business Logic Processor有次序地取出消息,然后运行其中的业务逻辑,然后产生输出事件,整个操作都是在内存中,没有数据库或其他持久存储。将所有数据驻留在内存中有两个重要好处:首先是快,没有IO,也没有事务;其次是简化编程,没有对象/关系数据库的映射,所有代码都是使用Java对象模型。
业务逻辑是在单个线程中实现的,但是在调用一个业务对象方法之前,有很多任务需要完成:原始输入来自于消息形式,这个消息需要恢复成业务逻辑处理器能够处理的形式。事件源Event Sourcing依赖于让所有输入事件持久化,这样每个输入消息需要能够存储到持久化介质上,最后整个架构还有赖于业务逻辑处理器的集群。同样在输出一边,输出事件也需要进行转换以便能够在网络上传输。



核心业务逻辑外不关键的细分所有业务逻辑处理器避免最任何IO处理,所有这些任务都应该相对独立,需要在业务逻辑处理器处理之前完成,可以以任何次序方式完成,这不同意业务逻辑处理器需要根据交易自然先后进行交易,这些都是需要的并发机制。为了这个并发机制,开发了disruptor的开源组件。



DisruptorDisruptor可以看成一个事件监听或消息机制,在队列中一边生产者放入消息,另外一边消费者并行取出处理。当你进入这个队列内部查看,发现其实是一个真正的单个数据结构:一个ring buffer,每个生产者和消费者都有一个次序计算器,以显示当前缓冲工作方式;每个生产者消费者写入自己次序计数器,能够读取对方的计数器,生产者能够读取消费者的计算器确保其在没有锁的情况下是可写的,类似地消费者也要通过计算器在另外一个消费者完成后确保它一次只处理一次消息。



LMAX完整结构现代的CPU延迟是影响性能的主导因素之一,在CPU如何与内存交互,CPU具有多层次的缓存(一级二级),每级速度都明显加快。因此,如果要提高速度,将代码和数据加载到这些缓存中。为什么队列干扰了缓存呢?解释是这样的: 为了将数据放入队列,需要写入队列,类似地,为了从队列取出数据,需要移除队列也是一种写,客户端也许不只一次写入同样数据结构,处理写通常需要锁,但是如果锁使用了,会引起切换到底层系统的场景, 当这个发生后,处理器会丢失它的缓存中的数据。最后得出的结论能够获得最好的缓存性能, 需要设计一个CPU核写任何内存,多个读是好的,处理器会非常快,而队列失败在single-writer原则。于是,设计出了disruptor大大提升了处理速度。
【石墨烯区块链技术特点】石墨烯采用了LMAX相同技术方案,该方案满足以下几个关键要素:
1.尽量将所有事物放入内存处理;
2.避免同步原子函数(比如锁、原子操作);
3.尽量减少业务逻辑处理器中不必要的计算。
传统的区块链设计使用密码哈希来生成全球唯一的统计保证不会冲突的HASH ID,而石墨烯技术移除了诸如地址等简化版唯一ID来进行优化,当事务交给业务逻辑处理器的时候,唯一剩下的步骤就是检查ID,然后执行业务,实现了同LMAX的高并发。
同时,更重要的是石墨烯采用的是DPOS共识算法,验证节点只有21个,虽然笔者花了大量时间去了解LMAX架构原理,但笔者觉得石墨烯的高吞吐量主要还是来自DPOS的效果,LMAX高并发+DPOS才是强强联合,正如ETH之sharding+POS组合一样,应该最终是势均力敌的。
【石墨烯公链EOS和OracleChain】1.EOS:



EOS服务架构图从EOS服务架构来看,它在石墨烯的基础上还是有不少改进的,比如引进了IPFS存储和网关等,同时在生态结构上,也对ETH的不足进行了调整,这里就不详细展开了。
2.OracleChain:
Oracle本意是预言机的意思,而由于甲骨文公司太有名了,导致大家都逐渐忽视了它的本意。笔者一直喜欢将Oracle与赌博模式相连接,因为预言机说的通俗一点就是预测,当预测的准确率稳定并且很高的时候就变成了策略。任何领先的技术,最早应用好的领域要么色情行业,要么赌博行业,如paypal鼻祖来自色情行业支付需求,AI预测当前在赌博和股票上的应用也是领先于其他行业的。
那么回归到OracleChain这个项目,它和有名的诸如Cortex等AI项目大同小异(参见笔者AI与区块链如何擦火花 - DBC,BTO,Endor等项目),目前阶段预测项目基本上有以下四个主要应用方向:
1.保险市场——依据个人数据预测保费等,从而可以订制保险智能合约;
2.智能投资策略——依据外部数据,分析出高的投资收益组合,从而也可以创建投资建议智能合约;
3.单纯的体育竞猜和博彩——依据外部数据,分析出高的预测结果,从而也可以创建投资建议智能合约;
4.其他等
OracleChain相对Token类预言机项目(Token项目,该定义参见文章区块链基础概念 - 理解COIN和TOKEN)来说,优势在于基于石墨烯区块链技术,自己本身可以算作一条公链,吞吐量得到了大大提升,其他差异不大。
【总结】由上,普京“笑八”石墨烯的前世今生的结论是:
石墨烯区块链技术原本可以单独作为一个公链项目而独立存在,可惜当年大家都沉浸在发加密数字货币的年代,所以只出来了BTS。而随着认知的深化,BM为了完成老爹将石墨烯区块链技术作为公链发行的心愿推出了EOS,进一步发扬光大了石墨烯区块链技术的生态体系。
而它最主要的特点为:LMAX高并发+DPOS的强强联合,正如ETH之sharding+POS的组合一样。
【参考文献】1.BTS石墨烯介绍:https://bitshares.org/technology/industrial-performance-and-scalability/
2.The LMAX Architecture:https://martinfowler.com/articles/lmax.html
3.OracleChain官网:https://oraclechain.io/projectOutline


本文由【区块链研习社】优质内容计划支持,更多关于区块链的深度好文,请点击[区块链研习社](http://www.jianshu.com/c/b17f09dc2831)


应大家建议开通微信公众号方便交流,目前公众号已与论坛同步更新。喜欢的朋友可以关注,以后仍会以论坛为主,微信公众号同步的方式,可以搜索公众号名“Putin学习区块链”或者“PutinBlockchain”,二维码如下:

RMB进入币圈投资的直传门https://otcbtc.com/referrals/BNGJLY1



         
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:26
帖子:2
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP