「点金课堂04」区块链产业能否成为开发者的天堂

「点金课堂04」区块链产业能否成为开发者的天堂

MAI点金课堂

第四课

区块链产业能否成为开发者的天堂

第一部分 区块链产业

区块链可以把它理解为一个去中心化的一个数据库,这是最直接的一种解释。而且存储在这个数据库中的数据稳定性非常的强,不容易被篡改,而且安全度非常的高,因为咱们存储的时候是进行过加密的。从比特币网络的存储的过程中,咱们就会看出来这个安全性和可靠性可见一斑。比特币从09年1月3号诞生,到现在的话大概有八九年的时间,基本上运行非常的平稳,没有出现过丢数据或者特别大的一些问题,除了中间有一次硬分叉带来一些小的影响,整体还是运行的比较平稳。

分布式存储数据

分布式这个概念其实也并不是最近才提出来,其实我们很久以前就一直在用分布式。那么一些大型的网站的数据库服务器,基本上都是分布式部署的。之前我在百度的时候呢,我们使用的数据存储他也是分布式部署的。主要的做法就是一主两备,就是一台主要用于存储,其他两台就作为备份。如果一台服务器出问题,两台备份的就会把主服务器的数据做一个同步,这样的话可以保证数据一致。

数据分片技术解决TPS问题

在中心化的应用上咱们是怎么样解决这个并发的问题,其实是通过集群来进行解决的。

什么是集群,集群的概念就是由多台服务器构成了一个整体的网络来处理并发。这样的话就是说我有多个窗口同时处理所有用户的请求,这样的话每条网络上分得的流量并没有那么多,他的吞吐量并没有那么多,那么整体的吞吐量就可以维持到一个很高的一个水平。

像支付宝,支付宝是咱们用支付用的最多的一个工具,支付宝的并发量可以做到三十万比每秒。就是说正常一个大型的一个平台,他的TPS必须是做到了几十万次才能够正常解决咱们日常的一个使用。

咱们去中心化应用的话显然是并没有达到这样的一个高度,咱们知道以太坊,EOS,还有比特币,那么它的TPS其实并不高,那么这样的话就是说根本是没有办法解决咱们的日常使用的。EOS目前他的TPS基本上达到了接近每秒4000次。算下就是一天大概能够处理4亿笔交易。前段时间的EOS还刚爆出一次网络拥堵的事件,从这儿我们可以得出一个结论,就是四千的TPS他其实远远达不到咱们日常的一个正常的使用。

我们MAI研究院的通过做了无数次的压力测试,我们得出了一个什么样的结论呢?

像EOS这样减少节点,或者就是说像比特币增加单个区块的存储。这种方式只能够暂时的加大些TPS,但是他不能从根本上解决并发的问题。

我们MAI研究院是如何解决这个办法呢?就是说我们必须突破这种单通道处理数据的问题。

这个地方我们就得提到MAI公链所使用的一个技术,那就是数据库分片技术。

那么什么叫分片技术呢?我在这个地方给大家做一个详细的解答。应用在咱们去中心化的网络里面就说。使用分配技术啊,可以把整个区块链网络切分成若干个小组。每个小组的就单独对自己的内部的节点做一个管理。每个小组,咱们称它为一个碎片,这样就相当于有若干个独立的区块链,同时在运行。因为这些碎片可以同时处理交易,相当于把原有单一处理模式,变更为一种分开并行的处理模式。这样的话随着节点的增多,可以处理的并发会越来越高。

举一个例子来说明这样一个道理,假如说现在有一家超市,这家超市有一个收银台,其实也就是现在的EOS和比特币他们的那种处理方式,无论如何想办法始终都会遇到一个瓶颈,因为这个交易都是一笔一笔的在处理,一笔一笔的在同步。处理同步这一笔交易后才会去同步下一笔。这样的话,他处理的速度始终会有一个瓶颈。

如果说咱们打破这种常规,就是说我们来设置多个收银台,也就是我们的分片技术。是多个收银台,让这些收银台同时工作同时来处理交易。这样的带来的一个结果,就是说我们的。交易的交易处理的并发将会成倍的增大。随着我们MAI的公链以后的节点的越来越多,我们分组的碎片也会越来越多,这样的话,我们的TPS是可以随着公链的发展而发展的,而不是停滞在一个瓶颈的阶段。这样一来的话就是说TPS将不再是MAI的阻碍,MAI可以同时运行更多的DAPP,这样的话,我们的公链其实是一个完全可以落地的一个项目。

第二部分 开发者

咱们关于区块链的就简单说这么多,接下来咱们再从技术的角度来分析一下,我们开发者应该怎么样积极的参与到公链或者去中心化应用的一些开发上。对开发者而言,就是说咱们可以从事的第一个,可以积极的参与公网的开发与维护,另外一个,咱们可以去多开发一些DAPP出来。

比特币是用C++语言来开发的,以太坊前期用c++语言来开发的,后期它更换成了GO语言。还有一个项目就是Fabric 超级账本,他也是用GO语言的开发的。

其实区块链它是一种编程思想,就是用任何一种编程语言基本上都可以实现,比如说c++也好,JAVA也好,Solididy也好 python也好GO语言也好,他都可以进行一个区块链的开发,那么。咱们应该选一种什么样的语言作为主要的开发语言呢?这个我们MAI研究院也是进行了一个对比分析,最后得出了一个结论,就是使用go语言作为我们MAI公链的主要开发语言。

为什么要使用GO语言,咱们通过一些对比来说一下。

GO语言,由Unix之父肯.汤普森牵头开发的,而肯.汤普森在电脑工业史上具有极高的地位,在2007年9月的时候才正式命名为GO语言,2012年3月然后发布的第一个正式版本。那么GO语言是一门比较新的语言,转眼五六年的时间。已经成为了2016年年度的编程语言最佳的编程语言,那么在2018年5月的TIOBE语言排行榜上的他已经排到了第九位。

就是说大家对这个GO语言普遍还是比较看好和比较认同的。而且GO语言它还有一定的特性,他呢主要是用来解决分布式的计算,它是云计算领域的新兴语言。而区块链是一个典型的分布式数据存储系统,使用GO语言是一个绝配,这是行业里大家都认可的。

GO语言优势,就是说它这门语言在编译和运行的速度上面,在众多的编程语言中是遥遥领先的,而且它里面提供了非常丰富的标准库,让学习成本低于java。

从最新的boss直聘统计来看,从事去中心化相关开发的技术的薪资,要比从事中心化开发的技术的薪资大概要高个百分之三十到四十。这个给我们带来一个什么样的一个观点呢?

中性化的应用在未来的十年之内已经趋向于饱和阶段,如果再去参与或者从事这些行业的开发,其实他是前景不是很明朗。如果是从事去中心化的一些开发,其实我觉得:因为物以稀为贵。现在毕竟这方面的技术还是比较少,我觉得这方面应该是有很大的一个机会的。

2018年被业内公认为是公链的元年,2019年被称为DAPP的一个元年。过去十年里,中心化应用一直是独霸天下。未来的十年,去中心化应用会不会成为行业的领导者呢?会不会引领下一个互联网下一个十年的发展呢?让我们拭目以待。

今天我的分享就基本上结束了,感谢大家的收听。大家在听的过程中,如果说有遇到什么问题的话,可以及时的提出来啊,咱们一起探讨一下。

互动环节

1、对开发者来说,他所开发的dapp中产生的数据会不会与其他的dapp的数据混合?

这个应该是不会的,因为每一个DAPP呢,他都会有一个单独的API去存储数据,那么存储数据一旦上了公链呢,他这个不属于任何一个DAPP的。而且就是说这些存储上的数据呢,都是属于用户的,每一个DAPP他都没有权利去读取所有的数据,而如果要读取数据的话必须经过用户的同意才可以。

2、当我开发的dapp产生的数据量过大的情况下会不会像EOS一样收费?

就是我们的DAPP产生的数据呢,这个如果说存储到MAI的公网上的这个我们是不会进行收费的。

3、如果数据量太大,会不会像之前btc 产生分叉,因为单个区块的容量?

这个产生分叉是不会的,因为咱们的区块呢,MAI的区块是一个动态平衡状态,我们做了很多的工作呢,就是针对于分叉儿专门做了很多的预防。

4、你们采用的智能合约是什么语言写的

我们MAI的智能合约的目前采用的是Solididy和java语言,作为我们智能合约的主要开发语言。这是为什么呢?因为我们主要是从一个主流的一个角度去考虑,以太坊的智能合约使用的是Solididy语言进行开发的。JAVA作为一种面向对象的语言来说,现在已经非常主流了,从事这一块的开发者众多。在TIOBE语言排行榜里面基本上是前三甲(Java C++ GO)。所以这个Java的学习成本应该是比较低的,所以说,我们选择他作为MAI的智能合约的开发语言。

5、区块会不会自己去选择记录的数据?还有就是分片如何在侧链和主链切换呢?

区块的记录数据的时候呢,他不会选择性的去记录问题,应该会记记录所有的数据啊,所有的交易。

针对另外一个问题就是主链和侧链,它怎么来调换分片的问题。它是这样的,就是主链我们都会有一个回调,都会有一个回调ID去回调到侧链的分片上,通过回调ID我们就可以找到这个侧链,然后就去对里面的数据进行一个交互。

6、分片的加密方式用的哪种加密?分片组合时所采用的组合方式是哪类呢?

我们的分片的加密方式呢,是采用多种混合式的加密方式。

7、那如果产生了更好的开发语言那怎么办?

如果有更好的开发智能合约的语言,我们肯定会做一个平衡的兼容。

8、如果我转型开发DAPP,MAI创智具体有什么激励机制能够吸引开发者?MAI未来会不会孵化DAPP开发小团队以鼓励众多APP开发者转型。

我们MAI使用的PAI共识机制,在这种机制下,我们会更多的去站在开发者的角度去做些激励机制。如果说这个DAPP,在我们多维度的频率下,他是优秀的。这个时候,PAI会把更多的记账权交到他的手里,这样的话,他可以得到更多的奖励。

MAI 肯定会尽最大的能力去孵化DAPP的开发者。而且我们的针对开发者也会去开发一些SDK,还提供给他们使用,让他们更轻松更简单的介入我们的公链。

9、昨天BCH分叉的事件很火,想问一下MAI以后也会分叉吗?有没有什么防止分叉的备案?

MAI会采取多种维度的保护措施去防止发生分叉。


分享到:


相關文章: