彩虹桥上的棱镜塔:Web3 与中间件 — Kafka_MOVE:区块链

来源:ConfluentKaiWahner?编译:Masterdai

一:背景和展望

早在2016年InfoQ的国际会议上,KaiWahner?发表了一场演讲名为《区块链——中间件的下一件大事》。他在当时提出了一种新颖的基于区块链数据和中间件的参考架构,这一套架构现如今被大量的技术集成商和供应商所采用。

然而,他并没有加入任何一家加密初创公司。而是在2017年加入了Confluent,因为他认为“通过事务和分析型工作负载来处理任何规模的动态数据是更加重要的范式转变。”对于加入Confluent?这个决策Kai认为他是正确的,正如同Kai在博客中写道,“现如今大部分的企业都利用Kafka作为MQ、ETL和ESB工具的替代中间件,或者使用无服务Kafka实现云原生iPaaS。”

故事并没有在这里戛然而止,区块链、加密技术和NFT的出现和规模化采用激增了对中间件等开源基础软件的需求。出于充分的理由,有许多的加密市场网站、区块链监控基础设施和托管银行建立在Kafka之上。这些客户成功的关键就在于将区块链、加密货币与企业服务软件、数据库和数据湖进行了集成。

如果我们把Chainlink这类预言机比作一道连接链上网络和链下世界的彩虹桥,而像Kafka、Flink?这样的中间件就是用来折射虹光的棱镜塔。

二:什么是中间件

中间件是位于操作系统和在其上运行的应用程序之间的软件,其支持分布式应用程序之间的通信和数据管理。它有时候也被称为管道,因为将两个应用程序连接在一起,因此数据和数据库可以轻松地在“管道”之间传递。常见的中间件包括数据库中间件、应用服务器中间件、面向消息中间件等等。换句话说,它实现了一组\一个应用程序与另一个\一组应用之间的对话和通信,就像是一个跨国派对中的中间介绍人加翻译。而Kafka就是消息中间件的一种。

Solana新用户在以太坊和比特币网络交易费上涨后达一年新高:金色财经报道,根据The Block的数据,Solana每日新增地址的平均数量激增至近一年来的最高水平。Layer 1网络新地址的七天移动平均值在周一达到304,640个,是2022年6月以来的最高数字。数据显示,5月上半月增加的新地址已经超过了4月整个月的协议。上周以太坊和比特币网络的交易费用都达到3个月的高点,因此出现了这种激增。

与此同时,在比特币网络上发送或接收资金的活跃地址的数量,已经下降到2021年7月以来的最低水平。[2023/5/17 15:07:13]

ApacheKafka

Kafka?是一个开源分布式事件流处理平台,最初由2011年在LinkedIn创建并且开源。

Kafka?通过三个关键功能使得用户可以搭建一个实现端到端解决方案的事件流

发布和订阅事件流,包括从其他系统持续导入或导出数据。

持久并且可靠的存储事件流。

处理瞬时发生或者回顾发生的事件流。

事件流:以流式事件的形式将数据从各个数据源进行抓取;为后续的检索进行持久的存储;以实时和可追溯的方式操纵处理和响应事件流;并且根据需要将事件传递到不同目标的技术。事件流确保了数据的连续流动和表达,从而使正确的信息在正确的时间出现在正确的位置。

ApacheKafka?的用例

消息传递:Kafka可替代传统的消息代理。消息代理常被适用于数据存储和处理的解耦,缓冲未处理响应的消息等等。

网站活动跟踪:将跟踪用户活动的管道重建为一组实时的发布—订阅源。将用户在站点的活动发布到中心主题,每一个活动类型都有一个主题。这些订阅源可以用于订阅一系列用例,包括实时处理、监控以及加载到Haadop或者离线数仓系统进行处理和报告。

DeFi协议0xDAO v2即将上线,疑似将对Solidex发起吸血鬼攻击:2月25日,Fantom生态DeFi协议0xDAO v2版本即将上线,疑似将针对同样参与AC新项目Solidly的Solidex发起吸血鬼攻击。

根据此前0xDAO公布的v2版本信息显示,协议现有的Token OXD持有者将通过燃烧的形式按比例换得oxSOLID。新版本将采用新的经济模型以及Token OXDv2。OXD v2通过奖励LP和SOLID锁仓来帮助支持0xDAO的发展,并将拥有0xDAO的投票治理权。[2022/2/26 10:16:52]

日志聚合:使用Kafka作为日志聚合方案的替代品。日志聚合通常从服务器收集日志文件,并将它们放在一个中心位置进行处理。Kafka抽象出文件的细节,并将日志或事件数据抽取为更清晰的数据流,这使其在多个数据源和分布式数据库情况下拥有更低延迟的数据处理。

三:kafka和web3的关系

下图是一个非常经典的Dapp技术实现原理,但他却给了很多人一个错觉。似乎只需要一个前端来向以太坊网络请求数据,就能够实现链上和链下行为的交互了。在实际的开发过程中,往往会更加复杂,并且会在区块链后端和前端之间增加一层结构。

在这样的一层结构中我们可以实现:

Kafka?以侧链或者链下的方式来进行大规模实时数据计算;区块链技术与企业其他软件部分的集成,包括CRM、大数据分析、和任何其他自定义的业务应用程序。即Kafka作为区块链集成的中间件。

在加密企业架构中更加普遍的用例是利用Kafka作为区块链与企业应用程序之间的可扩展实时数据中心。下面是一些例子,并且探讨一些Kafka可以提供帮助的技术用例

NEAR与以太坊的跨链彩虹桥2.0版本已上线,可添加支持更多网络:11月10日消息,NEAR与以太坊的跨链彩虹桥2.0版本已上线,其中新版本只有单一的一个接口,受支持的网络的代币可以彼此转账,从而能够更轻松地添加对更多网络的支持。同时新版本可实现自动对Meta Mask进行管理,且增加了在浏览器中浏览源交易等功能。[2021/11/10 21:40:11]

3.1.Kafka作为元宇宙的数据中枢

零售商家和用户之间的交流必定是实时的,无论你是想要卖实体的衣服、手机、或者在NFT交易市集之中和虚拟人商家进行讨价还价。而以下架构通过编排各种加密和非加密应用程序之间的信息流来实时支持任何规模的虚拟世界架构。

3.2.Kafka在加密交易、市场中作为数据中枢的角色

用户在移动钱包执行比特币交易。实时应用程序监控链下数据、关联数据、在仪表盘中显示并发送推送通知。另外一个完全独立的部门在批处理的过程中回放来自Kafka日志的历史事件,以使用专用分析工具进行合规性检查。

Kafka?生态系统中提供了许多功能,可以将来自区块链和加密世界的数据与来自传统IT的数据一起使用。

四:Kafka可以提供的技术用例

监控区块链基础设施、加密货币和Dapp的健康状况,以避免停机,保护基础设施并使得区块链数据可访问。——基础设施维护

通过KafkaStream或ksqlDB进行流处理可以在Defi、NFT等相关交易市场进行实时数据处理。——链上数据分析

Kafka作为预言机的集成通道:例如从Chainlink传递到Kafka再到IT基础设施。

彩虹猫原作者与著名说唱歌手SnoopDogg合作发售NFT收藏品:4月20日消息,彩虹猫(NyanCat)原作者ChrisTorres与著名说唱歌手SnoopDogg合作发售NFT收藏品,其中《Hazy Nyan Cat》与《Nyan Blunt》为限量款,售价均为0.42ETH,《Nyan Dogg》为拍卖款,截止发稿时,最高出价4.2ETH。[2021/4/20 20:39:47]

通过Kafka?主干上的节流和随机数管理来处理背压,并将事务流式传输到链上。——Gamefi和Socialfi?

