当前位置: 代码网 > 科技>区块链>区块链技术 > Passkey是什么?Passkey钱包及其未来设想

Passkey是什么?Passkey钱包及其未来设想

2024年09月06日 区块链技术 我要评论
未来 Web3 钱包的格局很可能像是微信支付和支付宝的关系,用户通过支付宝使用金融服务,通过微信使用日常的小额支付,对应 Web3 钱包大家会使用硬件钱包或者助记词钱包进行 DeFi 业务和...

passkey是什么?passkey钱包及其未来设想!几个月前,我注册了0xppl.com。那是meme币狂热之后的几天,我不希望我那些不负任何财务责任的选择在社交网络上传播。我想创造一款新钱包——一款既安全又易用的钱包。由于不想再存储另一对私钥,我就去寻找替代方案,然后在metamask snap目录上发现了capsule。

过去,我曾写过关于移动优先对于增长的重要性的文章。截至2024年,多个著名的defi产品都推出了移动应用。去年我们讨论了波动性是如何成为一种服务的。上周末,pump.fun团队的累计收益达到了1亿美元。

我想看清楚下一个大的契机是什么,貌似passkey钱包可能就是一个。

passkey是一种在设备中存储私钥以验证自身身份的机制。亚马逊和谷歌等公司就使用passkey来帮助用户实现无密码登录,passkey的应用也扩展到了web3。

今天代码网小编给大家分享的是我将简单解释一下passkey是如何工作的,并提出一个由passkey实现的可能性未来。下面一起详细了解下吧!

passkey 技术简介

介绍 passkey 之前需要先介绍 webauthn。它是由苹果、谷歌、微软、meta 等共同支持的fido 联盟提出的无密码登录技术。它通过设备端生成的非对称密钥对来进行用户鉴权,取代用户密码的鉴权方案。它的原理和我们传统上使用的 u盾或者硬件钱包类似,用户使用设备内保存的私钥做数字签名来向服务器认证自己的身份,webauthn 的私钥在专用的安全芯片中生成和管理,对应于苹果设备的 secure enclave,安卓设备的 secure element 以及 pc 设备的 tpm。他们都是独立于 cpu 和操作系统的独立芯片,具有非常高的安全等级。例如 apple pay 的信用卡信息就是存储在这个区域。安全芯片中的私钥是无法通过外界 api 读取的,它只能被系统的锁屏模块(通常是生物识别)唤起进行数字签名操作。

passkey 则是 webauthn 基础上的密钥加密同步方案。用户可以使用 icloud 或 google account 自动加密同步自己的设备私钥,以达到多个设备同时自动登录一个网站的体验。目前主流的设备包括 ios、android、macos 均完整支持 passkey,windows10/11 则仅支持webauthn.

passkey/webauthn(考虑到二者技术上仅存在可同步性的差异,后面统-称为 passkey)技术是大公司力推的下一代账号鉴权技术,它具有非常明显的优势:无密码、防丢失、防冒用、简单易用等。但它也存在天然的缺陷,即不同品牌设备之间无法互信,i0s 的 passkey 是不可能和 android 设备同步的,因此跨品牌终端登录账号始终是个较大的问题,

passkey 结合 web3 的优势

passkey 技术本身是为 web2 网络服务设计的,并没有考虑到 web3/crypto 的应用场景但由于它的非对称密钥架构,一旦和 web3 结合就会发挥出极大的优势。

passkey 钱包可以用来构建无密码、无助记词的非托管钱包passkey 钱包不需要透露任何用户隐私信息,包括 email、手机号甚至用户名passkey 钱包把普通用户的钱包安全性提升到硬件级别,同时用户体验更好区块链可以作为信任中介,允许不同品牌设备生成的 passkey 互认,可以做到比 web2 使用passkey 时用户体验更好安全、便利、非托管,这看似不可能同时达到的三个优势在 passkey 钱包上可以做到,它会是 web3 mass-adoption 叙事的一个重要推动者。

erc4337 与 mpc 钱包浅析

同样主打 mass-adoption 叙事,市场上已经存在了两个主流的解决方案,分别是 erc4337 账户抽象钱包和 mpc 安全多方计算钱包。我们先简单回顾一下他们的原理和特点。

erc4337 钱包

