Py学习  »  区块链

BTA峰会 | Roy Li:区块链技术在企业级应用实践

RuffChain • 5 年前 • 213 次点击  


2018330-31日,区块链技术应用峰会在北京顺利举行,本次峰会聚焦区块链核心技术、发展趋势、行业应用、投资资产存储与交易等主题,RUFF 创始人 Roy Li 受邀参与本次大会,分享了主题为《区块链技术在企业级应用实践》的演讲,以下为 Roy Li 演讲实录:

演讲实录



首先非常感谢主办方火星财经、CSDN 给我这样一个演讲的机会。我们不是赞助商,我是蒋涛和王峰被投的企业,他们投的我天使,所以借着这个机会跟大家讲一下。我们也是他们投的企业中最没有存在感的,很多人都不知道,也借今天这个机会跟大家刷一下存在感。今天是偏技术的论坛我们也不是赞助商,我尽量还是少讲我们公司和自己,更多为大家讲讲整个行业。

我今天的话题是区块链技术在企业应用的实践,近期由于市场环境不好,有很多的人说区块链的技术由于基础设施不成熟,这个技术还在很初期,很难以落地,所以认为市场上很多你们看到的 Token 都会变成空气币,这点我认为我们不能一棍子打死。

市场上确实有一些技术不是很成熟,落地性能很差。但还是有一些技术他们离企业级应用比较近的,在这个过程中我们要站在一个比较理性的角度分析,而不是拍着脑袋就觉得区块链非常牛逼,或者区块链离落地还差的很远。

今天就跟大家讲一讲区块链技术在企业级的落地,因为我们自己本身也是做企业级应用的,我们在这个过程中也做了很多的探索,也做了很多技术实践的分析,也去看外面市场上很多开源的技术到底情况怎么样,是不是能满足比较高的 TPS,当然 TPS 不是一个比较好的指标,你还要看出币的方式,还有看通过什么方式解决区块链出来的问题。

我想知道在座的多少人是真正对区块链了解的,这三个词有多少人知道是什么意思?这三个词背后的历史,你了解了之后,你出去可以给人吹一壶了。

一、Ropsten / Kovan / Rinkeby 词汇的由来

其实这三个词都是以太坊测试网络的名字,这三个都是可以选择的以太坊的测试网络,以太坊出现了两个客户端,Geth 是第一个客户端,由于它的性能不是很强,它要同步的速度很慢,后来做了一款以太坊全节点的软件,是用 last 语言写的,后来由于这两个版本的客户端互相之间产生一些兼容的问题,导致以太坊的测试网络为了照顾兼容性,测试网络做了比较大的修改,最后就变成了 Ropsten

后面还有两个测试网络,因为以太坊的物质机制是 POW,这个 是有成本的,矿工是有成本的,所以最早期的时候以太坊的测试网络由于它的币价很低很低没什么价值,另外一点它本身不可能拉到非常多的算力支撑以太坊的测试网络,所以它就很容易被恶意攻击。因为整体网络的算力不够大,大量的攻击把这个 Ropsten,出一个块一千万是最高的 gas475万的 gas 被攻击到一个块90多个亿的 gas 了,根本不能玩了。

Ropsten 首先不能在这么低的情况下使用 POW,所以他们就使用了一个 POA,最后这个概念就变成了 Kovan,是基于 POA 的网络。比如你是一家知名的机构社区里很牛的人,我信你就让你成为一个,所以它很像 DPOS,但是它不是通过投票选出来的,是通过社区里公认你这几个就是比较大的节点,所以他就干了这个事。基金会也觉得这个东西挺好的,我们不能再用原来的方式,于是自己也做了一个  POA 方式的测试网络,叫做 Rinkeby,这些就是这三个词汇。

这个故事告诉我们,任何一条公链在它早期能启动的时候,你们要注意一点:最开始的时候很难做到非常非常高的去中心化,POW 是想解决去中心化的问题,它的算力非常分散。但是在早期的时候相对比较集中,我们所谓去中心但是不是无中心,可能有多个比较集中的中心,更加适合网络的启动。

同样 LTA 你们听说过吧,它有一个中心化的协调器在协调做这些,关于矿工打造的问题他们是用这个方式。早期的企业级应用你要做条公链的话,最开始启动时必须要考虑到这样的问题。所以你可能用 POA 的方式固定一下,跟大家讲这个小历史,一方面你可以跟别人吹,在座的有志做公链开发的话也要注意,早期你们有非常强算力支撑的时候你如何能启动。

二、公链应该使用什么样的共识机制?

下一个话题就是一个企业最早如果想要做公链的时候,你们第一个需要面对的是你到底使用什么样的共识机制?比如说BFT容错率很高,但是它有个问题,这个Scalability,它的性能和节点的平方成反比,就是说你节点多十倍的话,你的性能就会下降100倍,根据超级账本所带来的数据,包括很多人做的分析,你达到一百个节点的时候你BFT就很难再运用了。

但是好处也在此,你即便 50% 的节定都是鳄鱼节点依然不会有太大的影响。DPOS 是我比较推荐的,做公链的时候早期可以用这个,你通过 DPOS 的方式过渡,当时也有用双层的 POS 也是一样,但是它的问题在于有比较大的Scalability,这点对于比特币本身不是一个非常大的问题。因为我是搞安全的,安全的瓶颈绝对不是在那一层上,它其实有更多的问题,SPV 的节点被证明即使它不存整个块的数据,但是依然保证比较高的安全性,因为你最后发现有一个长短链的 POW 的机制。但是 DPOS 就会有很多这样的问题,在 DPOS 的过程中你是轻节点,不存储所有的数据的话,这当中会有问题。