同时处理多个链:并行监控和关连以太坊、solana、Bsc区块链上的交易。——跨链相关

我们可以看到,未来随着新一代gamefi、defi、socialfi、移动端Dapp的增长,过去仅仅是将链上数据摄取到数据库和数据湖的方法已经不能满足现有新应用的需求了。在架构设计中充分地利用消息中间件的特性,可以满足大部分用户对于实时性、可靠性的需求。

五:加密和Defi世界中Kafka的真实案例

TokenAnalyst:?加密市场的可视化

EthVM:区块链浏览器和分析引擎

Kaleido:用于区块链和智能合约的RESTAPI?网关

Chainlink:用于将智能合约从区块链连接到现实世界的Oracle?网络

5.1.TokenAnalyst?–?加密市场的可视化

TokenAnalyst?是一个链上数据分析工具,用于可视化和提供企业级API服务。该项目于2020年5月宣布停止运营,其团队大部分成员加入Coinbase。不过他的案例仍然值得借鉴——其利用Kafka堆栈将来自比特币和以太坊的区块链数据与其分析工具集成在一起。

声音 | 中南财大教授陈彩虹:区块链并不是人类技术模式的终结:11月21日,在“金貔貅?第二届中国数字金融服务与合作发展高峰会”上,《金融理财》杂志社社长、易趣财经传媒总裁石东表示,数字金融已成为我国经济社会发展的关键动能,数字经济是躯体,数字金融是血液。它不再是虚无缥缈东西,也不仅仅是服务与产品或者是工具,是崭新的体系,全新价值方式,将重构金融机构的运行模式、服务模式,乃至整个金融生态圈。中南财经政法大学特聘教授、原建行董事会秘书陈彩虹表示,区块链并不是人类技术模式的终结。区块链是一个很先进的技术,未来发展空间巨大,而且在社会制度功能之间,要寻找平衡。(中国金融新闻网)[2019/11/22]

“访问链上数据需要节点,而这并不如人们想象中断那么容易。此外,另一个挑战是使他们与网络保持同步。为了实现零停机,并且确保最高标准的数据质量和可靠性,我们决定使用Kafka?和Confluent?平台。”

TokenAnalyst?开发了一个名为Ethsync的内部解决方案。每个节点加上?Ethsync?都将数据推送到其对应的?Kafka?主题。如同下图所示,其需要运行多个节点以实现冗余。推送到主题的块更新并且客户端接受为新的有效块的块。但是,由于区块链的性质,可能会发生区块链的分叉。因此,以前有效的块可能会变得无效。

基于KafkaStreams的区块确认器:为了防止在下游聚合计算中使用无效块,TokenAnalyst开发了一个基于?Scala?中的KafkaStreams?的块确认器组件。它通过临时保留块来解决重组场景,并且仅在达到一定数量的确认块时才传播它们。

确认器不仅解决了验证规范链的问题,并且能够通过确认丢弃和已经注册的块,来输出具有有效一次性语义的确认块。通过该组件可以使其充分利用容错恢复机制,适用于零停机环境的滚动部署。

5.2.EthVM?–?区块链浏览器和分析引擎

比特币和以太坊等公共去中心化区块链的美妙之处在于其透明度,防篡改日志使得区块链浏览器能够监控和分析所有的交易。

EthVM?是一个开源的以太坊区块链数据处理和分析引擎,由?ApacheKafka?提供支持。该工具支持区块链审计和决策。EthVM?验证交易和智能合约的执行,检查余额并监控gas?价格。该基础设施是使用KafkaConnect、KafkaStreams?和?SchemaRegistry?构建的。还包括一个客户端可视化块资源管理器。

EthVM使用Kafka的契机来源于BoergeSvingen?在Confluent博客上发表的一篇名为《在纽约时报上使用ApacheKafka?发布》的文章,其描述了标志性的纽约时报如何从混杂的API、服务、生产者和消费者转变为用Kafka驱动的基于日志的架构。