erc4337 是 evm 合约钱包的一个应用层标准。合约钱包本身的优势包括私钥丢失可重置、手续费可代付、权限管理灵活、批量交易等。但它的劣势也很明显,包括初始化成本高、单次交易手续费高、dapp 兼容性差等。这些都是合约钱包的理论优缺点,在实际使用过程中它暴露的其他缺点也不少。

  • 用户仍然需要一把私钥,它如何被生成&管理是一个问题

  • 私钥丢失重置的信任锚点问题:即谁有权力重置用户钱包的私钥

  • 私钥重置的多链同步问题:假设用户仅在 polygon 上有资产,此时进行私钥重置,是否应该重置 ethereum 上的合约私钥?如果重置,需要高额手续费,如果不重置,后续用户就无法在以太坊上使用账户

  • 初次部署手续费来源问题,需要用户自付或第三方补贴

  • 4337 协议下 bundler 的激励问题

这些理论和实际问题导致 erc4337 钱包的实际采用率并不及人们的预期。

mpc 钱包

mpc 钱包就是将私钥分割成若干份并交由多方保管,当需要签名时,再将私钥拼接起来形成一个完整的私钥再签名;或者各分片分别签名后将签名合并计算成完整签名。mpc 钱包的优势包括:

  • 链上成本低,用户不需要支付额外的钱包合约执行费用

  • 恢复方案灵活,用户可以使用邮箱、手机、密码、云存储等多种方式作为鉴权方式获得恢复分片

  • 平台无关,mpc 钱包不仅支持 evm,而且理论上支持各种区块链系统

但 mpc 同时有个比较大的缺点,就是它必须引入中心化的分片托管和签名服务。他们需要大量的成本来维护分片服务器的信息安全和数据备份,并保证能够及时响应用户的签名请求。这也导致 mpc 钱包的商业模式都是 tob 的 saas,同时用户很难迁移。这也导致应用方往往不愿意把用户绑定在某个 mpc 服务商那边。

跨越鸿沟

想象一下,如果移动设备从未存在过会怎样,人们只能通过昂贵的大型个人电脑来访问互联网。这就是上世纪90年代末的现实。通常,这些计算机连接着实体电话线,有人使用互联网时,电话线就会断开。

因此,如果你想从napster下载最新专辑,并且你只有一个互联网连接的话,你家很可能在这个时候接收不到任何来电。

移动设备打开了网络连接的大门。从2000年到2020年,有30亿人使用移动设备上网。2010年代,有10亿用户加入facebook,他们引起了足够的关注,促进了数字优先经济的发展——在这种经济中,线上商品销售或约会完全通过社交网络进行。

如果互联网没有变得易于访问、经济上负担得起,以及随时随地易于使用,这些平台可能会遭遇与内容电视网络相同的命运:集权、审查,并且内容通常很无聊。移动设备促进了互联网经济。

如今,安全的钱包访问需要你有一个实物设备(比如一个ledger钱包),签署交易,并且要放在一个安全的位置。因此,人们只使用它们来存储高价值资产。passkey钱包更像是移动设备之于互联网。它们不需要很高的前期成本,并且允许用户随时随地使用,例如capsule。passkey技术大大降低了钱包的使用门槛。

推动passkey采用的主要驱动力是fast identity online(fido:线上快速身份验证服务)——已有250多家知名公司使用该标准。知名的密码管理器如bitwarden和lastpass都在使用fido服务。所以,从某种意义上说,这是一种成熟的技术,现在正通过像capsule这样的主体移植到加密生态系统中。

但它们到底是什么,它们是如何工作的呢?就像加密钱包一样,passkey基于一个公钥私钥模型。公钥是网站用来识别你身份的标识符,公钥是公开的。私钥则在你的设备中生成。

当你通过apple pay进行支付或使用面部识别登录设备时,生物识别数据不会离开你的机器。由一个芯片(通常称为secure enclave)来验证信息(比如指纹),对其进行处理,并将结果提供给第三方软件。我可以偷走你的iphone,但这并不意味着我就能访问你的生物识别数据了,因为这些数据永远不会离开secure enclave。

每个应用程序都有一个唯一的密钥对,所以你的google密钥对可能不会在amazon上再次使用。可以把它们看作是设备自动生成的用于登录各个站点的唯一密码。这些密钥通常存储在云中。谷歌和苹果都相应的密钥云存储机制,因此任何使用其操作系统的设备都可以同步登录密钥。

对加密世界而言,这意味着什么?钱包使用私钥来签署交易。还记得我说过你的secure enclave存储你的私钥吗?实际上,你可以使用面部识别或指纹扫描作为签名交易的身份验证机制。加密老用户可能并不会觉得这很酷。但如果你是一款游戏或web3社交产品的开发者,并且你只有不到10秒的时间去吸引用户,那么使用icloud的passkey便是你目前最快的解决方案。

