
多签钱包知识科普
多签钱包概念Multi-Sig表示多重签名,而多重签名是一种特定类型的数字签名,而此类型的签名将允许两个以上用户作为一组来进行签名。因此,多重签名则通过多个单一签名的组合来产生。 举例来说,想像有一个拥有两把锁和两把钥匙的保险箱,一把钥匙由A持有,另一把则由B掌管。打开此保险箱的唯一办法就是A和B两个人同时提供钥匙开锁。如果你只有其中一把钥匙,是无法打开这个保险箱的。通俗来讲,就是把该钱包地址的资产控制权分到2个以上的人的手上,能够帮助用户更好的保护自己的钱包资产。名词解释私钥:用于发送资金和验证交易。去中心化钱包的私钥由用户自己持有,用户有责任保护私钥的安全。 公钥:公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。 钱包地址:它是公钥的散列版本。当用户想要接收资金时,他会向对方透露他的钱包地址。单签钱包和多签钱包的区别单签钱包,是目前区块链钱包中最常见的钱包形式。目前大多数人持有的钱包地址,都是单签钱包地址,钱包资产仅由私钥或助记词控制,这就意味着任何人只要持有了对应的私钥就可以控制该笔资金。而这同时也意味着,只需一个密钥就可以签署交易,且任何人只要拥...

什么是波场多签钱包?
“我有钱包助记词,但我不知道如何获得TRX。 你能帮我转10000U出来吗,然后我们平分。 ” “这是我的助记词:THIS IS DEFINITELY THE TRON MULTI SIGNATURE SCAM DO NOT BELIEVE IT.” 我猜你正在认真地看这些助记词,并在导入钱包的过程中,对吗? 请注意! 这就是多签钱包的钓鱼手法!单签钱包和多签钱包的区别是什么?加密货币网络上的标准交易可以称为单签名交易,因为它们只需要一次钱包签名即可完成交易。 但是对于像波场这样的一些特殊的公链来说,它是有多签机制的。 多签为每个签名赋予一个权重,交易的签名总权重必须达到自定义的权重阈值才能执行。 这意味着,一个帐户可以由多个私钥管理,并且在一个帐户中创建的交易可以由多个私钥签名。 例如,对于单签钱包,当您需要进行转账操作时,只需签名一次即可完成操作。 但对于多签钱包,转账操作需要多次签名,签名数量取决于签名阈值。有以下两种常见的多签骗局。首先是本文开头的场景。诈骗者将与您分享私钥或助记词并寻求您的帮助。他们的钱包地址里有大量的资产,除了TRX。这种情况下,用户会被资产所吸引,将...

警惕波场恶意更改账户权限骗局
近期有部分社区用户反馈波场钱包被莫名的执行了多签,导致Token无法操作。针对这类问题我们整理了本次的波场多签的相关科普,希望可以帮助用户了解波场多签的原理,认识到恶意更改账户权限的危害,保护好资产安全。波场多签场景波场多签一般分为主动多签和被动多签,主动多签就是自己设置多签,加强资产安全的措施;被动多签是以用户非主观意愿下进行的多签操作,针对这两类问题整理了以下几种可能会导致多签的场景。 第一种,自己设置了多签,需要自己管理地址执行签名; 第二种,使用假钱包导致私钥助记词泄露,被对方获取后设置多签; 第三种,网络上获取的私钥助记词导入钱包,该地址已经被多签; 第四种,执行了第三方恶意的链接,并且签名完成了权限提升。 波场钱包地址创建后是默认的单权重设置,可以执行任何的链上操作,如果地址被被多签,一定是因为私钥或助记词的泄露或执行恶意链接导致的权限更改。波场多签简介波场(TRON)的多重签名机制是一种安全措施,通过设置阈值和权重来限制特定的操作只能在多个签名方的共同确认下才能执行。 在波场多签机制中,阈值是指多少个签名方需要确认才能执行特定的操作。例如阈值为 2,那么在执行特定操...
TokenPocket是全球领先的多链自托管钱包,支持BTC、ETH、BSC、TRON、DOGE、Polygon、Arbitrum, Optimism, Solana、HECO、Klaytn、Avalanche、OKC、Fantom、Polkadot、Kusama等主流公链。



