$WCT #walletconect @WalletConnect
核心概念: WalletConnect 是一个开源协议,旨在充当 Web3 去中心化应用(dApps) 与移动端加密货币钱包之间的安全通信桥梁。它不是钱包本身,也不是一个应用程序,而是一个标准化的连接方式。
解决的核心问题:
在 WalletConnect 出现之前,用户主要通过以下方式连接 dApp 和钱包:
1.浏览器扩展钱包: 只能在桌面浏览器使用(如 MetaMask 扩展)。
2.桌面钱包软件: 需要安装特定软件。
3.导入私钥/助记词: 极不安全,容易导致资产被盗。
移动端用户面临巨大挑战: 如何在手机浏览器或独立的移动 App 中安全地与 dApp(通常运行在桌面浏览器上)交互?WalletConnect 应运而生,完美解决了跨平台(尤其是移动端)的安全连接问题。
核心工作原理:
1.发起连接:
·用户在桌面浏览器访问一个支持 WalletConnect 的 dApp(如 Uniswap, OpenSea)。
·dApp 显示一个 WalletConnect 连接二维码(或有时是深链链接)。
2.钱包扫描/确认:
·用户打开手机上的支持 WalletConnect 的钱包(如 MetaMask Mobile, Trust Wallet, Rainbow, Argent 等)。
·在钱包中找到“扫描”或“连接 WalletConnect”功能,扫描 dApp 显示的二维码。
·钱包解析二维码中的信息,显示连接请求(包含 dApp 名称、URL、请求的链 ID 等信息),用户在钱包内确认是否授权连接。
3.建立加密通道:
·一旦用户确认,钱包和 dApp 的后端服务器(或点对点网络)会建立一个端到端加密的通信通道(通常基于 WebSockets)。私钥和签名操作始终只在用户手机钱包内进行,绝不会暴露给 dApp 或任何中间服务器。
4.交互过程:
·用户在 dApp 上操作(如发起交易、签名消息)。
·dApp 通过加密通道将请求(交易数据、签名消息等)发送到用户的钱包。
·钱包在手机端收到请求,展示详细信息(交易金额、接收方、Gas 费等)供用户审查。
·用户在钱包内确认或拒绝该操作。
·如果确认,钱包使用私钥在本地完成签名,并通过加密通道将签名结果返回给 dApp。
·dApp 收到签名结果,可以广播交易到区块链或完成所需的验证。
关键特性和优势:
1.卓越的安全性:
·私钥永不离开钱包: 这是最核心的安全保障。所有敏感操作(签名)都在用户控制的、隔离的钱包环境中完成。
·端到端加密: 钱包和 dApp 之间的通信是加密的,第三方无法窃听或篡改。
·用户确认: 每次连接和每次操作(如交易、签名)都需要用户在钱包内明确确认,防止恶意 dApp 自动操作。
·无托管风险: 用户始终掌控自己的资产。
2.跨平台互操作性:
·无缝连接桌面 dApp 与移动钱包: 解决了移动用户使用桌面 dApp 的核心痛点。
·广泛的兼容性: 协议标准化使得任何支持 WalletConnect 的钱包可以与任何支持 WalletConnect 的 dApp 连接,打破了生态壁垒。
·支持多种环境: 可在桌面浏览器、移动浏览器、甚至原生移动 App 中使用。
3.用户体验提升:
·移动端友好: 用户主要操作在熟悉的手机钱包 App 中进行。
·简化流程: 扫描二维码比手动输入地址或私钥方便安全得多。
·集中管理: 在钱包 App 中可以统一管理和查看所有通过 WalletConnect 建立的连接。
4.去中心化:
·协议本身是开源的,不依赖于单一中心化实体。虽然早期版本依赖中继服务器,但设计上允许使用不同的中继器或点对点网络(v2 有改进)。
5灵活性:
·支持多种区块链和智能合约平台。
·不仅用于交易,还可用于登录验证、消息签名等