专栏首页比原链比原链CTO James | Go语言成为区块链主流开发语言的四点理由

比原链CTO James | Go语言成为区块链主流开发语言的四点理由

11月24日,比原链CTO James参加了Go中国举办的Gopher Meetup杭州站活动,与来自阿里、网易的技术专家带来Kubernetes、区块链、日志采集、云原生等话题的分享。James向大家介绍了Go语言特性在区块链中的应用还分析了Go语言成为区块链主流开发语言的原因。

比原链的系统架构

在区块链系统中内核层是最核心的,他承接了区块验证、交易验证、节点维护、打包挖矿等重多职责。通信层掌管了区块链系统的网络服务,区块链的网络更像P2P的网络形式,他呈网状扩散,负责区块同步、交易同步、节点发现等重要的功能。钱包层是直接和用户发生交互的一层,他的职责是资产管理、私钥管理,并与内核层通信验证区块交易。

以Bytom为例,他的内核层分为了五个的模块。我们举例描述几个主要的模块。

孤儿块管理:孤儿块就是由矿工挖出但未成为主链区块的区块(在相同高度产生2个甚至更多的合法区块,一个区块成为主链,剩下的则称为孤儿块),孤儿块管理就是将未成为主链区块的孤儿块存储起来。举个例子,我现在挖到的区块是100,那么下一个区块理论上是101,但是在网络层发生延时的时候,可能会发生先出102再出101的情况,那么孤儿块管理会将这些父块未到的子块先缓存起来。

共识层:确认一个块是否合法。分为区块头验证和交易验证。区块头验证需要验证它的父块和时间戳,同是需要算力来保证记账权利。交易验证比原特别的设计了一层BC层,这层在交易验证时会获得更好的性能,交易验证还和智能合约相关,交易被验证时参数会参入虚拟机验证该交易是否合法。

区块树管理:又称为Block Index,作用是记录全网所有的块,保存了全网所有块的一张镜像图。因为有孤儿块,所有它并不是链式结构的,会有分叉的情况,所以称为区块树。举个例子,区块树管理好比有一个分布式系统,但无法保证每个节点的状态一致,可能会出现同一个高度产生同时参生区块的情况。区块树管理就是具备了在节点状态不一致的情况下让系统回滚到正确的区块这个功能。

数据存储:将区块数据做持久化存储。包含两种数据,第一种是区块数据,会在网络上进行广播的原生区块信息;第二种是UTXO数据,存储UTXO数据是为了更快的验证一笔UTXO是否可以花费,而不需要去遍历所有区块信息。

交易池:维护了所有全网发出的但是还未被确认的交易。跟它关联最大的是挖矿模块,挖矿模块每次要产生一个新区块的时候,它会从交易池拿一些交易打包成块,然后用Tensority共识算法进行工作量验算。举个例子,在节点打包交易之前,交易处在一个未确认的状态之下,交易池会将这些未确认的交易保存起来,分配给后面的矿工用于打包。

WHY GOLANG?

第一点,区块链是多模块异步协同工作的,分成了P2P层、钱包层、内核层。其中内核层、情报层里面都有不同的很多子模块,在负责不同的事情。Go语言做得很出色非常适合做这方面的开发。

第二点,区块链项目有核心团队但是主要还是依赖社区参与,Go语言编译上相对于其他语言稍微严格一点,在制定规范后可以使不同开发者代码风格相近,有利于协同工作的展开。

第三点,Go语言社区完善,有很多非常好的开源库支持,使用起来非常方便用户体验良好。

第四点,主流语言的头部效应,在区块链的项目里面超过85%的项目都是基于Go语言开发的,大部分区块链工程师都擅长Go语言,所以当新的项目开始的时候,会首选Go语言。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 人人都应学习的公链知识——比原总体架构

    PPT链接:introduction-bytom-architecture-2018

    比原链Bytom
  • Derek解读Bytom源码-创世区块

    Gitee地址:https://gitee.com/BytomBlockchain/bytom

    比原链Bytom
  • Derek解读Bytom源码-创世区块

    Gitee地址:https://gitee.com/BytomBlockchain/bytom

    比原链Bytom
  • EKT多链技术浅谈区块链技术在传媒业的创新应用

    区块链技术最初是在金融行业,作为底层技术与基础架构应用于比特币。当前其巨大的应用价值已经从金融行业向交通、医疗、传媒等其他行业扩展和延伸。本文围绕媒体信源认证与...

    风中凌乱的靓仔
  • 产业互联网:区块链与数字货币的分水岭

    成为技术,逐渐并且正在成为区块链行业发展的主题。无论是头部巨头,还是新型玩家无不这么认为。

    孟永辉
  • 零伽壹深度解析:区块链技术在电力行业的应用展望

    世界各地电力系统发展日新月异。一个多世纪以来,电力系统主要依靠化石燃料发电,并通过杂乱的电网输送给终端用户。公用事业只有一个简单的目标:以低成本提供可靠性高的电...

    用户7573724
  • “本性难改”区块链

    江山易改,本性难移,这句话并不是没有道理的。这是人们在万千次的失败与教训当中所获得的“绝对真理”。如果我们用这句话来形容区块链市场,似乎同样贴切,尽管人们一直都...

    孟永辉
  • 腾讯安全领御区块链亮相2020全球区块链创新发展大会

    今年以来,疫情加速了全球产业的转移和整合,区块链等数字技术受到重点关注。国内外企业纷纷布局区块链,国内多省市也相继出台区块链支持政策。在此背景下,赣州市委、市政...

    腾讯安全
  • 区块链的狂热,源自于对区块链的无知

    时至今日,依然有很多人沉醉在数字货币的迷梦里,因为在那里,他们为自己勾画了一个美妙的财富王国。在这样一个财富王国里,区块链则是建筑这一切美好的基石。尽管这座美妙...

    孟永辉
  • 敬畏技术:欧科云链OKLink如何重塑区块链?

    最近,区块链行业有两个蛮有意思的事情,可以对照着看。一个是沉寂了三年的薛蛮子重新出山投资了阿波罗APOLLO公链,一个是OKLink推出“起源计划”布局生态战略...

    晓枫说

扫码关注云+社区

领取腾讯云代金券