多签钱包知识科普
多签钱包概念Multi-Sig表示多重签名,而多重签名是一种特定类型的数字签名,而此类型的签名将允许两个以上用户作为一组来进行签名。因此,多重签名则通过多个单一签名的组合来产生。 举例来说,想像有一个拥有两把锁和两把钥匙的保险箱,一把钥匙由A持有,另一把则由B掌管。打开此保险箱的唯一办法就是A和B两个人同时提供钥匙开锁。如果你只有其中一把钥匙,是无法打开这个保险箱的。通俗来讲,就是把该钱包地址的资产控制权分到2个以上的人的手上,能够帮助用户更好的保护自己的钱包资产。名词解释私钥:用于发送资金和验证交易。去中心化钱包的私钥由用户自己持有,用户有责任保护私钥的安全。 公钥:公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。 钱包地址:它是公钥的散列版本。当用户想要接收资金时,他会向对方透露他的钱包地址。单签钱包和多签钱包的区别单签钱包,是目前区块链钱包中最常见的钱包形式。目前大多数人持有的钱包地址,都是单签钱包地址,钱包资产仅由私钥或助记词控制,这就意味着任何人只要持有了对应的私钥就可以控制该笔资金。而这同时也意味着,只需一个密钥就可以签署交易,且任何人只要拥...

什么是波场多签钱包?
“我有钱包助记词,但我不知道如何获得TRX。 你能帮我转10000U出来吗,然后我们平分。 ” “这是我的助记词:THIS IS DEFINITELY THE TRON MULTI SIGNATURE SCAM DO NOT BELIEVE IT.” 我猜你正在认真地看这些助记词,并在导入钱包的过程中,对吗? 请注意! 这就是多签钱包的钓鱼手法!单签钱包和多签钱包的区别是什么?加密货币网络上的标准交易可以称为单签名交易,因为它们只需要一次钱包签名即可完成交易。 但是对于像波场这样的一些特殊的公链来说,它是有多签机制的。 多签为每个签名赋予一个权重,交易的签名总权重必须达到自定义的权重阈值才能执行。 这意味着,一个帐户可以由多个私钥管理,并且在一个帐户中创建的交易可以由多个私钥签名。 例如,对于单签钱包,当您需要进行转账操作时,只需签名一次即可完成操作。 但对于多签钱包,转账操作需要多次签名,签名数量取决于签名阈值。有以下两种常见的多签骗局。首先是本文开头的场景。诈骗者将与您分享私钥或助记词并寻求您的帮助。他们的钱包地址里有大量的资产,除了TRX。这种情况下,用户会被资产所吸引,将...

警惕波场恶意更改账户权限骗局
近期有部分社区用户反馈波场钱包被莫名的执行了多签,导致Token无法操作。针对这类问题我们整理了本次的波场多签的相关科普,希望可以帮助用户了解波场多签的原理,认识到恶意更改账户权限的危害,保护好资产安全。波场多签场景波场多签一般分为主动多签和被动多签,主动多签就是自己设置多签,加强资产安全的措施;被动多签是以用户非主观意愿下进行的多签操作,针对这两类问题整理了以下几种可能会导致多签的场景。 第一种,自己设置了多签,需要自己管理地址执行签名; 第二种,使用假钱包导致私钥助记词泄露,被对方获取后设置多签; 第三种,网络上获取的私钥助记词导入钱包,该地址已经被多签; 第四种,执行了第三方恶意的链接,并且签名完成了权限提升。 波场钱包地址创建后是默认的单权重设置,可以执行任何的链上操作,如果地址被被多签,一定是因为私钥或助记词的泄露或执行恶意链接导致的权限更改。波场多签简介波场(TRON)的多重签名机制是一种安全措施,通过设置阈值和权重来限制特定的操作只能在多个签名方的共同确认下才能执行。 在波场多签机制中,阈值是指多少个签名方需要确认才能执行特定的操作。例如阈值为 2,那么在执行特定操...
TokenPocket是全球领先的多链自托管钱包,支持BTC、ETH、BSC、TRON、DOGE、Polygon、Arbitrum, Optimism, Solana、HECO、Klaytn、Avalanche、OKC、Fantom、Polkadot、Kusama等主流公链。
Share Dialog
Share Dialog

Subscribe to TokenPocket中文科普

Subscribe to TokenPocket中文科普
<100 subscribers
<100 subscribers
Uniswap Labs发布了两个新的智能合约 Permit2 和 Universal Router,Permit2 有着更好的链上交易体验,那么让我们一起了解Permit2 带来的变化,以及它的优缺点。
Uniswap 发布了新的Token授权标准 Permit2,区别于传统的 ERC20 和 EIP-2612, Permit2 协议具有节省 gas、可批量操作授权/转账且比传统 ERC20 approve 更灵活,并且支持一站式的授权管理。
Permit2 协议让其他应用可以从整合这些合约中大大受益。Uniswap 本身致力于建设公共基础设施,因此设计了这些合约,提供整个开发者生态系统使用,包括广泛的文档、SDK。
为了说明 Permit2 的革命性,让我们回顾一下之前的解决方案,以合约需要移动 Alice 的Token为例。
传统授权模式
传统的执行方式是如下图所示的执行过程。