另外 DPOS 的投票机制被设计就是相对比较容易攻破的点,这些都是考虑的。POW 肯定是最好,但是我前面讲过了,在你全网的算力比较低的情况下,或者是你本身币的价值不是很高的情况下,POW 会出现一些问题。

另外一点就是我们做 CAPA,现在很多基础设施是想解决区块链某方面的问题,其中就包括了 Sharding 分片技术,分片技术现在也不是很成熟,但是也是大家比较公认的方向,我不需要把全网分成很多区块并行做我想做的事情。这个 Cluster 包含了合约的执行,比如 US 干了一件事,US 是我觉得特别有意思的,由于合约在执行过程中它的依赖关系,会导致我本来想并行执行合约是很困难的,你给我把数据整理的好,我的并行执行效率越高就给你的奖励越高,US 干的这个事非常有意思,这是我们在 Cluster 领域里都在想解决的问题,US 把问题交给打包者了,你爱怎么打包怎么打包,我解决我想解决的问题,做这类的企业我还是比较钦佩的。

最后 Optimization 更多的是节点端本身的优化,gas 你本身的记账节点是有限的,你在规定的出块期间内能达到的 gas 是有限的,基本上就是那个量级如何提升量级,以太坊不是 TSO 的模式,它用了 400 多个G内存,这400的读写是个问题,有人提升数据读写的能力,现在市场上在干这个事,这都是非常有意思的。当这些技术慢慢成熟的时候,现在区块链扩展技术会变的强很多,你的硬盘能达到瞬时读写的性能,理论上 gas 可以提升非常多,这个是 Optimization 需要考虑的。

三、区块链技术的迭代难度比传统技术难很多

为什么区块链的技术迭代比传统的会难,是因为区块链本身分布式系统所面临的问题和中心化系统面临的问题不一样,可能会大相径庭。比如 US 里,他的白皮书里有一段是这么些的:兆与兆之间的原子交易,原子性就是不可切分,多兆之间的原子性只能是串性执行不能并行执行。你优化的时候,你会发现这些有 80-90% 的冲突是可以避免,只有像交易所之类的前后已经理不清楚的关系可能会有1-2% 的可能性,这样你是处理不了的,但是在绝大多数情况下可以处理的。第二是Storage,前面有企业说他加了 IPFSIPFS 的问题很大,性能现在没办法保障,这点我问过很多做 P2P 的高手专家,表示目前非结构化的数据存储就是无解的,很难真正做到像 IPFS

我个人是比较看好 IPFS 的未来,但是它现在落地性的问题基本上是没有解。最后一个就是 Contract 合约,合约的立即执行,如果你用 UTSO 的方式很容易就把它给执行了。我前两天跟帅初聊这个他就说:合约是非常复杂的东西,合约中间的冲突不一定是兆之间的冲突,很有可能是别的东西的冲突。

目前来讲合约还是比较初级的阶段,我们如何能更高效地调整合约的执行顺序,找到合约之间的关联性调整它们的顺序,高效地执行合约,这也是未来的发展方向。

四、目前区块链技术正处于理论到实践的阶段

最后一点我认为目前所有做区块链是处于从理论开始到实践的阶段,到 2019 年再谈区块链,你如果没有实践的技术你不要再跟我说链。我认为 2017 年你可以做,尤其是从2018年开始已经很难这么做了,大家觉得太多的人去吹他自己的东西,包括有一些吹十年之内未能拿的到的东西,他们在落地上都有问题。

现在看相对比较成功的链它的性能可能不是最好的,但是有一点,极大的降低了开发者开发 APP 的成本。为什么去年 '首次代币发行' 这么火,为什么去年做 Token的这么多,再前一年每年那么多人做这个东西,现在你基于 '首次代币发行' 自己做一套 Token 就可以直接发行属于你自己的 Token,对一年编程经验的人学点JAVA 3 天就可以做出,它已经普及到任何程序员都可以做。

未来很多你们不懂区块链怎么开发的,但是你可以开发出一个 APP,开发出属于自己的分布式应用,这个是将来一个很大的趋势。Ruff 这个公司做了四年,我们成功的在物联网领域里做了这么多年的物联网操作系统,我们现在可以用更加抽象的方式开发这些边缘计算中的一些应用,并且这些应用和区块链结合,这些上传的应用都是被标准化的抽象过的数据,这是我相对比较自豪的地方,这也是 Ruff 推出来至少在程序员的社区里还是有很多人看好的,他们认为这是我们离物理列相对比较接近的部分。

我做公链这么长的时间以来,做公链和做原来的操作系统有一个感受是一样的,只有我降低了整个开发的门槛,让更多人可以进来,降低了门槛之后才会有更多的应用,比我更有创意的人会做出你想象不到的应用出来。所以我们的口号就是“Code EasierChange Faster”,只有所有人能够轻松愉快地开发出 APP,这套公链才是成功的,这是我对公链的态度并且对公链如何取得成功的看法。

感谢今天这样的机会在此和大家分享,我今天的分享就到这里,谢谢。



嘉宾介绍


厉晹 Roy Li

Ruff Chain 创始人

Ruff CEO

著名的安全专家和物联网专家,全球领先的物联网操作系统 Ruff OS 的创始人,复旦大学 MSE 硕士生导师。曾任 Verisign、Trend Micro 安全顾问,前北美 Nokia OVI 技术总监,四届 QCON(全球软件开发大会)优秀出品人,三届 GITC(全球互联网技术大会)讲师。



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/4DON36gVdh
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/9813
 
213 次点击