主页 > imtoken钱包下载 > 「imtoken下载」马昊伯:aelf用工程化思路构建永不宕机的云计算

「imtoken下载」马昊伯:aelf用工程化思路构建永不宕机的云计算

admin imtoken钱包下载 2022年08月11日

  时艳强:昊伯总,您进入区块链领域算是比较早的,当初是怎样接触到区块链的?区块链的哪些魅力吸引了您?围绕区块链,您做过很多次创业,可以介绍一下您的创业经历以及创立aelf的灵感来源。

  16年底, 当时FBG的创始人周硕基在看有关Token投资的项目,对于我们来说Token行为很常见,比如历史久远的BTS的故事,BM他搞PTS,PTS搞完了又搞了一个AGS,最后拿着AGS再去换BTS,也就BM才能每次都搞出一些创新的玩法。以太坊在当时也是众筹行为,包括比较早期的一个项目叫NXT也是一种众筹。这个期间我们看了大量的项目和白皮书,而事情发展的速度超乎我们的想象,吸引的资金规模也翻了很多倍。在这个过程中我们发现现有的区块链网络支撑不了很大的业务量,现有的底层区块链系统都会存在三个问题,一是性能太差,二是资源不隔离,三是治理有问题。

  时艳强:aelf对标以太坊和EOS,近期因为Fcoin的上币机制,再次导致以太坊拥堵,如何从技术上解决拥堵的难题?技术实施的难点在哪?围绕Fcoin上币机制,有黑客专门做刷票服务,可以通过哪些技术解决?

  马昊伯:我对在这个行业里坚持下来的老朋友都特别欣赏和佩服,因为整个行业从不被大家理解慢慢的变成被关注的行业,大家在行业里坚持着,坚持认为做的事情是有价值的,而且不停地让其他人了解这个行业的价值,这些老朋友让我特别地欣赏和佩服。我们自己的项目也得到了很多老朋友的支持,当时我们交易所上线时同时首发了六家,这跟我们技术的强大也有关系,有的Token被别的交易所抢了首发,但我们很好地控制了节奏。我觉得布洛克科技提供这样的渠道让大家沟通交流非常好,我可以推荐很多同学和朋友来跟大家交流。

  马昊伯:我之前曾对这个事情发过一条朋友圈:交易挖矿本质上是一个资产再分配的游戏,通过每天刷量花费手续费购买平台币(这里将挖矿得到的交易所代币统称为平台币)。平台将收到的80%利润空投给平台币持有人。因为存在着刷量多少左右能够得到平台币,跟持有多少平台币获得多少分红,两种博弈,平台币在二级市场的价格就尤为关键。由于早期平台币供应量稀少,在持有币就能得到分红的情况下,会有大量买盘直接购买平台币,推高价格,因为直接购买的效率是刷量产生交易费的五倍(交易手续费仅20%能换币)。当价格被推高后,购买成本增加,不如用手续费购买划算。这两种获得平台币的方式在动态博弈,最终推高了平台币价格,产生了大量交易手续费利润用于分红,最终当先入场低成本获取平台币的用户获利出逃时,大量后进入用户接盘。

  2013年底我用区块链写了一些类似于支付系统的东西,14年我在北京,当时小蚁的发起人来找我去做他们的CTO,那个时候对区块链来说各种各样的币比较多,我觉得应该围绕着一些基础设施来做。当时做比特币支付公司很多,比如国外有家公司叫Bitpay,那时我已经做了一套支付网关系统,所以我把小蚁的发起人拉到一起做了GemPay这家公司,做比特币支付的业务,基于这个业务又做了一个中心化的钱包,是在IOS和安卓上都可以用的软件。现在大家看到各种各样的钱包,但那个时候手机钱包真的特别少,当时我们做出来的时候OKLINK刚刚开始做钱包,还有国内做钱包的比如HaoBTC是币信的前身,所以我们是很早引入钱包的概念, 14年的时候我们就能在微信群里发比特币和元宝币的红包。14、15年行业低迷, VC也看不懂行情,我们上一家公司融资额有限,业务难以支撑,所以当时元宝网邓迪来找我们聊公司合并,于是我帮着老邓去搞allcoin交易所平台,当时我带着整个团队从无到有花了一个多月的时间写了一套交易所,直到现在那个交易所还在运行。

  在第三方的时候怎么用?比如我在侧链A上怎么证明侧链B上已经发生的事情?这时候就需要主链的Merkle Tree Root,侧链A就需要知道主链上的Merkle Tree Root,再通过侧链B上的Merkle Tree的证明,以这样的逻辑让A确认,的确有一些事情在B上发生,这笔交易的确出现在B上,A再去解析B上发生的交易,知道原来侧链B上发生的一些交易,A来进行一些处理。比如A是一个去中心化交易所,B是另外一条资产链,B上资产发生了转移则A上就能读到数据,我们是用这样的一种方式来做的。大家可能看到主链做了相当多的工作,为了降低主链的工作,我们可以去改变数据结构。主链侧链这是两级的,把任何一条侧链当做主链,侧链下面再接侧链,那上面的侧链其实已经变成了主链,那它也可以收录下面的侧链。这样的话最上层的主链只需要读取侧链已经收录的数据就可以了。

  马昊伯:我觉得分片一定是一个很好的方向,我前面也说过,这个落地的可行性很强,但是我觉得分片不如先把具体的业务分开,比如单独的做一条去中心化交易所的链,等这个链性能达到瓶颈时候再做分片,我觉得这样挺好,以太坊分片到2020年肯定能够落地和实施。

  在开发过程中我们发现,并行化计算序列化反序列化方面的性能优化是很重要的事情,如何把交易分组也是比较重要的事情。我们现在用原数据标记的算法把不同的交易分到并行化可执行的组里,再把这个交易分发出去。我们在并行化执行方面花了很多的精力,比如通过跟一些并行化实验室的教授交流,去解决并行化执行的问题。另外一个难点是底层存储的数据结构的设计,这块内容我们也经历了几个版本,因为区块链本质上是日志型的,如果在数据执行过程中有一个action执行挂了,会产生错误,这时可能会涉及到一个回滚操作或者从之前哪一个时间点再次进行运算,所以说底层数据结构也是一个重要的事情。我们是在集群上去部署aelf,当集群跑起来之后Akka的参数调优很重要,而在并行化计算的时候去做这个debug工作是需要对日志进行很好的分析,开始的时候我们发现并行化执行得没有那么好,所以在这个过程中去debug和找具体的原因。在多个集群的情况下,我们会看交易的执行是不是把每台服务器的CPU都压满,再去找性能的瓶颈在哪里,所以我们是在性能调优上花费的精力比较多。

  马昊伯:目前主要精力在我们自身的研发上,所以并没有去关注您提到的这两个链,那我就简单的说一下我们自己的思路。我们的整个多级侧链实现方式耦合性很低,我们的主链只对侧链进行一个收录工作,也就是相当于主链是一个观察者,会观察到侧链发生的事情。比如我们有十条侧链,那么主链就会把这十条侧链的变化做Merkle Tree Root。每个区块链的状态变化是随着一个区块的高度变化而变化,主链收录各个侧链区块的哈希值,建立一个Merkle Tree,再把Merkle Tree存到主链上,这个事情就算完成了,这就是我们的收录工作。

“项目开始之初,也曾因为代码提交数较少而受质疑”

“区块链的核心魅力在于用一个网络去替代实体化的公司”

广告位
标签: 永不   马昊伯   工程化   宕机   构建   思路   云计算   aelf