演讲实录:公有链的七大难题及Genaro 的解决思路(1)

演讲实录:公有链的七大难题及Genaro 的解决思路(1)_第1张图片

主讲人:Genaro CEO 刘昱

主讲时间:5月11日星期五 19:45

哈喽,各位CYBEX的小伙伴还有Genaro的爱好者,大家好!今天晚上我非常高兴可以和大家分享,我们对于公有链设计的看法,以及在Genaro的公有链设计中相对应的解决方案。

今天主要是从如下几个方面来给大家聊聊Genaro的公有链设计:

1. 设计可持续的共识机制

2. 可兼得的安全性与TPS

3. 建立联通现实世界与区块链的数据通道

如果是Genaro比较“年长”的爱好者,应该知道我们在去年其实主要做了一件事情,就是打造去中心化的存储网络。

在三月的时候也推出了一款叫做GenaroEden的产品,他是面向个人用户,可以用安全的去中心化的方式来存储数据的一款DAPP。那么今年,我们主要的工作就是和存储网络相结合起来,打造一条高效可编程的公有链。

那么,把公有链和云存储结合有什么意义呢?这可能是今天要跟大家探讨的,比较重要的一部分话题。

我们认为,从比特币作为第一个应用到现在,公有链技术已经算是经历了十年的发展。那么,每项技术的进步以及发展,还有技术推出来的时候,是要符合当前市场需要的,但是随着市场的需求越来越多,可能会要对一些地方做一些改进。

并不是说,比特币、以太坊他们的技术不好,他们是非常伟大的创造发明,为我们现在做的工作,探索了一些方向。但我们会基于之前的一个技术变革,做一些往前的推动,为我们公有链作一定的改进,主要体现在以下几个方面。

第一点,可持续发展的共识算法的设计;

第二点,是来构建一个点对点的分享网络;

第三点,也是可能大家说的最多的,可兼得的安全性与高TPS(每秒事务处理量(TransactionPerSecond));

第四点,联通现实世界和区块链的数据通道;

第五点,就是构建一个和公有链耦合的点对点传输网络;

第六点,设计一个可持续的通证模型;

第七点,一个区块链的治理机制的设计。

因为今天的分享有限,可能我只有不到二十分钟的时间,所以我们只能分享其中三个点,以及来针对现在的问题,GenaroNetwork是怎样设计的。


一、设计可持续发展的共识机制。


我们先来看一下,这个问题产生的原因是什么,什么是可持续发展的。

那么这要回到,最开始也是现在比较主流的一个共识机制算法,就是PoW(Proof of Work 工作量证明)。

大家都知道,POW是以比特币和现在版本的以太币为代表的共识机制,是矿工通过做数学计算,来验证一个Transaction。那么首先有个问题,我们为什么要做这件事情。

大家想一下,就是区块链产生的过程,矿工发现一个区块,他一定要做大量的计算才能把这个区块挂载到区块链上,不然的话,区块链是很容易被受到攻击的。

因为在区块链中最长的链是正确的链,如果你不付出任何代价就可以挂载区块的话,那么你就可以Fork,然后随便地加长区块链进行攻击,让用户分不清哪个是正确的链哪个是错误的,所以中本聪设计了PoW这个共识机制来解决这个问题。

第一点,这个共识机制非常好的解决了安全性问题,但是他同时也引发了一些不可持续性的问题。比如它所消耗的算力,是随着时间的推移不断的增加的,而且是越来越大,以至于普通的用户电脑已经没有办法参与了。根据去年一项英国的研究调查统计,比特币挖矿的用电量已经超过了一百五十九个国家,资源消耗非常巨大。

第二点,整个PoW的计算过程都是无效的计算,比如说,他不是对现实世界中有帮助的计算,比如说做人工智能的Training,蛋白质的分子结构的计算,都是在现实世界中非常有帮助的计算,而比特币PoW,只是解决一些随机的数学问题,在现实生活中是没有任何帮助的。

为了解决这个问题呢,大家其实最早在2012年就有人提出来说,用一种叫Pos(Proof of Stake 权益证明) 的方法来解决这个问题,现在比较火的一些公有链,也都会用到Pos。但是Pos他因为不需要贡献任何算力,就能挂载区块,所以他,就丧失了区块链所应有的安全性。两个问题比较著名,一个是Long-range attacks,一个是nothing-at-stake attack(权益粉碎攻击),感兴趣的听众可以去Google一下。

总而言之,现在的一些PoS,他们虽然可以用限制币龄,限制出块速度,来解决这个问题。但是,都不能从根本上,来增加矿工的一些额外的难度,从而确保这个区块链的安全性。

那么第二个问题,就是如何在确保安全性的同时提升TPS。


尤其是在去年底,提升区块链的scalability,提升TPS(通俗讲就是提升区块链的性能),是非常重要的,不同的项目都尝试了不同的方法。

我们可以看一下,TPS就是每秒钟产生transaction的数量。他等于并发数除以平均响应时间。根据这个简单的公式,大家很容易就想到用Sharding技术(分片)来提高并发性。像Dfinity、Zilliqa等一些项目都使用了Sharding技术。那么有的是Sharding,有的是Sharding Transaction。他们的目的都是来提高并发数。

TPS等于并发数除以平均响应时间,所以他就等于每个区块包含的交易的数量,除以区块产生的时间,我们也可以从这个思路来思考下。

首先,我们可以增加每个区块所包所的transaction的数量,那么大家可能比较知道的,就是比特币的扩容,通过扩容的方法,让每个区块儿产生更多的交易数量,从而可以提高,区块链的速度。如果利用减少区块产生的时间来提高TPS,可以用到很多方法:

比如说,减少达到共识的时间,这方面的代表是DPoS。

在以太坊上,要全网达到共识,那么在DPoS系统中,只需要二十一个被竞选出来的超级节点达到共识,整个系统也就达到共识,所以DPOS达成共识的速度更快,从而可以提高提升TPS数量。

另一方面,有一些项目,也非常聪明,他们可以说是跳出了这个问题本身来思考问题,就是做Option的一些方法,就说我们不提高区块链本身的处理速度,我们认为不是所有的交易都一定要放到区块链上的。比如说,我们有七八个好朋友,一起吃喝玩乐,一起去旅游一段时间,那么我们可以这样,就是我们内部进行一些交易汇总,那么可能最后结算时,就是张三一个人出两百块钱就完事儿了,其他人通过内部计算进行解决。这些好朋友间的内部计算呢,就是可以放到option上,只有当有人需要套现,或者说想要跟区块进行结算,才把这笔交易放到区块链上进行发生,那么这样的项目,比如说有像raiden network、lightning network。

但是,大部分解决问题的方案,是在牺牲安全性的同时来提升TPS。有一个很著名的区块链不可能三角理论,Security(安全性)、Decentralization(去中心化)、Efficiency(效率),是不能兼得的。

比如说,EOS说,我要用二十一个节点来达成共识更快,那么他就建立在牺牲去中心化前提条件下。有一些人会说,如果按照大节点算的话,比特币是更为集中的,我们不对这方面进行一个深入辩论,但逻辑上确实是这样,就是一定要有所牺牲。

目前大家都接受这个理论,但我个人认为这个理论其实有一定的误导性。比如,对于单个个体来说确实是这样,就是你一个特性太长就会影响你的另一个特性。但是单个个体的整体实力确实可以提升的。

这是什么意思呢,举个简单例子,比如说长跑和短跑是不可兼得的,百米运动员都很壮,马拉松运动员都很瘦。

这只是对于个体而言,但个体的实力是可以不断提升的。比如说,刘翔,是短跑运动员,但是我觉得一般人跟他跑长跑,也不一定能跑得赢,因为他是运动员,身体素质整体非常棒,比普通人更好。