capsule允许我创建一个可以随时访问的钱包,并通过我的移动设备进行指纹扫描或面部识别,方便地验证交易。他们提供软件开发工具包(sdk),使任何开发人员都可以为用户创建新钱包。你使用gmail登录一款capsule产品,就可以立即看到一款随时待命的钱包。

capsule等钱包提供商整合了像stripe这样的入金方案。因此,用户只需在启动钱包后使用apple pay就可以持有eth(支付gas)。这样一来,以前需要几个小时才能完成的过程被缩短至几分钟。不用再为铸造nft而与不透明的离岸交易所扯上关系。但是如果用户丢失了他们的密钥怎么办?

这就是多方计算(mpc)的用武之地。这听起来有点像账户抽象,但概念有所不同。

mpc是一种加密密钥的生成管理机制。顾名思义,参与创建和存储私钥的有多方,而其中任何一方都不知道其全部内容。实际上,没有一个人可以访问密钥,但是如果一个人丢失了密钥的一部分,另外两个人可以帮助恢复访问。

例如,在支持capsule的钱包中,密钥是由用户和capsule的输入生成的,而其他各方都不知道这些输入的具体内容。此设置对于密钥丢失和用户失去访问权限时的权限恢复非常有用。然而,如果其中任何两方合作,他们就可以签署交易。当用户失去访问权限时,此设置对于恢复密钥特别有用。

我已经解释了它是如何工作的,现在我们可以讨论它能实现什么以及为什么它让我这么感兴趣。capsule提供的sdk允许用户创建一个可以跨多个产品使用的钱包。例如,当你在metamask上为uniswap和aave使用相同的钱包时,两个应用程序都可以与相同的地址进行交互来查询和执行交易。

在批准一项贷款之前,aave可以查验你的钱包余额,你可以使用uniswap的流动性提供商(lp)代币作为另一个平台上的贷款抵押品。跨平台资产的互操作性是web3的核心原则。一直以来,实现这种互操作性需要用户拥有自己的带有助记词的钱包。在不同设备间移植互操作性是非常让人痛苦的。

通过允许用户使用更传统的身份验证形式签署交易或管理钱包,capsule抽离了这些痛苦。

你可以使用谷歌账户登录,在多个产品中使用同一个钱包。有人可能会说,使用metamask的任何人都可以使用这个功能,但大多数用户都不熟悉助记词或保护助记词的安全。然而,他们熟悉使用谷歌、twitter或苹果的登录系统。用户只需点击一个按钮就可以创建一个钱包,这可能就是用户留存和流失之间的区别。

这里需要注意的另一个因素是,电子邮件链接或嵌入式钱包本身并不新鲜。这一市场领域有很多个服务提供商。

有意思的是,你如何在不同的产品中使用相同的验证表单——比如,一个x handle或一个gmail登录。互操作性是独一无二的。

在过去,如果你使用电子邮件(比如joel@decentralised.co)在一个去中心化交易所启动一个钱包,然后试图在另一个产品(比如借贷产品)上做同样的事情,你会有两个不同的钱包。所以,任何类型的可组合性(或跨应用程序交互)都无从谈起。capsule帮助在web2原生身份验证系统之间移植资产和身份,其sdk让任何开发人员都可以仅凭几行代码将其集成到产品中。

capsule给钱包领域带来的另一项改进就是可编程交易,支持某些条件下的自动交易。

例如,假设你想让一个持有usdc的钱包在每次eth价格跌至2000美元以下时从uniswap购买价值100美元的eth。在过去,你必须将全部100美元存入一个中心化交易所(如币安),或者手动跟踪该资产的价格走势。

有了可编程交易,这个过程就容易多了。像velo data这样的产品可以传递变量(在本例中为eth的价格)来验证交易。用户做选择,当满足eth低于2000美元的条件时,capsule就可以签署交易。

拥有跨各方执行交易所需的签名可以实现可编程性。你可以为通过uniswap交易资产设置先决条件,而无需用户参与—这就类似于在登录应用程序时用于交易的if-then语句。

例如,链上保险产品可以从提供天气数据的oracle查询数据,并从多个用户资助的资金池中进行支付。一个使用谷歌查询数据的预测市场也可以为体育赛事付费。更好的是,你可以将apple watch与预设钱包连接起来,这样如果用户错过了当天的锻炼,就会自动把钱转给朋友。

