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跌破68000美元

    行情显示,BTC跌破68000美元,现报67992.68美元,24小时跌幅达到3.77%,行情波动较大,请做好风险控制。

  • 韩国或将禁止企业投资稳定币

    韩国金融服务委员会正在制定的《企业虚拟货币交易指南》可能将稳定币排除在允许的投资范围之外。该指南将概述上市公司和注册专业投资公司出于投资或金融目的交易数字资产的标准。为防止市场初期出现盲目投资,监管机构在界定允许投资范围时,决定将以美元计价的稳定币(例如 Tether (USDT) 和 USD Coin (USDC))排除在外。

  • 美国现货比特币ETF昨日净流出3.489亿美元

    据Farside Investors监测数据,美国现货比特币ETF昨日净流出3.489亿美元。

  • 波斯湾仅剩九艘空载超级油轮 中东储油能力逼近极限

    船舶追踪数据显示,目前波斯湾地区可供储油的中东主要产油国油轮数量正迅速减少,仅剩9艘空载的超大型油轮。一旦这些油轮被装满,陆上储油罐将迅速填满,从而导致更多油田停产。每艘超大型油轮可装载约200万桶原油,仅相当于沙特全国约5小时产量。目前,伊朗已兑现其威胁,用无人机和导弹袭击了霍尔木兹海峡的多艘船只。沙特和阿联酋是仅有的两个能够借助管道将原油分流、避开霍尔木兹海峡的地区产油国。这两个国家一直在增加从该地区以外终端的出口量,但两国都没有完全避开该水道的运力。

  • 以色列军方:对伊朗的打击中已投掷超过6500枚弹药

    以色列军方称,自战争爆发以来,以色列空军在对伊朗的打击中已投掷超过6500枚弹药。以色列国防军表示,以空军战斗机总共执行了2500架次作战任务,并发动了150波次的单独打击。军方称,随着战争进入新阶段,目前正在加大对德黑兰境内伊朗政权目标的打击力度,并加强对伊朗全国范围内武器生产设施的攻击——包括那些用于制造导弹和发射装置的设施。军方官员表示,以色列国防军计划在未来数周内继续在伊朗境内开展行动,如有必要,行动将持续更长时间。

  • BTC跌破68000美元

    行情显示,BTC跌破68000美元,现报67797.17美元,24小时跌幅4.35%,行情波动较大,请做好风险控制。

  • 美股大幅低开,标普500指数跌1.22%

    美股开盘,道指跌1.28%,标普500指数跌1.22%,纳指跌1.45%。明星科技股普跌,阿斯麦(ASML.O)跌超5%,台积电(TSM.N)跌近3%,亚马逊(AMZN.O)、英伟达(NVDA.O)、AMD(AMD.O)跌约2%。

  • WTI原油日内暴涨12.00%,现报88.42美元/桶

    WTI原油日内暴涨12.00%,现报88.42美元/桶。

  • 加密货币总市值为2.44万亿美元,24小时跌幅达4.50%

    当前加密货币总市值为2.44万亿美元,24小时蒸发1150.63亿美元,跌幅达4.50%。其中,比特币市值占比为56.33%,以太坊市值占比为10.05%。

  • 美国总统特朗普:除了无条件投降,否则不会与伊朗达成协议

    美国总统特朗普:除了无条件投降,否则不会与伊朗达成协议!此后,将选出一位伟大且可接受的领导人。