所以我们是希望找到一个方法可以整体提升这个公有链的能力。

下一个公有链普遍存在的问题,是公有链作为一个相对独立的系统,跟现实世界没有办法进行交互,来传输正确的数据。这是什么意思呢?我们可以再举一个简单的例子,比如说我即将去越南出差,然后来出席火币的峰会。假设一个智能合约来帮我安排行程,那么这个智能合约他负责在我指定的条件范围内帮我找到价格最低的酒店,然后帮我预定。那么现在问题就来了,不同节点因为延迟问题,节点很难在同一时间找到相同数据。

比如说一个酒店。它在Expedia、携程、官网上,价格都不同,那么不同的节点,在做这件事情的时候,可能去不同的数据源找,也可能都在Expedia上找,如果一个节点刚找完,这个这个平台突然办了个活动,酒店价格又变了,另一个节点,有一定的延迟,找到了一个不同的价格的酒店,这就很尴尬了。所以说,因为区块链他不是一个中心化服务器处理,每个节点都是自由行动的,所以,区块链从现实世界中的收集的数据不能及时同步。所以,我们需要一个东西,往区块链推送正确的数据。

这个东西叫做预言机,现在,区块链当中,预言机主要是通过预测市场来实现的。比如说以太坊非常早期的项目Augur、以及Quantum也是第二个项目吧,非常早期的项目菩提BOT(Bodhi),还有一些像Gnosis(GNO)、Delphy(DPY)呀,他们都是预测市场的项目,他们想解决的一个问题,就是预言机的问题,希望通过打造一个预测市场来扮演预言机的角色,把预测市场中产生的结果当成是一个可以被审计,可值得被信任的数据推送到区块链上。

这个想法是非常好的,他的逻辑是,因为我压了自己的Coin token,那么我一定会竭尽所能,来找到正确的数据进行推送,不然的话,我的Coin就会丢失。这相当于不以真实世界中实际数据为体现,而以这个预测的结果为体现,像是一个二元期货赌博的现象:咱们两个人,来对不同的结果进行竞猜。那么一方钱多,他就会赢了另一方,而不管在现实世界中这个数据究竟是怎么样的。所以这个是不能保证区块链是可以获得真实的数据的。

那为什么,这些问题可以在Genaro的公有链中被解决呢?

首先呢,我们来看一下Genaro Network,他是一个结合了去中心化存储网络的公有链。混合的共识机制是SPoR(Sentinal Proof of Retrievability数据的可检索性证明)加PoS,那么整个网络达成共识的一个情况就是大家在用存储网络,如果你想成为分享者,你要先进行GNX的押注,你押注完之后,你会有一定的权利来分享存储空间,这个数值是押注五千GNX可以有权利来分享4TB,之后你就成为了一个存储节点。

网络会根据存储节点,在存储网络中的表现、贡献来进行排名,主要根据两个因子来算,一个是GNX押注的数量,一个是你所包含的Sentinel的个数。

过程大概是这样,比如说,这个时候有一个用户他上传了一个电影,那么这个电影是切成很多碎片,每个碎片再取random的一片,然后做一个hash,这个是Sentinel,把它放到矿工上,Sentinel是存到链上的,数据的其他部分是存到存储网络当中,一个节点的Sentinel越多就代表他对网络的贡献越大,因为他存了越多别人的数据。

这个时候,我们根据存储节点的排名,选一百到两百个对存储网络贡献最大的、最值得被信任有实力的节点来做委员会,轮流连续出块儿。

我们回顾这三个问题。简单看一下Genaro的SPOR+POW效果


首先。他是一个可持续的共识机制。因为首先SPoR计算的是非常有用的计算,在云存储当中,很多系统都是要用PoR来做计算的,来验证数据一直存在那里可以被取回,而不是像PoW这样的一个随机问题没有用的计算。并且他不会根据时间的推移而不断的提升难度。另外,他不是单纯的PoS容易被攻击,你需要有非常多的Sentinel数量,也就是说,你在网络中的贡献足够大,待的时间足够长,并且又不断地做计算,你才能做共识,也就是确保了系统的安全性。