在所有这些情况下,capsule为开发者提供的独特优势是它永远不会让用户为助记词而烦恼。用户可以打开钱包,购买10美元的eth,使用他们的gmail账户登录押注体育赛事市场,并通过stripe使用sdk购买eth。

这里的设计空间仅受限于产品可查询的数据类型和capsule基于数据解释和签署交易的能力。但是,这种模型对于更主观的数据或交易需求可能不太有效。

不止于交易

这有什么重要的?我可以举个例子来解释。最近,capsule与r/datadao合作,让用户能够将数据从reddit移植到dao。简单来说,该产品允许用户将他们的数据从reddit导出到datadao(由commonwealth运行),用来训练大语言模型(llm)。这样的一个系统需要简单的登录模型,该模型可以处理电子邮件地址,并与像commonwealth这样的web3原生产品交互。

r/datadao的dao由一个名为commonwealth的工具管理。因此,当用户设置钱包(使用reddit)然后登录到commonwealth时,他们可以使用他们从reddit获得的积分(或代币)对commonwealth管理的dao进行投票。capsule允许用户使用x handle、discord或谷歌账户生成的钱包注册datadao,并使用他们的积分对common构建的系统进行投票。完成这些步骤只需要几秒钟。

一个更贴切的例子是,优步司机可以按照他们在优步账户上的里程比例来管理dao。对这些用例的支持一部分来自于zktls提供的工具。

capsule面向web3新用户拓展市场的另一种方式是通过预生成钱包。也就是说web2产品可以让用户在登录产品时启动钱包,并且钱包里已有资产。

例如,如果我想让迪拜一家跑步俱乐部最活跃的成员加入一个产品,我可以预先生成与他们的twitter账户相关联的钱包,加载nft为他们提供鞋子等商品的折扣,然后私信他们让他们加入社区。

现在,我并不完全确定有多少人符合以下条件:

  • 生活在迪拜
  • 跑步
  • 在twitter上很活跃
  • 使用nft访问社区

然而,我的观点是,这样的工具可以用来引导web2社区使用web3原语。如果用户没有回复我的私信怎么办?我可以使用预编程交易,在特定时间点后将nft发送回申领钱包。就好比折扣有一定期限一样。

这为全新的应用程序开辟了设计空间。最容易获得的一个机会可能是内容本身。目前,我们在substack上写作,因为它允许我们通过电子邮件与读者联系。如果我们需要铸造一个nft,我们最好的选择是paragraph、mirror或farcaster frame。假设capsule sdk允许创建一个web3原生出版物,可以让用户生成文章并发送到自己的电子邮件地址。

事实上,我们甚至可以使用op(optimism)代币预加载连接我们最活跃的读者的钱包,这样他们就不必通过桥接资产来铸造nft了。这个流程看起来就像下面这样。

上图左侧,我使用metamask之类的东西解释了今天在mirror上铸币的步骤;右侧,我解释了使用capsule sdk会是什么样子。

这意味着一个产品可以使用传统的分销渠道(如电子邮件)重新激活用户,同时在web3支付轨道(如稳定币)上与他们互动。

就像capsule提供的工具一样,工具似乎是连接当前市场和未来十年可能存在的市场之间的桥梁。在我看来,它们是介于web2产品的易用性和便利性与web3原生构建原则的安全性、托管和定制性之间的完美的中间地带。

passkey 钱包产品分析

passkey 钱包的三个方向

我们分析了目前市场上存在的 passkey 钱包,发现他们主要分为三个技术方向。

  • aa + passkey 签名验证方案,以 clave 和 banana sdk 为代表

  • 中心化委托鉴权方案,以 turnkey 为代表

  • signature transform 方案,以 joyid 为代表

下面我们就逐一对它们做介绍和分析。

clave & banana sdk

第一类钱包采用 aa + passkey 签名架构,在 evm 兼容链上构造一个抽象账户,直接使用智能合约验证 passkey 签名。这里介绍两个代表性的项目。

clave 最早是一个在 ethglobal hackathon 2023 上获奖的项目,参赛的时候项目名叫 opclave。它使用 evm 合约计算 passkey 需要的 secp256r1 签名(不是通常的 secp256k1),由于算法复杂度和 evm 能力的限制,验证一次 passkey 签名需要消耗 60万~90万 gas。这对于真实场景,至少 mass-adoption 场景是不可接受的。因此 clave 计划采取单独起一条 layer3 链,并在上面加入预编译 secp256r1 签名验证合约的方式降低 gas 消耗。但这种方式又严重破坏了钱包的多链特性,因此很难普及。

