美国的火币Coinbase如何构建区块链基础设施

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了美国的火币Coinbase如何构建区块链基础设施相关的知识,希望对你有一定的参考价值。

美国的火币Coinbase如何构建区块链基础设施

导读:2019年以来,世界范围内都在关注加密货币,加密货币变化一日千里。这种情况下,Coinbase怎么构建自己的区块链基础设施,怎么快速拥抱变化,这是很多技术人都关心的话题。本文对这些问题作出自己的解答。

Coinbase有一些很独特的安全性和基础架构的需求。比如每台服务器都不是长期运行的(<30天)并且是不可变的。大多数应用程序的部署过程非常简单:在负载均衡器后面蓝绿部署12因子应用程序。当考虑区块链节点时,蓝绿部署的过程变得更具挑战性。

区块链节点用于检测,验证并转发网络中的状态更新,换而言之,这是各种加密货币网络的耳目。也就是说,当有人通过区块链向Coinbase转入加密货币时,通过区块链节点来监听该交易,而当有人从Coinbase向其他地址转出加密货币时,则通过区块链节点广播该交易。因此,有效管理区块链节点对于我们的核心业务运营至关重要。

从高维度来看,区块链部署剖析如下。
让我们从启动一个EC2实例开始。一旦实例启动并准备就绪,我们就可以运行区块链节点的二进制文件。
技术图片
节点启动后,会连接到网络上的其他节点
技术图片
这时候会通过网络同步其他节点的数据。
技术图片
传输第一个块,新节点对其进行验证。
技术图片
更多块被发送到新节点。
技术图片
所有块均已传输完成,验证并完全同步。
技术图片
全节点通常会在磁盘上维护区块链的所有数据。 通常需要同步数百GB的数据。有的时候,完成全量数据同步可能需要数周。 考虑到加密货币生态系统的发展步伐,基础架构的安全性和可靠性,以及节点升级的偶发性,每次部署时从网络完全同步对于我们而言,并不是安全可行的解决方案。 因此我们设计了一个新的名为Snapchain的区块链节点备份和部署系统。
技术图片

Snapchain区分两种类型的区块链节点,其中快照节点完全同步链并以EBS卷的形式产生副本,而长寿命节点则使用这些EBS卷就可以在几分钟内完成部署。 Snapchain使我们能够灵活地快速快速部署区块链节点,以响应版本升级,网络事件或针对新型配置进行开发。

由于Snapchain部署在AWS上,因此我们能够通过NLB(负载均衡器)进行扩容以满足工程师的需求。使用NLB可以带来静态IP,动态扩容,蓝色/绿色部署等特性。

对区块链节点进行版本升级(显示的示例:1.0.0至1.1.0)的工作方式如下。

区块链节点位于NLB后面,节点内有区块链的二进制可执行文件,用于提供API和同步数据。
技术图片
实际上,将节点放置在多个可用区(AZ)中,可能存在多个用于冗余节点。
技术图片
启动新实例并遵循先前描述的流程。
技术图片
一旦新实例准备就绪且运行状况良好,就会被添加到NLB。
技术图片
一旦检查通过,就可以通过NLB切换转换新版本了。
技术图片
最终NLB之后的区块链节点完成升级。
技术图片

此外,Snapchain是与区块链无关的基础架构。 主要设计目标之一是最大程度地减少关于于区块链的代码和基础设施的数量。 这样我们就可以更快地添加新的区块链节点了。
技术图片

原文地址:https://blog.coinbase.com/blockchain-infrastructure-at-coinbase-366c09dbcef4

参考阅读:

  • 十六年老司机笔记:mysql性能优化之必备技能
  • 为什么不应该使用数据库外键(重温旧文)
  • 告别烂代码,一文理解微服务中的模式和反模式
  • 性能优化怎么做?互联网对象访问频率的91分布原则
  • 你不在意的HTTPS证书吊销机制
  • 学习区块链必读:如何10分钟搭建Libra

本文由方圆翻译,转载请注明出处,技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿。

高可用架构
改变互联网的构建方式
技术图片

以上是关于美国的火币Coinbase如何构建区块链基础设施的主要内容,如果未能解决你的问题,请参考以下文章

从 sCrypt 智能合约中访问区块链数据

火币大学于佳宁:区块链岗位正式纳入国家新职业,区块链人才迎来职业“新风口”

“火币Labs创业营暨区块链+公益赛中赛”15强决赛名单公布

美国银行监管机构:“把美元放在区块链上比受央行独裁的支付系统更好”

数字资产交易所,你说去哪开?

从“美国春晚”开始,加密公司正在占领全球顶级赛事和活动