第二,这个设计为什么能提高TPS呢?我们提升TPS的方式有很多,比较显而易见的就是EOS,他是选出二十一个超级节点,所以他更快。同样的道理,其实我们的PoS比较类似于是DPoS了,只是我们不是通过选票产生的,是通过节点的实例产生的,最后的结果就和DPOS一样,不需要全节点达成共识,只需要一百到两百个节点达成共识,所以达成共识的速度就更快。

第三,我们如何建立,真实世界和区块链的一个数据通道呢?大家可以想想现在的项目,公有链和存储是完全隔离的,公用链需要数据一定要从外面去抓取,所以才会产生这个问题。那在Genaro系统当中,这两部分通过共识机制的方式以及虚拟机指令的方式紧密的结合在一起,比如说,如果我是一个程序员,我可以发布一个智能合约,做一个DApp。那么我负责提供初始数据,并且提供数据的一些增、改、查的规则,其他人通过我们定义的一个协议叫GSIOP(Genaro Streaming IO Protocol)的协议。这个协议我们正在申请专利,暂时还不能把这部分公开出去。

通过这个协议来进行更改的具体过程,是直接用Genaro Virtual Machine的指令来操作公有链,来进行更改,那么同时每个数据的每个版本都有一个hando来存到公有链上,类似于是一个指针的作用,可以帮助开发者来找到数据。

数据的初始化就是在这里,每次更改的增量,也是在这里,而且是通过GSIOP这个协议来操作的加密数据,所以他也是安全的,就相当于说,我如果愿意成为你DApp用户,我只需要相信你提供的初始化数据,和你更改数据的规则(而且都是公开的)来进行使用,所以可以为区块链来提供一个可靠的数据。

关于公有链的设计,其实还有非常多有趣的话题,尤其是通证模型的设计,链上治理问题。希望再跟大家进行更多的交流,同时非常感谢今天的主持人,也感谢Genaro的爱好者、Cybex的粉丝们,谢谢大家!

二、提问环节:


1. Q:现在产品能解决哪些问题?


A: 目前已经推出的产品Genaro Eden, 大家可以当作安全/保护隐私的“私有云”来使用,用GNX“租用”存储空间。Genaro Sharer分享者可以通过押注GNX、分享空间来获得双重权益。我们希望通过这样的方式建立一个分享社区,为个人提供一个安全空间,同时为公有链提供底层存储网络。


2. Q:Genaro的发展终极目标是什么?


A: Genaro发展的终极目标是打造Dapp生态基石,我们希望帮助越来越多的Dapp基于Genaro落地。同时,我们提出“首个结合去中心化存储网络的高效可编程共有链”这个概念,旨在为开发人员提供一个一站式的解决方案,可以部署智能合约,并且来存放Dapp所需的数据。在Genaro的Dapp生态中,它跟互联网的app的应用,主要是为了释放数据的使用权。我们认为数据即资产,希望通过这种中心化的数据的存放方式,第一能保证用户数据安全,第二能创造越来越多的匿名分享数据并且使用数据的场景,从而使得分享者在Genaro网络中不仅是可以分享一些算力硬盘,而且还是可以分享在互联网中最为宝贵的资产(数据),当然是在不暴露数据的前提下。


3. Q:落地之后的应用场景有哪些?


A:落地的场景是非常多的。把Genaro Network和其他共有链或者是存储类项目作对比,跟其他存储项目对比我们的优势是可以开发Dapp,跟其他公有链相比,我们的优势是可以提供存储并且提供可信的数据。所以对于存储要求比较高的Dapp是更有优势的,比如版权保护、内容分享,或者是对数据安全性要求很高的去中心化的交易所或者是去中心化的钱包等,甚至是像私钥这样的东西,我们都可以进行非常安全的去中心化存储。另外一个比较大的应用场景也是我个人比较看好的,就是精准营销类,代表类的项目就是BAT,BASIC,ATTENTION TOKEN。在Genaro的场景下可以更好地实施,因为所有的用户信息都是可以非常安全的传到Genaro的存储网络当中,并且基于Genaro的公有链可以写一些智能合约,比如说,这个数据在什么场景下被使用,他获得多少激励,类似于这种。


