你第一次打开交易应用时,Intention 会向你的钱包索要一次会话范围内的签名。本页解释这个签名意味着什么、不意味着什么,以及你如何控制它。
为什么需要会话签名
做永续合约的人,一分钟要下很多单。如果每一笔都要钱包弹出确认框,那根本没法用。因此 Intention 的应用会在开始时请求一次结构化数据(typed data)签名,把一把短期交易密钥绑定到你的账户上。此后,应用用这把短期密钥在本地为每一条订单消息签名,在会话到期之前都不再打扰钱包。
会话签名授予了什么
- 让应用代表你提交交易操作,用的是一把派生密钥;这把密钥只对特定账户、特定过期时间和特定的一组操作有效(下单、撤单、改单等)。
- 仅此而已。这个签名不是一张空白授权书,也不是代币授权额度。
它不授予什么
- 它不会把资金转出你的账户。 提现到外部链每次都需要一次单独的、明确的签名。
- 它不会改变你账户的安全设置。 它无法新增签名者、轮换密钥,也无法把权限委托到那组限定操作之外。
- 它不会在过期之后继续有效。 一旦到达会话截止时间,派生密钥在链上就失效了,应用会请求一次新的签名。
如何检视签名请求
现在的钱包在你签名之前都会把结构化数据的载荷摊开给你看。请读一遍。Intention 请求的载荷会写明你正在授权的账户、过期时间戳,以及域名 intention.xyz。如果某个签名请求声称来自 Intention,显示的却是别的域名、别的账户,或者一个远在将来的过期时间,请拒绝,并把发出该请求的页面报告到 contact@intention.xyz。
看不懂的结构化数据签名,绝不要批准。“只要签一下就能验证你的钱包”是整个行业里最常见的钓鱼套路。Intention 绝不会要求你签署一条含糊其辞的“验证”消息。
撤销会话
结束会话有三种方式。
- 在应用内。 打开账户菜单,选择断开连接或撤销当前会话。应用会丢弃你设备上的那把短期密钥;链上一旦观测到这次撤销,这把会话密钥也不再被接受。
- 在钱包里。 从钱包的“已连接站点”列表里断开本站。这样下次访问时,应用就无法再请求新的签名。
- 等它过期。 会话本来就有期限。一旦过期,无论你有没有做过别的操作,这把密钥都不再有任何作用。
会话过期后会发生什么
在那个已过期的会话下挂出、还没成交的订单,仍然在订单簿上有效——签的时候会话还活着,协议已经把它们记录在案。新订单则会失败,直到你签一次新的会话签名。这是刻意的:过期不能倒回去取消已经提交生效的工作。