banana sdk 则把自己定位为一个 tob 的 sdk 而不是 toc 的钱包。通过 banana sdk,dapp 方可以把低门槛钱包嵌入到任意地方,方便用户导入。但它的底层方案和遇到的问题和 clave 相同,高昂的 gas fee 是这类产品走向实用的最大障碍。

为了解决 passkey 签名在以太坊上验证的成本问题,开发者们提出了 eip-7212 等以太坊提案,希望 evm 内置预编译的 secp256r1 签名验签算法,从而大幅降低验签成本。但该 eip 涉及底层密码学和共识层修改,即使能够获得通过,并合到主网时间也会以年来计算。clave 目前和 zksync 合作,将 eip-7212 代入 zksync,并主要部署在上面。

此外,类似采用 aa + passkey 链上验签的项目还有一些其他的方案,包括使用零知识证明减少链上计算的方案,例如 knownothinglabs 用 halo2 、bonfire wallet 用 risc0 bonsai。不过大部分产品都仅存在于产品原型阶段,暂时没有可以进一步分析的产品。

turnkey

考虑到智能合约验证 passkey 签名的成本问题,turnkey 等开发者把 passkey 的验证放到了链外,改由中心化服务验证用户的 passkey 签名,验签成功后控制加密机生成签名。这种方案本质上就是 web2 使用 passkey 的方式,将用户名密码替换成了公私钥对,但最终鉴权决策还是中心化服务器给出。

turnkey 自己的定位是 tob 的 waas 服务,其优势是开发工具非常完整,开发者体验很好,同时生态支持做得也很好。目前已经有多家合作方在开发产品,例如 dynamic.xyz 基于 turnkey 提供了 toc 的钱包服务,用户体验良好。

但 turnkey 的问题也很突出,就是它本质上管理了用户的钱包私钥(尽管它的文档反复强调自己是非托管,理由似乎是私钥在服务器的 tee 环境,而管理员并不能直接访问 tee),并且商业模式是 tob 的 saas 服务,一旦服务下线,用户就面临无法签名的问题。

joyid

joyid 钱包从技术上走的是一个独特的路线,称为 signature transform。joyid 钱包本身支持包括以太坊、比特币、solana 等多链,并且在这些链上表现为标准的 eoa 钱包,同时它通过在 nervos ckb 上的 aa 账户对自己的密钥和授权设备做去中心化管理。这是一种非常特殊的架构,它同时具备 aa 账户的灵活性和 eoa 账户的低成本和高兼容性。

joyid 管理的 aa 账户主要负责多设备之间的 passkey 互相授权,并且保存 2-of-2 密钥计算的加密后的分片,另一个分片则由设备在签名时通过 passkey 实时计算出,通过这种方式来实现 secp256r1 → secp256k1 之间的去中心化签名转换。这种方案在交易签名时不需要服务器介入,完全是在用户设备侧基于安全芯片的签名,确保了安全性、去中心化和非托管。

实际产品体验上,joyid 的整个流程非常丝滑流畅,用户不需要输入任何信息,直接两次系统认证即可完成钱包创建。全程只需要几秒钟时间,中间也不需要支付任何费用。目前看是所有 passkey 钱包中最完善,也是最成熟的方案。

web3 钱包的未来

总结一下 passkey 钱包的优势:免安装、硬件级安全、生物识别认证、无须助记词、可随时恢复、无须密码、无须提供隐私信息、不依赖 web2 大公司、eoa 兼容性高(部分钱包支持)等。对比传统的 metamask 插件钱包、助记词钱包,其用户体验甚至安全性的提升都是巨大的。甚至其用户体验已经超越了一个 web2 账户的注册使用体验,后者不但需要用户提供邮箱、手机号,还需要通过验证码验证。

新的用户体验将带来新的用户,进而也将催生新的应用场景。音乐 nft、创作者经济、open loyalty、dao 等 web3 应用过去受限于主流钱包用户的投机属性,往往无法专注自己的有价值业务。海量非投机用户进入后,这些应用场景可以发挥自己的真正优势,为客户提供长期价值。

未来 web3 钱包的格局很可能像是微信支付和支付宝的关系。用户通过支付宝使用金融服务,通过微信使用日常的小额支付。对应 web3 钱包大家会使用硬件钱包或者助记词钱包进行 defi 业务和资产存储,使用 passkey 钱包进行日常 dapp 交互和小额支付。期待 passkey 钱包普及并带来真正的大规模用户。

以上就是代码网小编给大家分享的passkey是什么?passkey钱包及其未来设想的详细解读了,希望大家喜欢!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com