您现在的位置是:  > 新闻

当安全遇到去中心化金融——Ledger试点整合 paraswap

作者:币牛牛 时间:2021-07-19 20:43:04 来源:币源
摘要去中心化金融(DeFi)的发展开启了一个全新的世界。在这个世界中,任何人都可以创建自己的金融产品、管理自己的资产并绕过机构的任何干扰。而这仅仅是开始,这是一项刚刚起步的指数技术!我们是Ledger,真正相信 DeFi,这就是为什么我们希望让世界各地的每个开发人员都能够创建使用我们平台的去中心化应用程序 (DApp),并将它们集成到 Ledger 生态系统中。今天,我们只是让这更容易。在本文中,我们想向您解释它是如何工作的,并向您展示“ParaSwap”的示例,这是一个允许您在Ledger Live中交换硬币的DApp。Ledger Live已经能够在以太坊网络上安全地管理ETH和ERC20代币。但是,对于开发人员来说,添加对构建在以太坊之上的DApp的支持仍然很困难。今天随着Ledger Live 2.29 的发布,情况发生了变化。Ledger Live成为最安全的DeFi钱包DApp沙盒和区块链访问DApp是一个由浏览器沙箱模型“保护”的简单页面。原则上,它保证了不同选项卡之间的隔离。DApp 通常是用户建立交易的第一个地方。因此,即使我们通过在Nano S/X上验证交易来降低任何风险,这种隔离对于保护用户免受任何不受信任的环境干扰非常重要。此外,DApp 通过需要在页面上提供的特定Web3提供商访问以太坊区块链和钱包。为了实现这一点,大多数软件钱包需要浏览器扩展才能工作。不幸的是,要使扩展工作,他们需要拥有在页面内注入任何Javascript代码的完全权限。这意味着用户在浏览普通网站或DApp时必须完全信任该扩展程序。我们的解决方案是DApp集成到iframe中,以从集成的浏览器沙箱模型中受益。此外,我们通过“iframe Web3 提供程序”提供 Web3 提供程序。这个“iframe Web3 provider”是一个开源项目,它可以使用 postMessage 将Web3调用路由到父iframe容器。反过来,当这个postMessage 调用需要与 Nano S/X 或用户帐户交互时,它会被路由到标准的以太坊节点或 Ledger Live。通过这种实现,Ledger不能在未DApp提供商同意的情况下修改 iframe 内的任何代码,并且硬件钱包与DApp代码完全隔离。作为一个额外的好处,Ledger Live 用户可以随时轻松地立即更改 DApp 使用的活动帐户,而无需离开DApp。不要相信,验证:盲签名问题硬件钱包第一次可以理解DAppsLedger 通过向Ledger Live中的 Nano S 和 Nano X 用户添加原生DApp支持来升级 DeFi 用户安全性。不再有扩展,不再有浏览器连接问题,不再有盲签名。单个包中的可用性和安全性。大多数 DeFi 应用程序运行在以太坊区块链之上,并使用以太坊智能合约来执行复杂的操作。用户将带有所有必需信息的交易发送到智能合约,以使用一组特定的参数执行特定的功能。智能合约交易携带一个额外的数据字段,其中包含智能合约的相关参数。Ledger Nano S和Nano X都已经能够验证以太坊交易中的标准字段(from、to、value、gas limit、gas price、nonce)。然而,当涉及到输入数据时,无法显示由交易激活的智能合约功能,因为Nano S/X不知道合约及其目的。随着Ledger Live 中DApp浏览器的引入,我们还赋予 Nano S/X 显示和验证智能合约交易中包含的数据的能力,而无需对 DApp 进行任何额外更改。这极大地提高了以太坊生态系统的安全性。我们将在即将发布的博客文章中描述这种“插件”机制!将您的DApp添加到 Ledger Live为了正常运行,去中心化应用程序首先需要连接到钱包。后者将直接从区块链提供新信息,例如用户余额或智能合约状态,并根据要求提供安全的交易签名。由于许多钱包都与 DApp 兼容,因此社区必须提出一个标准才能有一个通用的接口。该标准称为EIP-1193。简单解释一下,每个钱包都必须实现一个提供者,尊重标准定义的接口。然后 DApp 会提示用户选择可用的提供商之一,让他选择他的钱包安装 iframe 提供程序要使您的 DApp 与 Ledger Live 兼容,您首先需要将 iframe-provider 库添加到您的项目中。这个包目前作为@ledgerhq/iframe-provider托管在 npm 上。此提供程序可以与其他现有提供程序一起添加,而不会更改现有功能,例如在 Nano S/X 上工作的集成。许多流行的钱包实现使用 Javascript 注入来动态注入它们的提供者。这种方法非常诱人,但也可能导致注入器修改页面,并带来安全风险。在我们的案例中,这种方法是不可能的,因为在 Ledger Live 中运行的 DApp 是沙盒化的。Ledger Live 和 DApp 之间唯一的通信方式是使用PostMessage双向 API,允许安全的跨域通信允许嵌入您的 DApp要使浏览器允许页面在不同来源托管时嵌入另一个页面的内容,您需要获得托管页面服务器的特定批准。此批准以响应标头的形式表示。要允许 Ledger Live 嵌入您的 DApp,您可能需要编辑服务器的配置并编辑 Content-Security-Policy 标头。要允许任何网站嵌入您的页面: Content-Security-Policy: frame-ancestors '*';只允许Ledger DApp浏览器嵌入您的页面: Content-Security-Policy: frame-ancestors [https://platform-apps.ledger.com;](https://platform-apps.ledger.com;)添加“所见即所签”属性截至今天,硬件钱包上的大多数智能合约交互对于用户来说都很难理解:当智能合约没有得到很好的支持时,用户无法验证他将要签署的内容。在这种情况下,硬件钱包可以保护他的种子免受恶意软件的侵害,但实际上并不是他的以太坊资金免受这种威胁。当硬件钱包以最少的解析显示用户即将签署的有效负载时,很难实际验证他将要同意的内容。为了解决这个问题,我们开发了一个简单的以太坊插件机制,最大限度地减少了开发人员支持智能合约交互的负担,同时由于安全显示为用户提供了最大的安全性。该机制将在另一篇博文中详细解释。结论随着Ledger Live的2.29版本,我们打算提供一个环境来轻松集成 DApp,只需最少和标准的修改。我们还希望获得更好的用户体验,同时提高用户与 DApp 交互的安全级别。我们对这个版本以及它创造的将DeFi和DApps世界轻松集成到 Ledger Live 中的可能性感到非常兴奋。我们希望在不久的将来添加更多DApp,而这只是我们使 Ledger Live 更加开放和易于扩展的旅程的开始。请继续关注我们,因为我们努力创造流畅的用户体验,在同一平台上收集所有加密服务,而不会影响安全性!

去中心化金融(DeFi)的发展开启了一个全新的世界。在这个世界中,任何人都可以创建自己的金融产品、管理自己的资产并绕过机构的任何干扰。而这仅仅是开始,这是一项刚刚起步的指数技术!

我们是Ledger,真正相信 DeFi,这就是为什么我们希望让世界各地的每个开发人员都能够创建使用我们平台的去中心化应用程序 (DApp),并将它们集成到 Ledger 生态系统中。

今天,我们只是让这更容易。

在本文中,我们想向您解释它是如何工作的,并向您展示“ParaSwap”的示例,这是一个允许您在Ledger Live中交换硬币的DApp。

Ledger Live已经能够在以太坊网络上安全地管理ETH和ERC20代币。但是,对于开发人员来说,添加对构建在以太坊之上的DApp的支持仍然很困难。今天随着Ledger Live 2.29 的发布,情况发生了变化。

Ledger Live成为最安全的DeFi钱包DApp沙盒和区块链访问

DApp是一个由浏览器沙箱模型“保护”的简单页面。原则上,它保证了不同选项卡之间的隔离。DApp 通常是用户建立交易的第一个地方。因此,即使我们通过在Nano S/X上验证交易来降低任何风险,这种隔离对于保护用户免受任何不受信任的环境干扰非常重要。

此外,DApp 通过需要在页面上提供的特定Web3提供商访问以太坊区块链和钱包。为了实现这一点,大多数软件钱包需要浏览器扩展才能工作。不幸的是,要使扩展工作,他们需要拥有在页面内注入任何Javascript代码的完全权限。这意味着用户在浏览普通网站或DApp时必须完全信任该扩展程序。

我们的解决方案是DApp集成到iframe中,以从集成的浏览器沙箱模型中受益。此外,我们通过“iframe Web3 提供程序”提供 Web3 提供程序。这个“iframe Web3 provider”是一个开源项目,它可以使用 postMessage 将Web3调用路由到父iframe容器。反过来,当这个postMessage 调用需要与 Nano S/X 或用户帐户交互时,它会被路由到标准的以太坊节点或 Ledger Live。

通过这种实现,Ledger不能在未DApp提供商同意的情况下修改 iframe 内的任何代码,并且硬件钱包与DApp代码完全隔离。

作为一个额外的好处,Ledger Live 用户可以随时轻松地立即更改 DApp 使用的活动帐户,而无需离开DApp。

不要相信,验证:盲签名问题硬件钱包第一次可以理解DApps

Ledger 通过向Ledger Live中的 Nano S 和 Nano X 用户添加原生DApp支持来升级 DeFi 用户安全性。不再有扩展,不再有浏览器连接问题,不再有盲签名。单个包中的可用性和安全性。

大多数 DeFi 应用程序运行在以太坊区块链之上,并使用以太坊智能合约来执行复杂的操作。用户将带有所有必需信息的交易发送到智能合约,以使用一组特定的参数执行特定的功能。智能合约交易携带一个额外的数据字段,其中包含智能合约的相关参数。

Ledger Nano S和Nano X都已经能够验证以太坊交易中的标准字段(from、to、value、gas limit、gas price、nonce)。然而,当涉及到输入数据时,无法显示由交易激活的智能合约功能,因为Nano S/X不知道合约及其目的。

随着Ledger Live 中DApp浏览器的引入,我们还赋予 Nano S/X 显示和验证智能合约交易中包含的数据的能力,而无需对 DApp 进行任何额外更改。这极大地提高了以太坊生态系统的安全性。我们将在即将发布的博客文章中描述这种“插件”机制!

将您的DApp添加到 Ledger Live

为了正常运行,去中心化应用程序首先需要连接到钱包。后者将直接从区块链提供新信息,例如用户余额或智能合约状态,并根据要求提供安全的交易签名。由于许多钱包都与 DApp 兼容,因此社区必须提出一个标准才能有一个通用的接口。该标准称为EIP-1193。简单解释一下,每个钱包都必须实现一个提供者,尊重标准定义的接口。然后 DApp 会提示用户选择可用的提供商之一,让他选择他的钱包


安装 iframe 提供程序

要使您的 DApp 与 Ledger Live 兼容,您首先需要将 iframe-provider 库添加到您的项目中。这个包目前作为@ledgerhq/iframe-provider托管在 npm 上。此提供程序可以与其他现有提供程序一起添加,而不会更改现有功能,例如在 Nano S/X 上工作的集成。

许多流行的钱包实现使用 Javascript 注入来动态注入它们的提供者。这种方法非常诱人,但也可能导致注入器修改页面,并带来安全风险。在我们的案例中,这种方法是不可能的,因为在 Ledger Live 中运行的 DApp 是沙盒化的。Ledger Live 和 DApp 之间唯一的通信方式是使用PostMessage双向 API,允许安全的跨域通信

允许嵌入您的 DApp

要使浏览器允许页面在不同来源托管时嵌入另一个页面的内容,您需要获得托管页面服务器的特定批准。此批准以响应标头的形式表示。

要允许 Ledger Live 嵌入您的 DApp,您可能需要编辑服务器的配置并编辑 Content-Security-Policy 标头。

要允许任何网站嵌入您的页面: Content-Security-Policy: frame-ancestors '*';

只允许Ledger DApp浏览器嵌入您的页面: Content-Security-Policy: frame-ancestors [https://platform-apps.ledger.com;](https://platform-apps.ledger.com;)

添加“所见即所签”属性

截至今天,硬件钱包上的大多数智能合约交互对于用户来说都很难理解:

当智能合约没有得到很好的支持时,用户无法验证他将要签署的内容。在这种情况下,硬件钱包可以保护他的种子免受恶意软件的侵害,但实际上并不是他的以太坊资金免受这种威胁。当硬件钱包以最少的解析显示用户即将签署的有效负载时,很难实际验证他将要同意的内容。

为了解决这个问题,我们开发了一个简单的以太坊插件机制,最大限度地减少了开发人员支持智能合约交互的负担,同时由于安全显示为用户提供了最大的安全性。该机制将在另一篇博文中详细解释。

结论

随着Ledger Live的2.29版本,我们打算提供一个环境来轻松集成 DApp,只需最少和标准的修改。我们还希望获得更好的用户体验,同时提高用户与 DApp 交互的安全级别。

我们对这个版本以及它创造的将DeFi和DApps世界轻松集成到 Ledger Live 中的可能性感到非常兴奋。我们希望在不久的将来添加更多DApp,而这只是我们使 Ledger Live 更加开放和易于扩展的旅程的开始。

请继续关注我们,因为我们努力创造流畅的用户体验,在同一平台上收集所有加密服务,而不会影响安全性!

转载请注明来自炒数字货币(www.btc816.com),提供数字货币最新消息、数字货币投资入门与数字货币技术分享

本文标题:当安全遇到去中心化金融——Ledger试点整合 paraswap

原文地址:http://www.btc816.com/news/4752.html

关键词: