Ergo的EIP-0028:ErgoAuth
This page is machine-translated.
Ergo Platform
2022年4月29日

在讨论区块链时,重要的是要记住钱包是完全匿名的。在Ergo上,你不知道谁拥有特定的钱包。由于所有交易都是公开的,这是区块链钱包的一个重要方面——如果你知道谁拥有一个钱包,你可以看到他们的所有资产、交易以及他们与之互动的任何其他钱包。
话虽如此,有些情况下,证明谁可以访问某个钱包可能是方便的,甚至是必要的。一个可能的场景是在区块链上与游戏互动时。当代币作为游戏元素使用时,常见的情况是只有拥有特定代币的玩家才能参与特定的操作。如何知道一个玩家是否真的可以访问他们假装拥有的钱包?
在这种情况下,游戏只能依赖于要求玩家从拥有相关代币的钱包进行交易。这种方法有一些明显的缺点:玩家必须进行交易并支付交易费用,而交易可能需要几分钟才能被挖掘。
为了解决这个问题,Ergo核心开发者提出了EIP-0028 ErgoAuth。它已经在Appkit中实现,Ergo的SDK,并将在即将发布的Ergo Wallet App 1.9版本中集成。
ErgoAuth通过在钱包应用程序和需要验证用户的服务器之间直接定义类似的协议,绕过了在区块链上进行交易的需要。其工作原理如下:
- 游戏(或dApp、网站等)希望检查用户是否可以访问某个钱包,显示一个二维码供钱包应用扫描——或提供一个按钮以打开钱包应用程序。
- 这将使钱包应用程序联系游戏的服务器并请求特定信息。钱包需要知道用户应该验证哪个地址,因为可能有多个地址。
- 钱包应用程序将向用户展示一个屏幕,并询问他们是否想要证明访问权限。当用户确认时,钱包应用程序将用私钥签署游戏服务器发送的消息,并将签名消息发送回去。
- 游戏服务器现在可以检查(通过使用Appkit或其自己的实现)用户发送的证明是否有效,以及用户是否可以访问该钱包。
开发者现在可以开始将ErgoAuth集成到他们的应用程序中。有关更详细的信息,请参阅EIP-0028及相应的代码示例链接。
Share post




