1、Alice调用ERC20上的approve()来授予合约的支配限额。
2、Alice在合约上调用一个交互函数,该函数又在ERC20代币合约上调用transferFrom(),移动她的代币。
显然,这个模型是可行的(它是普遍存在的),并且最终可以非常灵活,因为协议通常会不间断地长期访问用户的代币。
授权合约默认获取最大数量的支配代币的权限,并且没有时间的限制,不同的DApp首次执行都需要授权一次,具有很大风险。
但它面临着两个众所周知的现实问题:
糟糕的用户体验:用户必须授权他们打算使用的每个代币上的每个新协议,而这几乎总是一个单独的事务(例如在uniswap中执行了某个代币授权,但是如果使用 transit 依然需要重新进行approve)。
糟糕的安全性:合约通常都会要求无限的授权额度,并且每使用一个swap或者其他合约都用都需要执行一次approve。这意味着,如果该协议被利用,每个用户授权该协议消费的代币都有可能把用户的授权代币全部转移。(例如我们经常会遇到的代币使用授权,例如操作DeFi需要授权,进行兑换需要授权,不同的DApp首次使用都需要授权)
EIP-2612 对代币的授权进行了迭代。用户可以通过在他们的交易中附加一个授权签名(Permit)信息来与应用合约交互,而不需要事先授权。
让我们看看 ERC20 的 EIP-2612 扩展所启用的方法,它通常是这样的:

Alice 签署一个链外的 "permit(签名授权)" 信息,表示她希望授予一个合约一个(EIP-2612)代币的使用权。
Alice 提交签署的消息,作为她与所述合约交互的一部分。
合约调用代币上的 "permit()" 方法,它会使用签名授权信息和签名,同时授予合约一个授权。
合约现在有了授权,所以它可以在代币上调用transferFrom(),转账由 Alice 持有的代币。
由于Permit (EIP-2612) 需要把相关方法写入ERC20代币合约内,所以已经部署的ERC20合约无法进行支持。
这解决了典型 ERC20 授权方法的两个问题: ● 用户不需要额外提交一个链上的approve()交易。 ● 由于省掉了一笔链上操作所以可以通常可以选择一个更合理的授权额度,而不是无限大,更重要的是在签名授权消息时可以设置一个到期时间。 虽然 EIP-2612 使代币授权更加安全,但在 EIP-2612 之前推出的代币并不支持签名授权功能,而且并非所有较新的代币都采用该功能。因此该协议很难大范围的使用。
Permit2 结合了这两种模式,将 EIP-2612 的用户体验和安全优势扩展到也涵盖了普通的 ERC20 代币!

Alice 在一个 ERC20 上调用approve(),典型的方式为的 Permit2 合约授予一个无限的授权。
Alice 签署一个链下 permit2 消息,该消息表明协议合约被允许代表她转账代币。
Alice 在协议合约上调用一个交互函数,将签署的 permit2 消息作为参数传入。
协议合约在 Permit2 合约上调用 permitTransferFrom(),而 Permit2 合约又使用其授权(在 1 中授予)在 ERC20 合约上调用 "transferFrom()",转账 Alice 持有的代币。
将授权给与Permit2后,使用了Permit2协议的DApp 只需要进行一次712的本地签名就可以,不需要额外的链上approve,降低了Gas费用,增加了易用性和安全性。授权具有时限性,例如授权一个月,那么一个月时间过期后下次使用同样只需要一次712签名即可。
协议不会直接调用 ERC20 代币上的transferFrom()来执行转账,而是调用规范的 Permit2 合约上的permitTransferFrom()。Permit2 位于协议和 ERC20 代币之间,跟踪和验证 permit2 消息,然后最终使用其授权直接在 ERC20 上执行transferFrom()调用。这种间接性使得 Permit2 可以将类似于 EIP-2612 的好处扩展到每一个现有的 ERC20 代币上。
传统授权模式,默认最大数量授权给DApp执行合约,授权后即可进行兑换操作。

首次授权会授权给Permit2 合约,授权后需要用户进行一次签名(链下),前两步执行成功后才可以进行兑换。

