LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 金色观察|详解闪电网络的LSAT协议:付费API与凭证

金色观察|详解闪电网络的LSAT协议:付费API与凭证

2020-03-31 金色财经 Taylor W 来源:区块链网络

本文为LightningLabs CTO Olaoluwa Osuntokun为LSAT协议发布的解读文章,LSAT其特性对于某些应用开发来说是可喜的,区块链网络整理如下,以飨读者:

今天,我们很高兴地宣布发布了Lightning Service Authentication Tokens (LSAT)规范草案。LSAT是Lightning实验室开发的一种新的认证和付费api协议标准(使用互联网的首选货币:sats!),它利用了被广泛使用的HTTP 402(支付所需)状态码。LSATs既可以作为身份验证,也可以作为付费api的支付机制(可以将其视为某种类型的票据)。通过利用LSATs,服务或企业能够提供介于免费和订阅之间的新一层付费api计量,不需要登录、电子邮件或密码,除了这一规范,我们还将发布了Aperture。Aperture可以用来轻松地创建一个新的支持lsat的付费API或服务,甚至可以无缝地升级现有的web资源或API,使其支持lsat,从而创建一个从现有web到新的Lightning原生网络的门户。

可以将LSATs视为一种奇特的身份验证代币或cookie。它们与常规cookie的不同之处在于,它们是一种可以通过密码验证的承载凭证。LSAT代币将其所有功能编码在macaroon中,而macaroon只能由终端服务提供商创建。LSAT规范使用HTTP和?Lightning网络的组合,为下一代建立在?Lightning网络之上的付费api创建无缝的端到端支付+认证流。

在这篇博客文章的其余部分中,我们将从较高的层次探索LSATs的动机、沿袭和工作流程。我们还将研究Aperture目前在LightningLoop中的应用,并探讨它最初的一些功能。对于那些对更多细节感兴趣的读者,我们鼓励开发人员和其他相关人员查看完整的LSAT草案规范。规范本身是开源的,我们正在积极地接受贡献!

忘记的HTTP错误代码

正如我们今天所知道的,HTTP使用大量的错误代码来允许开发人员轻松地使用web用户创建的api或资源。例如,众所周知的200 OK错误代码表示HTTP响应成功。当客户端试图访问服务器无法找到的页面或资源时,将发送404 Not Found。存在大量其他错误代码,其中一些比其他代码更常用。一个被广泛使用的错误代码是:402需要支付。顾名思义,当客户端试图访问尚未付费的资源时,将返回此代码。在HTTP规范的大多数版本中,此代码被标记为“保留供将来使用”。许多人推测,它的目的是用于某种数字现金或小额支付方案,在最初的HTTP规范起草时还不存在。

然而,几十年后,我们有了一个广泛使用的数字现金系统:比特币。除此之外,一个以小额支付为核心的新网络也已经出现:?Lightning网络。在Lightning实验室的早期,我们就被?Lightning网络支持的付费计量api的潜力所吸引。我们已经用LN本身解决了支付部分,下一个挑战是创建一个协议,它将很容易以简单和可扩展的方式放入现有的api中。我们的解决方案是LSAT协议。

在?Lightning的本地Web中进行身份验证和API支付

Lightning有潜力成为访问web服务和资源的实际支付方式。如果一个用户能够支付服务和在此过程中获得一张票/收据可以用于未来的身份验证和访问?这个新的网络中,电子邮件地址和密码已经成为过去。相反,用户购买并提供加密承载凭证来访问服务和资源。在这个新的网络中,信用卡不再是所有在网络上创造的令人惊奇的体验的看门人。

LSATs使创建一个新的更全球化、更私人化、更适合开发人员的web成为可能。

HTTP + Macaroons +?Lightning= LSAT

LSAT本质上是通过Lightning为特定服务或资源获取的票据。票证本身对它能够访问的资源进行编码(可能还会访问更多资源)它可以被复制,或者给朋友,这样他们就可以访问相同的资源。它也可以被削弱,以提供一个朋友访问一个稍弱的版本的资源(能够流视频只有480p作为一个例子)。另一方面,服务可以为特定的用户生成特殊的票据、循环、升级,甚至取消这些票据。