4. Q:GNX好还是EOS好?


A:这个问题其实是很难回答的。首先,看你怎么比较。如果是从市值和影响力比,那现在Genaro相比于EOS来讲还有非常长的路要走,因为EOS毕竟有一场非常大规模的一年无休的ICO,并且它的超级链竞选引起了很大的市场轰动。但是我认为从技术的角度,促进Dapp落地,或者说是一个技术的实用性上来讲,我认为Genaro会更有优势。首先我们可以简单谈一下这个治理机制,在EOS系统当中,它的逻辑是谁具有最强的拉票能力,谁就对网络拉票最大或者说是对网络的话语权最大,而在Genaro的系统当中,谁对存储网络的贡献最大,谁有更高的话语权来治理网络,这也是我们提出的数据治理。从其他一些实用性的角度来讲,即便一个项目用EOS,它还是需要找一个地方来存储数据,比如亚马逊云或者IPFS,而在Genaro上可以进行一站式的项目开发。


5. Q:请问你关心社区和币价嘛?对于目前的状况,你有什么解决方案嘛?

A:题目是我是否关心社区和币价,两个问题,一个是社区,一个是币价。

对于社区来讲,作为一个去中心化长远发展的项目,社区的广大支持是必不可少的。它体现在方方面面,比如说技术社区,他在我们的技术方面可能会有一定的贡献,包括我们现在跟复旦大学的合作,一定程度上来说也是社区合作。之后,要把我刚才提出的公有链实现出来,也离不开大家的支持,社区支持者愿意来贡献更多的存储到Genaro当中,才能使我们的共识机制更有效的运转。

另外一个方面,币价。其实我不太经常看我们的币价的,可能偶尔别人讲一下才看。包括别的币价,更加不看了,可能还知道一下比特币和以太坊的价格,现在项目也这么多。主要是更关心大家做什么,比如genaro的开发团队有没有在做正确的事情,我们设计的整个的共识机制,整个的共有链和整个的构架是否合理,跟其他的项目相比,我们能提供哪些优势。

相信,无论币价涨还是跌,它最终都会匹配到项目本身所应该承载的价值,短期内的一些起起落落,可以说是不太关心的。我更在乎在一年三年可以做到什么样的一个社区,来推出什么样的产品,从而来承载多少价值。

对于目前的情况有什么解决方案嘛,这可能是你的第三个问题。最近几天收到一些反馈,说社区里面不文明的人非常多,我们已经制定了一些管理社区的规定,希望大家更多的是进行一些技术生态的探讨,而减少一些不文明以及过度投机这样的不太适合的行为。同时也呼吁社区的支持者可以用更长远的眼光,尤其是在技术和生态建设方面,对项目给予一定的支持。也非常感谢过去的一年,在方方面面给了我们很多帮助的社区朋友们。

                                                     - 关于GenaroNetwork -  


Genaro Network,首个结合点对点存储网络的高效可编程公有链,独创SPoR(Sentinel Proof of Retrivebility)+ PoS (Proof of Stake) 低能耗可持续的混合共识机制,在确保安全的同时提升性能。Genaro为开发者提供一站式开发平台,可以同时部署智能合约并存储DAPP所需数据,并为每个人提供一个可信任的互联网,通过数据联通现实世界与区块链世界。


更多信息:

官网:https://genaro.network

GitHub:https://github.com/GenaroNetwork

微信公众号:GenaroNetwork

你可能感兴趣的:(演讲实录:公有链的七大难题及Genaro 的解决思路(1))