而区块链本质上就是一个不断增长的记录列表,合并成块并且用密码学来链接——用程序员的话说就是链表。在Kafka的术语中,以太坊客户端就是生产者——负责创建日志的新条目。

5.3.Kaleido?–?用于加密和智能合约的?Kafka?原生网关

Kaleido?提供企业级区块链?API?来部署和管理智能合约、发送以太坊交易和查询区块链数据。它隐藏了以太坊交易提交、Web3客户端库、nonce管理、RLP?编码、交易签名和智能合约管理的区块链复杂性。

Kaleido?为链上逻辑和数据提供?RESTAPI。它由完全托管的高吞吐量ApacheKafka?基础架构提供支持。

在基于区块链的分布式事务系统中,对事件的检测和反应是不可避免的要求。没有一个参与者或应用程序可以控制状态变化,链上的智能合约逻辑不可能直接与链下系统通信——否则逻辑的确定性就会受到损害。

事件是编程模型的核心部分,使用丰富的类型系统很容易发出。

这些事件不仅可以用来触发逻辑,还可以作为数据流从链中流出。

用于在web端和移动端的高效数据检索

实时分析引擎和数据湖

无服务或传统计算来触发应用程序和业务流程

Kaleido?提供了两种内置功能来处理这些事件,无需直接使用复杂的原始?JSON/RPC?接口、处理检查点重启/恢复或RLP?解码和类型映射。

事件流:使用与RESTAPI?网关集成的RESTAPI?进行订阅,并通过简单的Webhook?将事件传递到任何HTTP?接口,或者通过ApacheKafka?支持的加密App2AppMessaging?层。

5.4.Chainlink?–?用于将智能合约从区块链连接到现实世界的?Oracle?网络

Chainlink?是用于将智能合约连接到现实世界的行业标准预言机网络。“借助?Chainlink,开发人员可以构建混合智能合约,将链上代码与由去中心化?Oracle?网络提供支持的大量安全链下服务相结合。由数十万人组成的全球去中心化社区管理,Chainlink?引入了更公平的合约模型。它的网络目前为去中心化金融?(DeFi)、保险和游戏生态系统等领域的智能合约提供数十亿美元的价值。Chainlink网络的完整愿景可以在Chainlink2.0白皮书中找到。”

Chainlink并没有在任何公开的博客文章和会议中讨论其设计架构。我们只能从其招聘人员的工作栈要求中窥见其设计——Chainlink正在从传统的基于时间序列的监控过渡到事件驱动的架构。

六:小结

在这些节点设施服务商出来之前,普通人想要获取链上的数据信息是非常困难的。而现在,任何一个能够上网的人都可以通过区块链浏览器或者链上数据分析工具看见相对实时的区块数据。

然而,能够看见数据和大规模的使用数据是完全不同的概念。

“神祇们不会攀爬世界之树。他们用彩虹桥穿行于几大世界之间。只有神才能用彩虹桥。如果冰霜巨人或者别的巨人试图通过彩虹桥爬上阿斯加德,他们的脚就会被烧伤。”

尽管我们现在有了节点托管、Web3API等服务的帮助,链上和链下之间进行高效实时沟通的成本依然很大。如同北欧神话中的彩虹桥,它依然是某些神祇们的专属通道。原因就在于链上数据和链下业务之间存在大量的空白环节。Kafka仅仅只是消息传递的一个环节,在此之间还有数据的实时抓取、清洗和存储。而过去服务于传统IT业务的中间件、数据库等并不一定完全适用于现有的Web3IT架构。随着越来越多的企业和业务迈入加密领域,未来也可能会出现一种全新的基于区块链网络的开源中间件和数据分析架构。

我希望有一天,人人都能拥有开启彩虹桥的能力。我们将自由的穿梭在世界之树所缔造的九界之间,与众生灵交流。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:140ms0-3:940ms