Permit2 衍生于 EIP 2612,属于一种拓展的 EIP 20 协议,所以归根到底,Permit2 只是 ERC20 的一种补充,而不是取代。毕竟 Permit2 并没有可以直接继承现有所有的 ERC20 数据,所谓的一站式管理,本质上还是需要调用 ERC20 合约的 approve 操作来完成一些初始的操作。
Permit2 完整的流程应该是
用户将 ERC20 代币的最大授权给到 Permit2 合约
用户通过 permit 函数对 Permit2 合约中的具体授权进行管理
第三方协议和用户可以根据 Permit2 中已有的授权信息通过 Permit2 合约作为中间人实现代币的转移。
Permit2 协议具有的优点
统一的代币管理
可控制的授权时间
不用每次都多发一笔交易来进行授权
Permit2 协议可能存在的风险
号称解决了 infinity approval 的问题,但实际只是把授权对象从需要交互的 DApp 转变成了 Permit2 合约,集中管理授权对 Permit2 合约的安全性有着更高的要求。
虽然说代币授权有过期时间,但是这个时间依旧可以无限大,还是需要各个Dapp合理的设置过期时间。
由于调用 permit 函数的过程可以不发送交易而是只提供签名给第三方代发,如果是做钓鱼的话可以做得更加隐蔽,用户检查签名消息的成本提升,某些第三方钱包可能不会对签名信息进行解码展示,导致用户被攻击的风险更高。
优点和风险同时存在,这就需要我们具有一定的辨别能力,具体到钱包方也需要对后续可能大范围支持Permit2 有一个提前的防范,(现在TokenPocket 还没支持 Permit2 的解析,后面很快会支持。)例如TokenPocket 现在的授权风险提示等弹窗,就可以很好的把风险内容进行展示,从而避免因为钓鱼或第三方恶意授权等风险。
不要随意打开不明来历的网站并执行,一定要使用正规的DApp并尽可能的控制好授权给合约的代币数量,时常用授权检测工具进行检查。
Uniswap Labs发布了两个新的智能合约 Permit2 和 Universal Router,Permit2 有着更好的链上交易体验,那么让我们一起了解Permit2 带来的变化,以及它的优缺点。
Uniswap 发布了新的Token授权标准 Permit2,区别于传统的 ERC20 和 EIP-2612, Permit2 协议具有节省 gas、可批量操作授权/转账且比传统 ERC20 approve 更灵活,并且支持一站式的授权管理。
Permit2 协议让其他应用可以从整合这些合约中大大受益。Uniswap 本身致力于建设公共基础设施,因此设计了这些合约,提供整个开发者生态系统使用,包括广泛的文档、SDK。
为了说明 Permit2 的革命性,让我们回顾一下之前的解决方案,以合约需要移动 Alice 的Token为例。
传统授权模式
传统的执行方式是如下图所示的执行过程。

1、Alice调用ERC20上的approve()来授予合约的支配限额。
2、Alice在合约上调用一个交互函数,该函数又在ERC20代币合约上调用transferFrom(),移动她的代币。
显然,这个模型是可行的(它是普遍存在的),并且最终可以非常灵活,因为协议通常会不间断地长期访问用户的代币。
授权合约默认获取最大数量的支配代币的权限,并且没有时间的限制,不同的DApp首次执行都需要授权一次,具有很大风险。
但它面临着两个众所周知的现实问题:
糟糕的用户体验:用户必须授权他们打算使用的每个代币上的每个新协议,而这几乎总是一个单独的事务(例如在uniswap中执行了某个代币授权,但是如果使用 transit 依然需要重新进行approve)。
糟糕的安全性:合约通常都会要求无限的授权额度,并且每使用一个swap或者其他合约都用都需要执行一次approve。这意味着,如果该协议被利用,每个用户授权该协议消费的代币都有可能把用户的授权代币全部转移。(例如我们经常会遇到的代币使用授权,例如操作DeFi需要授权,进行兑换需要授权,不同的DApp首次使用都需要授权)
EIP-2612 对代币的授权进行了迭代。用户可以通过在他们的交易中附加一个授权签名(Permit)信息来与应用合约交互,而不需要事先授权。
让我们看看 ERC20 的 EIP-2612 扩展所启用的方法,它通常是这样的:

