Cointime

扫码下载App
iOS & Android

为什么使用 Actor 模型?

为了让程序有效地完成工作,通常需要与其他程序通信——无论它们是外部依赖项、API 还是同一系统的独立部分。沟通方法是影响项目运作整体有效性的关键因素。

程序可以通过两种主要方式进行通信;通过访问相同的“共享内存”,或利用“消息传递”。每种方式都有自己的特殊优势和设计考虑因素。

在“共享内存”通信模型中,程序依靠全局数据库来管理它们的状态。这种模型在当今的智能合约平台中很常见,其中区块链用于存储网络的当前状态和所有智能合约。虽然这种方法确保了程序之间的一致性,但它不支持并发操作,这会严重限制交易吞吐量,因为状态必须按顺序更改。实际上,每次只能处理一笔交易,可能最终导致用户等待时间更长并支付高昂的 gas 费。

Gear 智能合约平台利用的“消息传递”通信模型允许异步通信和并行消息到 / 来自不同的 actor。与共享内存方法相比,这提供了几个好处——包括更好的性能和可扩展性、更强的稳健性,以及在设计智能合约时为开发人员增加灵活性。

在采用内部消息传递的协议中,Actor 模型是使用最广泛且经过实战检验的进程间通信框架之一,Gear 在其网络架构中实现了该模型。在本文中,我们将探讨什么是 Actor 模型、它的工作原理,以及最重要的一点:Gear 为什么使用它。

什么是 Actor 模型?

Actor 模型是一种设计和实现并发处理系统的方法。“Actor”是独立的实体,如用户和程序,它们通过交换消息相互通信。Actor 模型的独特之处在于 actor 彼此独立,不共享内存。相反,每个 actor 都维护自己的状态,并且只能更改其状态以响应从其他 actor 接收到的消息。当一个 actor 收到一条消息时,它可以根据消息的内容和它的内部状态执行一些计算,也可以向其他 actor 发送消息作为响应。

Actor 模型的工作原理

在 Gear Protocol 中,无论是智能合约还是用户——每个 actor 都有自己的私有内部状态,包含在该 actor 的“持久内存”中。Actor 通过发送异步消息相互通信。

发送消息完成后,它们存储在 Gear 节点维护的消息队列中。一旦满足消息标准(例如可用代币余额或特定区块编号已通过),消息就会出队并作为出现在当前区块中的成功交易进行处理。未处理的消息稍后由验证者重新评估,以查看是否满足其标准,以便将它们包含在未来的区块中。

本质上,actor 能够独立地接收输入、执行函数和发送输出。这就是程序(包括智能合约)可以自动并行工作的方式。还有一点值得注意,actor 可以创建其他 actor,扩展程序中的链并允许更灵活和复杂的功能。

为什么 Gear 使用 Actor 模型?

Actor 模型不同于其他程序通信方法,因为它在 actor 之间传递消息而不是共享网络状态。这有助于提高程序的安全性和稳健性,因为每个 actor 都有自己的个人邮箱,并且不能更改链上另一个 actor 的状态。

通常,智能合约缺乏支持异步消息传递的能力,但正如 Gear 所实现的那样,Actor 模型为所有程序提供了原生的任意异步通信。这允许使用当今 Web 2 上下文中常见的由异步编程支持的设计模式和语言结构——极大地简化了开发和测试,同时为智能合约解锁了全新的用例。更重要的是,Gear 详细说明了智能合约逻辑内部的并发通信与程序状态一致性保持一致的设计原则和模式。

Actor 隔离、异步消息传递和状态封装使 Actor 模型成为容错性非常高的框架,因为它提供了允许系统从故障中恢复并继续运行的机制。结合上述对性能、可扩展性、开发人员体验和设计选择的改进——Gear 对 Actor 模型的使用,使 Gear 成为使用 Web 2 世界中已构建的工具和工作流创建下一代快速且可扩展的 Web 3.0 dApp 的理想环境.

评论

所有评论

推荐阅读

  • BTC突破67000美元

    Cointime 报道,行情显示,BTC突破67000美元,现报67000.07美元,24小时跌幅达到0.19%,行情波动较大,请做好风险控制。

  • 当前萨尔瓦多比特币持仓量7,611.37枚

    Cointime 报道,萨尔瓦多过去7日共增持7枚比特币,���前其比特币持仓量7,611.37,总价值达5.12亿美元。

  • 媒体:美国与伊朗的谈判已陷入僵局

    Cointime 报道,4月5日消息,据CGTN援引其它信源报道,美国已正式通知以色列,与伊朗的谈判已陷入僵局。另据Axios援引参与谈判的两名消息人士报道:调解人仍在试图推动华盛顿和德黑兰举行直接会议,但无济于事。到目前为止,伊朗拒绝了任何临时停火的提议。

  • 伊朗发动第七轮导弹袭击 耶路撒冷拦截导弹升空

    Cointime 报道,4月5日讯,当地时间4日傍晚,耶路撒冷及以色列中部等多地响起防空警报。在耶路撒冷可看到多枚拦截导弹升空,随即响起数次巨大爆炸声。以色列方面表示,伊朗针对耶路撒冷地区发动的最新一轮导弹袭击未造成人员伤亡,这是当天伊朗的第七轮导弹袭击。以军称,一枚导弹落入空旷地区,其余导弹由防空系统拦截。(央视新闻)

  • 推特联创Jack Dorsey将推出比特币免费水龙头

    Cointime 报道,4月4日,推特联创JackDorsey旗下Bitcoin at Block将上线比特币免费水龙头,此举意味着比特币水龙头时隔16年回归,Jack Dorsey已在X平台发文披露了水龙头网点「btc.day」。据悉,本次总发放池约为100万美元等值的BTC(数量约为15枚BTC),由Jack Dorsey旗下Block公司的比特币财库出资。

  • 美国3月非农就业人数增加17.8万人 远超市场预期

    Cointime 报道,4月3日电,美国3月非农就业人数增加17.8万人,预估为增加6.5万人,前值为减少9.2万人。

  • 市场定价显示美联储2026年降息押注下降

    Cointime 报道,4月3日讯,市场定价显示,美联储2026年降息押注下降。

  • 美国3月非农就业人数增加17.8万人 远超市场预期

    4月3日电,美国3月非农就业人数增加17.8万人,预估为增加6.5万人,前值为减少9.2万人。

  • BTC突破67000美元

    Cointime 报道,行情显示,BTC突破67000美元,现报67007.8美元,24小时跌幅达到2.04%,行情波动较大,请做好风险控制。

  • BTC突破67000美元

    Cointime 报道,行情显示,BTC突破67000美元,现报67015.44美元,24小时跌幅达到1.94%,行情波动较大,请做好风险控制。