这些票实际上是Macaroons。Macaroons是一种灵活的API凭据标准,lnd已经将其用作默认的身份验证机制。LSAT协议允许用户通过Lightning网络自动购买sats的其中一张票。当用户试图访问需要付款(402付款)的资源时,部分LSATs通过HTTP(或HTTP/2)提供服务,同时提供Lightning发票。然后,通过支付发票并获得付款前映像(发票支付给付款散列:payment_hash = sha256(pre_image)),可以将该部分LSAT转换为完整的LSAT。

通过在终端客户端、Lightning钱包、移动应用程序、浏览器(和扩展)上进行适当的集成,上述流可能比用户现在习惯的信用卡流更加无缝。它也更加私人化,因为服务器不需要知道谁支付了票款,只需要知道它是成功支付的。要了解这个新的支持lsat的web是什么样子的,请查看Oliver Gugger(我们的基础设施工程师之一)创建的这个演示,该演示利用Joule为用户创建无缝体验,帮助他们获得关于?Lightning网络中“最佳”节点的信息。

示例应用程序和用例

LSAT标准允许构建许多新的用例、定价模型和应用程序,所有这些都使用Lightning网络作为主要的资金渠道。由于该标准也是通过HTTP/2定义的,因此它可以自然地扩展到支持对现有gRPC服务的门控访问。这非常强大,因为它支持身份验证和支付逻辑与应用程序逻辑之间的强解耦。如今,Lightning Loop正是以这种方式使用LSAT,为我们的用户提供一种轻量级的认证机制。

由于LSATs利用了Lightning网络的支付功能,所以它们也可以方便地创建计量api。计量API是这样一种API,用户可以在使用时为目标资源或服务付费,而不需要预先提交订阅。开发人员可以使用LSATs来创建应用程序,这些应用程序不断地向用户收取计算、文件托管或原始磁盘空间等资源的费用。如果用户停止支付,则可以为另一个付费用户暂停、收集和重新分配资源。再一次,由于标准支持gRPC,它支持双向流api,一个人甚至可以创建一个计量流视频或音频服务。

此外,LSATs还支持API架构级别的创新。一个例子是自动的层升级。许多api通常提供多个层,允许用户在向上攀登的过程中访问更多或额外的资源。通常,用户必须手动导航一个web页面,以请求升级到更高的层,或降级到更低的层。有了LSAT标准,层升级可以很容易地自动化:用户点击一个新的端点来获得升级的LSAT,它编码了额外的功能或增加了与前一层相比的资源访问。服务甚至可以利用LSATs进行A/B测试,方法是向用户的子集提供不同的LSATs,当这些LSATs提交给服务时,将呈现目标资源或服务的稍微不同的版本。

Aperture:Lightning-本地web入口

你很幸运,因为我们也发布了Aperture的代码,我们实现了LSAT的反向代理,这在我们今天的生产系统中使用。Aperture位于API服务器或web资源与web本身之间,无缝地处理身份验证协议、macaroon的生成和验证,以及支付验证。使用简单的基于yaml的配置,开发人员可以轻松地创建或升级现有的web服务,使其支持lsat。孔径的最初版本支持为目标服务生成,限制用户可以访问的路径/资源的LSATs,限期的LSATs(例如只访问一天的资源),代理REST和gRPC调用,它甚至支持通过Tor公开服务。Aperture的默认存储后端是etcd,这是一个可靠的分布式键值存储,它被用作Kubernetes等许多项目的主干。

我们计划在接下来的几个月里继续开发Aperture,添加更多的功能,并推广Aperture的部署,以使其更广泛的使用。我们还为问题跟踪器添加了一些容易实现的目标和一些长期目标,以便有抱负的贡献者投入其中。

结论

在这篇文章中,我们介绍了LSAT,这是一种新的认证标准和付费的web api。LSATs使用?Lightning网络进行支付,结合HTTP-402和macaroons进行认证和防伪。LSAT协议让我们得以一窥更为全球化、私人化和可扩展的?Lightning般的本地web。我们鼓励社区审查我们最近发布的规范,也给Aperture一个转向。我们期待开发人员使用这个新标准和我们的支持工具来构建令人惊奇的东西!

—-

编译者/作者:金色财经 Taylor W

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...