Alice 签署一个链外的 "permit(签名授权)" 信息,表示她希望授予一个合约一个(EIP-2612)代币的使用权。
Alice 提交签署的消息,作为她与所述合约交互的一部分。
合约调用代币上的 "permit()" 方法,它会使用签名授权信息和签名,同时授予合约一个授权。
合约现在有了授权,所以它可以在代币上调用transferFrom(),转账由 Alice 持有的代币。
由于Permit (EIP-2612) 需要把相关方法写入ERC20代币合约内,所以已经部署的ERC20合约无法进行支持。
这解决了典型 ERC20 授权方法的两个问题: ● 用户不需要额外提交一个链上的approve()交易。 ● 由于省掉了一笔链上操作所以可以通常可以选择一个更合理的授权额度,而不是无限大,更重要的是在签名授权消息时可以设置一个到期时间。 虽然 EIP-2612 使代币授权更加安全,但在 EIP-2612 之前推出的代币并不支持签名授权功能,而且并非所有较新的代币都采用该功能。因此该协议很难大范围的使用。
Permit2 结合了这两种模式,将 EIP-2612 的用户体验和安全优势扩展到也涵盖了普通的 ERC20 代币!

Alice 在一个 ERC20 上调用approve(),典型的方式为的 Permit2 合约授予一个无限的授权。
Alice 签署一个链下 permit2 消息,该消息表明协议合约被允许代表她转账代币。
Alice 在协议合约上调用一个交互函数,将签署的 permit2 消息作为参数传入。
协议合约在 Permit2 合约上调用 permitTransferFrom(),而 Permit2 合约又使用其授权(在 1 中授予)在 ERC20 合约上调用 "transferFrom()",转账 Alice 持有的代币。
将授权给与Permit2后,使用了Permit2协议的DApp 只需要进行一次712的本地签名就可以,不需要额外的链上approve,降低了Gas费用,增加了易用性和安全性。授权具有时限性,例如授权一个月,那么一个月时间过期后下次使用同样只需要一次712签名即可。
协议不会直接调用 ERC20 代币上的transferFrom()来执行转账,而是调用规范的 Permit2 合约上的permitTransferFrom()。Permit2 位于协议和 ERC20 代币之间,跟踪和验证 permit2 消息,然后最终使用其授权直接在 ERC20 上执行transferFrom()调用。这种间接性使得 Permit2 可以将类似于 EIP-2612 的好处扩展到每一个现有的 ERC20 代币上。
传统授权模式,默认最大数量授权给DApp执行合约,授权后即可进行兑换操作。

首次授权会授权给Permit2 合约,授权后需要用户进行一次签名(链下),前两步执行成功后才可以进行兑换。

Permit2 衍生于 EIP 2612,属于一种拓展的 EIP 20 协议,所以归根到底,Permit2 只是 ERC20 的一种补充,而不是取代。毕竟 Permit2 并没有可以直接继承现有所有的 ERC20 数据,所谓的一站式管理,本质上还是需要调用 ERC20 合约的 approve 操作来完成一些初始的操作。
Permit2 完整的流程应该是
用户将 ERC20 代币的最大授权给到 Permit2 合约
用户通过 permit 函数对 Permit2 合约中的具体授权进行管理
第三方协议和用户可以根据 Permit2 中已有的授权信息通过 Permit2 合约作为中间人实现代币的转移。
Permit2 协议具有的优点
统一的代币管理
可控制的授权时间
不用每次都多发一笔交易来进行授权
Permit2 协议可能存在的风险
号称解决了 infinity approval 的问题,但实际只是把授权对象从需要交互的 DApp 转变成了 Permit2 合约,集中管理授权对 Permit2 合约的安全性有着更高的要求。
虽然说代币授权有过期时间,但是这个时间依旧可以无限大,还是需要各个Dapp合理的设置过期时间。
由于调用 permit 函数的过程可以不发送交易而是只提供签名给第三方代发,如果是做钓鱼的话可以做得更加隐蔽,用户检查签名消息的成本提升,某些第三方钱包可能不会对签名信息进行解码展示,导致用户被攻击的风险更高。
优点和风险同时存在,这就需要我们具有一定的辨别能力,具体到钱包方也需要对后续可能大范围支持Permit2 有一个提前的防范,(现在TokenPocket 还没支持 Permit2 的解析,后面很快会支持。)例如TokenPocket 现在的授权风险提示等弹窗,就可以很好的把风险内容进行展示,从而避免因为钓鱼或第三方恶意授权等风险。
不要随意打开不明来历的网站并执行,一定要使用正规的DApp并尽可能的控制好授权给合约的代币数量,时常用授权检测工具进行检查。
No activity yet