在过去的 18 个月里,我一直在构建和运营基于比特币 SV (BSV) 的最大代币平台之一Asset Layer ,以及使用代币的最大应用程序之一Duro Dogs 。在那段时间里,我了解了一些围绕令牌管理和互操作性的独特方面,这些方面可能不会立即显现出来。
当今 BSV 代币世界的热门话题是1sat Ordinals ,这是 BSV 上令人兴奋的新代币协议。我认为围绕 Ordinals 的讨论揭示了对令牌协议的作用及其局限性的误解。特别是,我认为许多 BSV 构建者和用户将代币协议视为互操作性或缺乏互操作性的关键。
我希望只使用相同的令牌协议就可以提供互操作性,但不幸的是,我了解到事情并没有那么简单。以 RUN 协议为例。Crypto Fights 、Haste Arcade 、RelayX和 Duro Dogs等惊人的尖端应用程序都使用 RUN,但它们之间的互操作性非常有限。
如果孤立的令牌协议不足以实现互操作性,还需要什么?这个复杂的问题构成了我们 Asset Layer 愿景的核心。在本文中,我将介绍其中的一些障碍以及我们如何通过 Asset Layer 平台解决这些障碍。我还将讨论我们对互操作性的愿景和优先事项如何影响我们解决方案的功能和架构。
令牌协议不解决数据标准
令牌协议应该做什么?令牌协议负责确定令牌何时创建(或销毁),定义令牌的拥有/控制方式,以及提供将数据附加到令牌的方法。
为了使令牌对应用程序有用,与该令牌关联的数据必须遵循某些标准集。换句话说,除了令牌协议之外,您还需要一个单独的协议来处理令牌中的数据。这意味着我们正在处理三层。区块链层,代币协议层,然后是代币数据层。使用相同令牌协议但使用不同数据协议的两个应用程序将遇到互操作性障碍。
例如,1sat Ordinals 只是一个令牌协议,不涉及令牌数据层。我认为这很聪明,因为它为开发人员提供了最大的灵活性。1sat Ordinals 团队提出了有关令牌数据协议的建议,以便与他们的令牌协议结合使用,以更好地实现互操作性。
令牌协议或数据层协议对于实现互操作性更重要吗?这是视情况而定的,决定这一点的很大一部分与服务提供商的能力有关。例如,我可以想象一个 Asset Layer 客户可以互换使用 RUN 和 1Sat Ordinals 代币的世界。这是因为 Asset Layer 通过我们的平台设计为数据层提供了标准,同时我们为客户抽象掉了代币协议的复杂性。
互操作性始终是一种选择
即使两个应用程序使用相同的区块链、相同的令牌协议和相同的令牌数据组织标准,这并不意味着它们将能够使用彼此的令牌。互操作性总是始于对互操作的渴望。如果两个应用程序不关心彼此的令牌,那么不仅不会有互操作性,也不应该有!
资产层确保这三个层在我们所有连接的应用程序中标准化。通过这样做,我们可以尽可能简单地在应用程序需要时进行互操作。当然,在应用程序级别仍有工作要做,但我们对我们的通用解决方案如何简化应用程序开发和互操作性感到非常兴奋。
查看令牌不是使用令牌
在当今的代币环境中,主要用例是交易收藏品。通常这些收藏品除了被收集之外没有任何用处。这意味着大多数处理代币的应用程序只需要能够显示用户的代币并促进交易。由于此用例的简单性,实施令牌协议的成本是互操作性的最大障碍之一。然而,对于像 Duro Dogs 这样以更复杂的方式使用令牌的应用程序,互操作性成为比简单地支持正确的令牌协议更复杂的任务。
Duro Dogs 正在以其他应用程序从未有过的方式使用代币,尤其是在互操作性方面。为满足这一需求,Asset Layer 创建了我们自己的数据标准,该标准比仅围绕交易收藏品优化的应用程序所需的数据标准更加稳健。我们非常专注于以一种直观的方式设计这些标准,并且非常适合通过我们的API和无代码工具等易于使用的界面进行访问。
互操作性意味着权衡
很容易理解为什么像 Duro Dogs 这样的游戏不能与以太坊和以太坊钱包互操作。通过 Duro Dogs 已经铸造了数百万个 NFT。在以太坊上铸造这些的成本将高得令人望而却步。此外,我们的用户期望从 Duro Dogs 获得的用户体验是我们无法在以太坊上复制的。例如,我们提供0-conf 传输。这在以太坊上是不可能的。
BSV 中的大多数人都明白为什么与以太坊等区块链进行互操作并不总是明智的。但很少有人理解为什么多个 BSV 钱包之间的互操作会带来类似的挑战。许多人认为 BSV 应该是互操作性的边界,BSV 上的任何钱包或应用程序都应该可以互操作。
Asset Layer 划定了连接到我们 API 的应用程序的互操作性边界。所有 Asset Layer 令牌操作均由连接的应用程序在令牌所有者的许可下启动,然后通过我们的 API 执行。我们的客户拥有他们的代币,他们有能力将它们从我们的平台上拿走。但是,虽然这些代币可以通过资产层访问,但它们只能通过我们的 API 访问。
这样做的原因是因为我们可以为应用程序开发者和用户提供更出色的用户体验。我们为我们的令牌启动所有状态更改。这意味着我们不必遵循区块链来改变我们平台上代币的状态。
我们对交易索引的快速发展感到兴奋。然而,鉴于索引已经呈指数增长的区块链的挑战是新的,我们仍然保持谨慎。通过控制我们自己的状态变化,我们最好地确保我们能够提供快速、负担得起且可靠的服务。
另一个可能与某些类型的互操作性冲突的特性是许可。Asset Layer 是一个经过许可的平台。为了让应用程序查看资产层上的令牌,它必须获得令牌所有者的许可以及令牌所源自的应用程序的许可。我们认为可许可性是一个非常强大的特性,对于某些应用程序来说可能是必不可少的。在许可系统内进行无许可操作也很容易,但反之则不然。
我们很容易通过我们的 API 强制执行权限,但如果令牌可以在 Asset Layer 平台之外轻松访问,我们将很难强制执行客户所需的权限。通过以我们现有的方式构建资产层,我们能够在所有连接的应用程序中强制执行权限。我们认为这为我们的客户提供了最佳体验。
令牌协议层可能不适合构建者
当我们选择使用 RUN 协议构建资产层时,我们明白 RUN 可能并不总是我们或我们客户的最佳选择。出于这个原因,我们决定将代币在资产层上的概念从底层协议中抽象出来。这意味着我们可以更改底层令牌协议,同时保留我们的客户在使用我们的 API 或无代码工具时与之交互的所有更高级别的逻辑。
这类似于 Python,一种以简单着称的编程语言。Python 使用低级语言 C 转换为字节码。理论上,如果创建了一种更好的将 Python 转换为字节码的语言,C 可以被替换。许多 Python 开发人员不会知道或不在乎这种变化已经超越了性能优势。
在令牌协议层构建迫使开发人员同时承担比必要的更多的复杂性,同时还通过在极早的阶段提交特定协议来降低灵活性。通过在像 Asset Layer 这样的平台上构建,人们可以绕过这种复杂性,同时放心,如果出现更好的代币协议,则无需更改应用程序即可进行更改。
功能或弹性的互操作性?
Asset Layer 做出了许多选择,这些选择与 BSV 或加密空间中的其他人所做的非常不同。我认为这样做的首要原因是我们将功能的互操作性优先于弹性的互操作性。
Asset Layer 专注于为我们的客户提供令人惊叹的新用例。这迫使我们以不同的方式划定互操作性的界限。为了提供最大的功能和性能,我们将资产层令牌的互操作性范围设置为连接到我们 API 的应用程序。我们认为这是促进创建令人惊叹的新应用程序并帮助我们的客户取得成功的最佳方式。
然而,并不是每个关注互操作性的人都这样做是为了解锁新功能。许多优先考虑互操作性以避免依赖特定的服务提供商。换句话说,通过使令牌可互操作,它使令牌所有者和应用程序不必信任单个应用程序或服务提供商。假设,如果用户出于某种原因不想再使用特定钱包,则该用户可以切换到另一个钱包,因为这两个钱包都支持用户的代币。
我们看到了这种弹性的价值,但我们认为相关的权衡今天不值得。因此,我们的客户将不得不对我们的团队充满信心。我们知道不是每个人都想这样做,但我们认为,如果我们能够提供最好的产品,那么我们就会有大量的客户来维持我们的业务。
Asset Layer 的最大区别之一是,我们将我们作为一家公司的角色视为不同于许多其他同样关注互操作性的公司。许多互操作性计划的重点是让整个世界都可以互操作。他们想要连接应用程序、钱包、区块链和其他一切。
这是一个令人钦佩的目标,但在 Asset Layer,我们专注于确保我们的客户彼此之间拥有最高质量的互操作性体验。通过以这种方式限制我们的关注点,我们已经能够实现其他公司从未做过的代币互操作性形式。
我们对客户的承诺是,我们将竭尽所能使构建高性能令牌应用程序尽可能简单。而且,我们将继续尽可能轻松地在连接的应用程序之间共享令牌,并通过互操作性实现强大的新功能。如果您有兴趣了解更多关于 Asset Layer 如何帮助您构建令人惊叹的应用程序,这些应用程序利用可轻松与其他连接的应用程序共享的令牌,请前往 https://www.assetlayer.com/ 并单击“开始” 。
本文转载自网络
作者:Jackson Laskey(无界资本)