ILP(Interledger)地址 - v1.0.0

19 篇文章 0 订阅
9 篇文章 1 订阅

备注:下文只做简单的翻译,没有做校验

ILP地址提供了一种方法,可以通过递归系列跳转支付路由到其预定目标,包括任意数量的ILP连接器。(这种情况发生在通过更高级别的支付设置协议(如SPSP设置付款。)地址并不是面向用户的,但允许使用多个ASCII字符进行调试。

地址可以细分为两类:

  • 目标地址是可以接收付款的完整地址。目标地址始终映射到分类帐中的一个帐户。(它还可以提供更具体的信息,例如发票ID或子帐户。)目标地址不能以句点(.)字符结尾
  • 地址前缀是代表一组目的地址的不完整地址。许多深度的分组是可能的:账户或子账户组,个人分类帐或子分类账,或整个分类账区。地址前缀必须以句点(.)字符结尾付款设置协议必须拒绝支付地址前缀。

这两种类型的地址通常都包含一个或多个句点字符作为分隔符。

路由

连接器维护ILP地址路由表路由是通过任意数量连接器的路由表的递归查找。当连接器收到查询时,它会查找查询地址最长前缀匹配项然后,它会出现以下情况之一:

  • 如果匹配的地址被标记为本地交付,则连接器准备将其传输到与其连接的其中一个分类帐中的该地址。连接器将ILP地址映射到分类帐内的帐户。(这是基本情况。)
  • 如果匹配地址被标记为转发递送,则它具有在路由表中与其关联的另一个连接器的地址。连接器在与地址关联的连接器上进行路由查找。(这是递归的情况。)

地址要求

ILP地址必须符合以下要求:

  1. 地址必须以指示分配方案的前缀开始。请参阅分配方案了解更多信息。
  2. 地址的每个“段”必须包含一个或多个以下字符:
    • 字母数字字符,大写或小写。(地址区分大小写,以便它们可以包含以base64url等格式编码的数据。)
    • Underscore(_
    • Tilde(~
    • 连字符(-
  3. 每个段必须用句点字符(.与其他段分开
  4. 地址前缀必须以句点(.)字符结尾,并且可以在分配方案前缀之后包含任意数量的段。
  5. 目标地址不能以句点(.)字符结尾,并且必须在分配方案前缀后至少包含两个段。
  6. ILP地址的总长度不得超过1023个字符,包括分配方案前缀,分隔符和所有段。

以下ABNF规范定义了所有ILP地址和地址前缀内容的格式。(您还必须强制执行1023个字符或更少的整体长度要求。)

address     = scheme separator *prefix [segment]
                    ; the last segment is REQUIRED for destination addresses

scheme      = "g" / "private" / "example" / "peer" / "self" /
              "test" / "test1" / "test2" / "test3"

separator   = "."

prefix      = 1*(segment separator)

segment     = 1*( ALPHA / DIGIT / "_" / "~" / "-" )

您还可以使用以下正则表达式来验证相同的要求:

所有地址:

(?=^.{1,1023}$)^(g|private|example|peer|self|test[1-3]?)[.]([a-zA-Z0-9_~-]+[.])*([a-zA-Z0-9_~-]+)?$

地址前缀:

(?=^.{1,1023}$)^(g|private|example|peer|self|test[1-3]?)[.]([a-zA-Z0-9_~-]+[.])*$

目的地地址

(?=^.{1,1023}$)^(g|private|example|peer|self|test[1-3]?)[.]([a-zA-Z0-9_~-]+[.])+[a-zA-Z0-9_~-]+$

(如果您的正则表达式引擎不支持lookahead,则必须删除第一个括号并分别强制执行1023个字符或更少的总长度要求。)

分配方案

分配方案是地址的第一部分,它指示地址如何分配。以下是当前定义的前缀摘要:

字首分配计划定义和使用案例
g.全球分配计划ILP地址旨在发送和接收来自全球计划中任何其他地址的资金。
private.私人分配对于仅在私有子网或Intranet中具有含义的ILP地址。类似于IPv4中192.168.0.0/16范围
example.例子用于示例或文档中的“非真实”地址。类似于美国的“555电话号码”
test.test1.test2.test3.Interledger测试网和测试用于公共Interledger测试网和本地测试中的地址,例如兼容软件的单元或集成测试。
local.莱杰本地对于只在本地分类帐上下文中有效的地址。类似于IP中的链路本地地址
peer.对等与分类帐本地地址类似,但专门用于对等关系。ILP-插件的虚拟是使用这种现有的实施方案的实例。
self.本地环回对于仅在本地计算机上有效的地址。

全球分配计划

ILP地址的全球分配方案是大多数地址预期使用的方案。它使用前缀g.预计该计划下的地址将与所有其他此类地址相关,只要当前的信任和流动性允许。

该方案没有中央颁发机构或机制,因此不止一个实体可以使用相同的地址。在这种情况下,某些连接器可能会准备一条到达预期帐户的路线。在这种失败情况下,由于接收方不发送履行请求,所以没有钱移动。参与者可以通过仔细选择地址并正确管理连接器的路由表来减少遇到此故障情况的可能性。

全球分配方案不允许您对细分市场的含义做出任何假设。在同一地点的细分可能对不同的分类帐或连接器有不同的含义。但是,为了使路由工作顺利进行,我们建议按以下顺序放置段:

并非所有地址都包含所有这些信息,并且某些地址可能会使用多个分段来表示某些信息。其他可能有助于理解全球分配方案的概念包括:

邻里

邻里是主要部分,没有特定的含义,其目的是帮助路线到正确的区域。目前没有官方的社区名单,但下面的例子列表应该说明可能构成社区的内容:

  • crypto. 用于与比特币,Etherium或XRP等分散加密货币相关的分类帐。
  • sepa.单一欧元支付区域中的分类帐
  • dev. 用于Interledger协议开发和早期采用者

社区的目标是将相互了解的连接器和分类账分组,以便路由更高效。如果一个社区太大或连接不好,它可以进一步细分为嵌套的子社区。例如,如果dev.附近包含太多有效存储的路线,或者该附近的分类账只与同一国家的其他分类账相关联,那么卢森堡托管的发展分类账可能会选择dev.luxembourg.一个更密切的地区。

总账标识符

地址必须至少有一个分段才能识别分类帐本身。这些被称为分类标识符段。分类账标识符可以是多个分段,如果分类账分为逻辑或物理分类账,这可能很有用。分类帐标识符分段将分类帐与其他附近的其他分类帐区分开来。

如果需要费用来连接到分类账,那么对该分类账的付款必须通过连接器进行路由,但地址本身不需要包含连接器。

帐户标识符

所述帐户标识符是充当分类账中的帐户的唯一标识符的一个或多个段。连接器(或其分类帐插件)将这些映射到分类帐中的帐户。对于某些分类帐,简单的转换规则可能就足够了; 其他分类帐可能需要查找表。所述五钟声账目-插件参考实现使用一个完整段完全一样账户标识符。

互动

交互是地址的帐户标识符部分之后的附加分段。在生成通知时,分类帐和分类帐插件可能会使用地址的交互区段,因此监听付款的程序可能会根据这部分地址进行不同的响应。每次付款或目的互动可能是唯一的。

为了防止多个听众针对彼此的传入付款作出反应,地址的“互动”部分应从标识付款计划方式的部分开始。(这与Internet协议中端口的作用类似。)

总帐前缀

一个总账前缀是整套段领导到的帐户标识符在分类账的。换句话说,分类帐前缀通常包含以下所有内容:

对于要连接的两个分类帐,这些分类帐必须具有不同的前缀。在进行本地交付时,ilp连接器参考实现使用前缀来选择分类帐插件。

如果可能的话,分类账应该为自己宣传一个独特的前缀。这可以通过“元数据”API方法或分类账运营商的官方通信报告。如果分类账不能或不指定其前缀,那么运行分类账连接器的人应该就使用的前缀达成一致。另请参阅:嵌套分类帐

嵌套分类帐

分类帐可以相对于另一个“定位器”分类帐进行编址。较小和较不知名的分类帐可能会更容易以这种方式向自己发布路线。这样,不需要让同一大型社区中的每个连接器都知道分类帐,只有连接到定位器分类帐的连接器需要知道如何路由到较小的连接器。

如果连接器证明它拥有这些地址(例如,通过使用来自地址描述的帐户的分类帐邮件服务发送邮件),则连接器可以将路由通告到以分类帐中的连接器地址为前缀的地址。

如果example.dev.acme.blue是属于Blue Connector的ACME分类账中的账户,则Blue Connector可以将前缀通告example.dev.acme.blue.waygate.给其同样位于ACME分类账上的对等连接器。通过这种方式,可以将路由到的付款example.dev.acme.blue也通过蓝色连接器路由到嵌套WayGate分类账中的账户,ACME分类账作为定位器分类账。其他连接器可以手动添加到达example.dev.acme.blue.waygate.分类账的捷径,而无需通过蓝色连接器或ACME分类账。

使用以这种方式嵌套的地址取决于让连接器通告路由; 如果没有,那么只有手动添加的“快捷方式”路线可以将钱汇入嵌套分类帐前缀下的地址。因此,如果定位器账本上的连接器由嵌套账簿操作,或者是嵌套账簿的同一实体的一部分,则最为合理。

全球分配方案地址示例

g.acme.bob - 分类账中“帐户”中账户“bob”的目的地址。

g.us-fed.ach.0.acmebank.swx0a0.acmecorp.sales.199.~ipr.cdfa5e16-e759-4ba3-88f6-8b9dc83c1868.2 - 特定发票的目的地地址,可以如下分解:

  • 求教:us-fed.0.ach.
  • 总帐标识:acmebank.swx0a0.acmecorp.
  • 帐户标识符:sales199
  • 互动:~iprcdfa5e16-e759-4ba3-88f6-8b9dc83c18682

g. - 尽可能短的地址前缀。包括全局分配方案中的所有条目。

g.crypto.bitcoin. - 公共比特币区块链的地址前缀

g.crypto.rcl.xrp.ra5nK24KXen9AHvsdFTKHSANinZseWnPcX - 发送XRP给Ripple Consensus Ledger的特定用户的地址,该地址分解如下:

  • 邻里: crypto.
  • 总帐标识符:rcl.xrp.
  • 帐户标识符: ra5nK24KXen9AHvsdFTKHSANinZseWnPcX

g.dev.ilp-blue.blue.ilp-cyan.aquahuman.~psk.6373df86-a8d1-4aaa-930d-7d5a622913bc - 使用嵌套分类帐的特定发票的地址,该分类帐可能会分解如下:

  • 邻里: dev.
  • 总帐标识符(定位器分类帐): ilp-blue.
  • 连接器帐户标识符(定位器分类帐): blue.
  • 分类帐标识符(嵌套分类帐): ilp-cyan.
  • 帐户标识符(嵌套分类帐): aquahuman.
  • 互动:~psk6373df86-a8d1-4aaa-930d-7d5a622913bc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值