首先,一点行话。 A “信息” 是区块链网络中两个或多个参与者之间的通信单元。 它可以包含任何类型的数据,它们通常用于获得用户的数字批准。
A “交易”另一方面,是一种特定类型的消息,涉及将价值从一个参与者转移到另一个参与者。 它通常包括发件人地址、收件人地址、转账的加密货币数量以及证明发件人授权转账的数字签名等信息。
用户已经可以使用他们的 Ledger 设备清除签名交易, 如这篇文章中所述,我们也使用相同的原则将这种良好做法扩展到消息,方法如下。
为什么我们要在 web3 中签署消息?
区块链是基于 “公钥密码学”,其中用户拥有一对公钥和私钥。 公钥代表所有者的身份,私钥是秘密的,允许他们证明他们拥有密钥对。
签署消息时,您在签名算法中使用私钥将签名链接到消息和公钥。 没有人可以推导出您的私钥,或为您伪造一个有效的签名。 但是,任何知道您的公钥的人都可以轻松验证该消息是否由您的私钥签名。
长话短说,它与签署交易的过程和想法相同,只是我们在这里专注于签署服务于不同目的的消息:津贴。 我们在加密应用程序中签署消息以征得用户同意,就像在现实生活中您会在纸上使用您的书面签名一样。 它是“法定签名”的加密版本。
EIP-712的重要性
签名消息并不是什么新鲜事。 多年来,我们已经能够对消息进行签名,随着时间的推移,它们可以采用不同的形式和形式。 事实上, 以太坊改进提案 191 (EIP-191) 于 2016 年提交,并引入了一个允许人类可读消息的标准,该标准由 Ledger 设备本地支持。 EIP-191 的不足之处在于该标准没有构建数据。 它只是消息末尾的无限长度数据的简介,使其难以使用。 在实践中,消息通常太长而被截断并导致用户错过潜在的关键信息; 糟糕的用户体验。
正如文章开头所说 以太坊改进提案 712 (EIP-712): “如果我们只关心字节串,那么签名数据就是一个已解决的问题。 不幸的是,在现实世界中,我们关心的是复杂而有意义的信息。” – 我完全同意。 随着消息增长以适应更复杂的操作,在 EIP-712 中指定的消息中引入类型化数据结构是一个受欢迎的变化。
这对用户意味着,现在开发人员可以解析消息中的数据并知道什么是什么,现在可以向用户公开这些数据。 解析意味着能够阅读内容,因为您知道它的结构。 就用户体验而言,这改变了游戏规则,但从安全角度来看也是如此,因为现在我可以验证我正在签名的内容。
回到消息的用途,如果您要求 Alice 授予您对她钱包内容的特定许可,作为应用程序开发人员,您应该对此非常明确,以最大限度地提高她继续进行的机会。 但这不仅仅是转化率优化。
如果你考虑对抗环境中的安全和防御,诈骗者显然会尽可能地使该消息不透明,以欺骗 Alice 允许进行该恶意操作。 透明度和 Alice 复核她所签署内容的能力是绝对必要的。
这就是 EIP-712 的用武之地。在此 EIP 之前,签名的消息是一个不透明的十六进制字符串,显示给用户,几乎没有关于构成消息的项目的上下文。
你会签这个吗? 知道你在这里授权什么吗?
EIP-712 规范为消息引入了类型化数据结构,允许钱包解析这些消息并以用户友好的方式显示,以便 Alice 做出明智的决定。 此外,它是一个标准且可跨行业互操作:支持 EIP-712,您的消息可以被 Ledger、MetaMask、Rainbow、Argent、Coinbase Wallet 等解析。
EIP-712 的账本支持
首先,祝你好运,Ledger 设备原生支持 EIP-712 消息,作为开发人员,你可以精确控制你的消息在设备上的显示方式。
Ledger 设备上的消息基本上有 3 个级别的支持:
级别 1:盲签
如果应用程序开发人员 Bob 没有使用 EIP-712 消息,那么 Bob 本质上是在要求 Alice 签署一个不可读的十六进制字符串: 盲签.
级别 2:透明签名
通过实施 EIP-712 消息,Bob 从十六进制字符串到可读内容向前迈进了一步。 它现在允许 Alice 阅读消息的内容,但是,因为它正在向她显示消息的全部内容,所以很难发现与技术信息混合的关键信息。 是透明的,但还不清楚.
级别 3:清晰签名
由于设备可以解析消息的内容,通过指示显示什么以及如何显示,我们可以实现清晰的签名。 因此,只要 Bob 设置了所需的元数据,Alice 就会在她的 Ledger 设备上看到以下内容:
比十六进制字符串好得多不是吗?
另一个关键点是,由于它显示在一个完全安全的, 不可篡改的独立设备, Alice 100% 确定她在该设备上看到的就是她正在签名的内容:没有恶意软件或恶意应用程序可以改变向她显示的内容。 如果设备上显示的内容与她的预期不符,她可以保持安全并拒绝签署消息。
为了向他的用户提供这种改进的用户体验和额外的安全性,Bob 需要做两件事: 指定应向用户显示哪些字段,并为它们提供一个漂亮、明确的显示名称。
如果作为开发者你想加入 Bob 并为你的应用做这件事, 你在这里有所有的文件,它本质上可以归结为创建一个拉取请求,通过包含以下内容的 JSON 文件将您的合约列入 Ledger 的 dApps 资产注册表的白名单:
- 指示设备需要向 Alice 显示哪些字段的选择器,
- 用显示名称标记每个选择器。
这不是化妆品,这是很好的做法
通过将您的智能合约列入白名单并指示 Ledger 设备如何显示您的消息,您不仅可以显着改善与您的应用程序交互时的用户体验,而且更重要的是,您可以保护我们所有人免受诈骗并帮助养成良好的使用习惯web3 生态系统。
我们永远不应该签署我们不理解的东西。
没有你,我们无法做到这一点,帮助我们明确签署规范。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- 柏拉图爱流。 Web3 数据智能。 知识放大。 访问这里。
- 与 Adryenn Ashley 一起铸造未来。 访问这里。
- 使用 PREIPO® 买卖 PRE-IPO 公司的股票。 访问这里。
- Sumber: https://www.ledger.com/blog/securing-message-signing
- :是
- :不是
- :在哪里
- $UP
- 1
- 2016
- 22
- 220
- a
- 对,能力--
- Able
- 关于
- 关于它
- 绝对
- 横过
- 地址
- 对抗
- 算法
- 所有类型
- 让
- 允许
- 允许
- 已经
- 还
- 量
- an
- 和
- 另一个
- 任何
- 任何人
- 应用
- 应用领域
- 批准
- 保健
- 银色
- AS
- 财富
- At
- 授权
- 基于
- BE
- 因为
- 很
- before
- 开始
- 作为
- 更好
- 之间
- 位
- blockchain
- 块链网络
- 粮食
- 建立
- 但是
- by
- CAN
- 关心
- 迎合
- 可能性
- 更改
- 换
- 清除
- coinbase
- Coinbase钱包
- 购买的订单均
- 常用
- 沟通
- 复杂
- 同意
- 内容
- Contents
- 上下文
- 合同
- 控制
- 转化
- 创造
- cryptocurrency
- DApps
- data
- 一年中的
- 决定
- 国防
- 详细
- 开发商
- 开发
- 设备
- 设备
- 不同
- 数字
- 屏 显:
- 显示
- do
- 文件
- 不会
- 别
- 向下
- 每
- 容易
- 生态系统
- EIP
- 结束
- 环境
- 必要
- 本质上
- 复仇
- 甚至
- 除
- 期望
- 体验
- 裸露
- 额外
- 额外的安全性
- 事实
- 字段
- 文件
- 聚焦
- 针对
- 伪造
- 申请
- 形式
- 向前
- 止
- ,
- 充分
- 此外
- 游戏
- 改变游戏规则
- 收集
- 得到
- GIF
- 去
- 非常好
- 授予
- 手
- 快乐
- 硬
- 有
- 帮助
- 帮助
- 这里
- 此处
- HEX
- 他的
- 创新中心
- 但是
- HTTPS
- 人类可读
- i
- 主意
- 身分
- if
- 重要性
- 改善
- 改善
- 改进
- 改善
- in
- 包括
- 表明
- 说明
- 行业中的应用:
- 信息
- 通知
- 互动
- 互操作性
- 介绍
- 推出
- 介绍
- IT
- 项目
- 加入
- JPG
- JSON
- 只是
- 键
- 知道
- 莱杰
- 长度
- 各级
- 生活
- 友情链接
- 小
- 长
- 使
- 制作
- 恶意软件
- 方式
- 匹配
- 最大宽度
- 生产力
- 有意义的
- 手段
- 的话
- 条未读消息
- 元数据
- MetaMask
- 失踪
- 杂
- 更多
- 姓名
- 本地人
- 需要
- 网络
- 决不要
- 全新
- 不错
- 没有
- 现在
- of
- 经常
- on
- 一
- 仅由
- 不透明
- 操作
- 运营
- 优化
- or
- 其他名称
- 输出
- 超过
- 己
- 对
- 纸类
- 与会者
- 允许
- 透视
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 点
- 贫困
- 可能
- 可能
- 在练习上
- 恰恰
- 原则
- 私立
- 私钥
- 市场问题
- 过程
- 提案
- 保护
- 证明
- 证明
- 提供
- 提供
- 国家
- 公钥
- 目的
- 率
- 阅读
- 真实
- 现实生活
- 真实的世界
- 注册处
- 代表
- 请求
- 必须
- 导致
- 安全
- 同
- 诈骗
- 秘密
- 安全
- 保安
- 看到
- 看到
- 服务
- 集
- 形状
- 她
- 短
- 应该
- 显示
- 签署
- 签
- 显著
- 签约
- 自
- 智能
- 聪明的合同
- So
- 东西
- 具体的
- 规范
- 指定
- Spot
- 标准
- 说
- 留
- 步
- 故事
- 串
- 结构体
- 结构化
- 提交
- 这样
- 超级
- SUPPORT
- 支持
- 支持
- 采取
- 科技
- 条款
- 比
- 这
- 其
- 他们
- 博曼
- 他们
- 事
- 事
- 认为
- Free Introduction
- 那些
- 虽然?
- 次
- 至
- 也有
- 交易
- 转让
- 转移
- 用户评论透明
- 透明
- 二
- 类型
- 理解
- 不幸
- 单元
- 无限
- us
- 使用
- 用过的
- 用户
- 用户体验
- 用户友好
- 用户
- 运用
- 平时
- ux
- 折扣值
- 确认
- 通过
- 钱包
- 钱包
- 想
- 是
- we
- Web3
- Web3 生态系统
- 欢迎进入
- 井
- 为
- 什么是
- 什么是
- ,尤其是
- 这
- 白名单
- WHO
- 将
- 也完全不需要
- 世界
- 将
- 书面
- 年
- 您
- 您一站式解决方案
- 和风网