再谈多重签名与 MPC

news2025/4/17 13:29:55

mpc-钱包-多方计算-fireblocks-机构钱包-coinbase-copper-fordefi-mpc-技术-solana-mpc-multisig

目录

什么是 MPC 钱包以及它们是如何出现的

多重签名和智能合约钱包已经成熟

超越 MPC 钱包

关于小队


多重签名已经成为加密货币领域的一部分,但近年来,随着 MPC(多方计算)钱包的出现,多重签名似乎被掩盖了。MPC 钱包之所以受到欢迎和采用,很大程度上是因为当它们出现时,可用的替代方案有限,而且多重签名被认为不够先进,尚未完全开发。然而,这种情况已不复存在,因为多重签名和智能钱包现在正在迅速改进,提供相同的功能和用户体验。

虽然我们之前已经广泛讨论过Multisig的主题,但本文将深入研究 MPC,并解释为什么我们认为它只是一个临时解决方案,直到 Multisigs 等更安全的选项能够得到改进和优化。

对于希望交易加密资产的机构投资者或高净值个人,MPC 和 Multisig 是最常推荐的两种解决方案。虽然乍一看这些选项似乎提供了类似的功能,但本文的目的还在于介绍 MPC 钱包的隐藏权衡,这些权衡会给用户带来额外的风险。相比之下,Multisigs 和智能钱包正成为更安全、更可靠的替代方案。

什么是 MPC 钱包以及它们是如何出现的

“MPC” 代表多方计算。一般来说,MPC 允许两方(或多方)共同生成结果(如交易签名),而不会向对方透露其私人信息。

在加密领域,MPC 的概念最初是为了增强钱包的安全性而提出的。传统的加密钱包只有一个私钥,如果被盗,未经授权的人就可以访问和转移钱包中的资金。为了降低这种风险,MPC 技术将私钥分成多个部分,称为份额/碎片,这些部分分布在多方之间。没有一方拥有完整的密钥,只有当这些参与方中预定义的最小数量的人聚集在一起重新创建密钥时,交易才能获得授权。
 

mpc 钱包的工作原理与多重签名传统钱包的比较-mpc 密钥共享-fireblocks-coinbase-fordefi-mpc 技术-多方计算与多重签名技术

MPC 钱包的出现可以追溯到 2018 年左右加密行业的增长以及对安全加密钱包的日益增长的需求,尤其是对于机构和高净值投资者而言。首批采用 MPC 技术的公司这样做的目的是提供比单密钥钱包更安全的托管解决方案,同时还保留能够在比特币和以太坊等任何区块链上执行交易的便利性。

最早在钱包技术中提出并实施多方计算 (MPC) 的公司之一是 Curv,时间是 2018 年(后来被 PayPal 于 2021 年收购)。当时,以太坊才刚刚开始成为与比特币并驾齐驱的潜在“可行”区块链,但它还没有准备好容纳智能钱包或开发多重签名,账户抽象也没有像今天这样成为每个人关注的焦点。Safe(前身为 Gnosis Safe)于同年晚些时候推出,现在是以太坊上领先的多重签名。然而,它是全新的,无法满足当时需要更先进技术的机构的需求。

Curv 的出现吸引了许多机构投资者对加密货币的投资,例如富兰克林邓普顿。这导致了其他 MPC 提供商的发展,例如 ZenGo 和 Fireblocks,它们在大约同一时间推出了自己的解决方案。另一方面,由于技术限制(当时智能钱包甚至还没有概念),多重签名尚未准备好被广泛采用——如果机构和组织想要一种安全的方式来交易和与加密资产互动,他们别无选择,只能使用 MPC 钱包进行运营。

如今,市场由 Fireblocks、Copper、BitGo、Coinbase Prime 和 Ceffu (Binance) 主导,所有这些提供商都在其钱包中采用了 MPC 技术。由于这项技术没有标准化的框架,因此每个提供商都构建了具有特定功能的独特解决方案。大多数 MPC 提供商都使用阈值签名方案 (TSS),这是一种链下协议,当与 MPC 结合使用时,可确定需要使用多少密钥份额来签署交易。这允许用户/服务提供商在设置 MPC 钱包时自定义其配置。
 

MPC 钱包类型 - 多方计算 - 集中式 - 混合式 - Fireblocks - Coinbase - MPC - Copper - Fordefi - 机构钱包 - Tap

通常,MPC钱包分为两种类型:

  1. 集中式 MPC:在此,单个组织在安全、隔离的云环境中保留对所有关键部分的控制。集中式交易所或托管服务提供商等机构通常使用此模型。尽管其运营效率高,但它可能会将资产暴露于内部漏洞和单点故障。

  2. 混合 MPC:在此设置中,密钥份额的责任由用户、服务提供商和另一个第三方分担。这种控制分散旨在限制将所有密钥完全信任给单个集中实体的必要性。尽管它可以提供更高的安全性,但它仍然需要一个集中方来安全地分发、监督和使密钥片段无效。

虽然在机构和高净值投资者采用加密货币的早期阶段,所有可行的解决方案都倾向于 MPC,但时代确实发生了变化。是的,多重签名技术最初在产品 / 功能和区块链兼容性方面有所欠缺,但那都是历史了。以太坊已经成熟,超越了其作为“可行”区块链的最初潜力,其社区和生态系统参与者(如 Safe)一直在努力改进自我托管解决方案。围绕账户抽象的多项举措也使合约 / 可编程账户更易于使用,也更易于多重签名操作。其他区块链(如 Solana)也已上线,具有与智能钱包更好的兼容性,甚至绕过了多重签名和高级钱包在 EVM 上面临的一些技术障碍。

总体而言,值得注意的是,受欢迎程度并不一定意味着优越性。虽然 MPC 在过去满足了需求,并且是一种不错的短期解决方案,但更好的替代方案已经成熟。如果您追求的是灵活性,那么 MPC 是一个不错的选择。然而,在安全性方面,有许多原因可以解释为什么 Multisig 和智能钱包比 MPC 更出色,并且提供了更好的解决方案,特别是对于安全性至关重要的机构而言。

多重签名和智能合约钱包已经成熟

与 MPC 不同,MPC 中单个密钥被分成几个部分,每个部分由不同的一方管理,而在 Multisig 设置中,每个参与者都有自己的私钥。要授权交易,需要获得预定阈值中最少数量的参与者的批准。

长期以来,多重签名由于其复杂性和技术限制而未得到广泛使用。以太坊虚拟机并未完全支持它们,并且在尝试与网络交互时面临挑战。多重签名无法自行发起交易,而多重签名解决方案必须找到解决方法才能使其工作。但自 2018 年以来发生了很大变化,ERC-4337 等新标准的实施使多重签名和创新加密钱包(智能钱包)能够与以太坊和 EVM 链完全集成。在 Solana 上,多重签名和智能钱包的格局有所不同,因为它是具有新颖虚拟机 (VM) 和编程模型的全新区块链。这种环境要求开发人员花时间深入了解如何构建此类解决方案。随着生态系统的成熟,Solana 多重签名解决方案迅速发展,其中 Squads 是主要参与者。

智能(合约)钱包正在成为下一代加密钱包,它不是建立在简单的用户账户上,而是建立在智能合约/程序之上,为用户提供比传统钱包更好的安全功能。多重签名可能是智能钱包最著名的例子。由于是可编程账户,它们可以让用户做很多事情,而 MPC 等链下解决方案如果不依赖中心化实体就无法做到。由 Squads Labs 开发的Fuse将成为 Solana 上第一个具有这些独特功能的机构级智能钱包。
 

与 MPC 架构相比,智能钱包的设计完全在协议层上,无需依赖任何中心化实体来管理和保护资产。虽然存在一些挑战,例如跨链兼容性或与 dApp 的完全兼容性,但我们相信从长远来看,这些挑战并非不可克服。值得耐心等待,而不是急于采用 MPC 这样的临时解决方案。此外,智能钱包的功能和用户体验已接近 MPC 钱包,同时在安全性和去中心化方面已经超越了 MPC 钱包。

此外,完全链上并基于智能合约/程序构建具有许多 MPC 无法比拟的优势。智能钱包可以轻松执行可变操作来更改其操作设置,从而实现管理灵活性。每个用户或组织都可以控制其钱包的规则和功能。相反,MPC 钱包通常带有一组预定义的功能,并且不提供相同级别的自定义。
 

智能钱包-多重签名-与-mpc-钱包-哪个更好-优点和缺点-mpc-与智能合约钱包-solana-mpc-多重签名

总体而言,经过数年开发多重签名技术,我们认为基于多重签名功能构建的智能钱包比 MPC 解决方案更安全,原因如下:

透明度:一切都在链上进行,这消除了交易过程中的任何歧义。这与 MPC 形成鲜明对比,在执行交易的许多步骤中,用户无法知道发生了什么(因为一切都是在链下完成的),密钥的哪些部分签署了交易,最终导致问责问题;

不依赖中心化方:从创建到添加成员、设置阈值和执行交易,智能钱包不需要信任中心化实体来管理和保护资产。这与 MPC 设置截然不同,后者本质上需要受信任的中心化方来保护一个或多个密钥共享。这种对密钥共享的依赖需要复杂且受信任的云基础设施,并且可能带来内部威胁等风险。这些漏洞可能会导致密钥共享的暴露,最糟糕的是,攻击者完全控制您的资产;

安全密钥撤销/轮换:这是 MPC 解决方案的最大风险 - 在设置门限签名方案 (TSS) 时,此部分是不可变的,将来无法更改。这意味着,如果组织内的某个人需要从设置中移除,您要么需要信任他们会归还其份额并且将来不再使用它,要么您的组织必须切换到新的 MPC 钱包以消除任何风险。相比之下,智能钱包允许从 Multisig 程序中真正撤销任何成员;

可编程:由于 MPC 是链下技术,并且具有许多不可变的功能(如阈值或密钥撤销),因此与智能钱包相比,它所能提供的功能有限。智能钱包可以实现任何可以在智能合约/程序中编码的功能;

安全逻辑久经考验:Multisig 技术已经经过多年的实战考验,Safe 是以太坊上最显著的例子,存储了 400 亿美元以上的资产,而 Squads 则是 Solana 上最大的团队所使用的。这与 MPC 解决方案非常不同,MPC 解决方案涉及复杂的算法,没有标准化的实现。大多数当前的 MPC 实现都是专有的,公众监督有限。这种缺乏透明度的情况使得很难验证这些解决方案的安全性和有效性。

至于隐私,Solana 即将让开发人员能够在协议级别匿名化部分代码,这要归功于零知识 (ZK) 层解决方案,例如Light Protocol或用于私人传输的Elusiv。这种设计非常出色,因为用户可以设置自己的私人 Multisig/Smart Wallet 并知道哪些部分是匿名的。相比之下,使用 MPC 解决方案,这些方面默认情况下对每个人都是模糊的。

超越 MPC 钱包

vitalik-buterin-mpc 与多重签名智能合约钱包是唯一的选择-vitalik-quote-tweet-mpc 钱包很糟糕-多重签名安全小队

虽然 Safe 和 Squads 等多重签名协议完全在链上,开源且经过形式化验证,但 MPC 解决方案则完全相反,本质上不透明。MPC 背后的算法在数学上很复杂,很难正确实施。它们通常需要密码学和软件工程方面的专业知识。即使是实施过程中的轻微错误也会导致严重的安全漏洞,例如 GG18 和 GG20 中发现的私钥信息泄露,Fireblocks等主要 MPC 提供商在 2019-2021 年间使用了这两个算法。

最近,Multichain 事件也凸显了实施 MPC 技术的运营风险。Multichain 的所有 MPC 节点实际上都是在公司首席执行官的个人云服务器帐户下运行的。当首席执行官被捕时,运营帐户的所有访问密钥都被撤销,这意味着团队中没有人可以访问平台内持有的资金。

尽管 MPC 技术在灵活性方面具有一些优势,并且一些底层解决方案(例如钱包即服务提供商)非常适合大规模引入大量用户(与用于管理大量加密资产的解决方案相比,安全性风险较小),但截至目前,MPC 解决方案还不完全适合成为保护大量资本的权威基础设施。它们权衡了各种因素,以实现便利性。此外,与已广泛标准化的 Multisig 技术不同,MPC 的实现在提供商之间差异很大。这种标准化的缺乏使得彻底审查和审计 MPC 解决方案变得更加困难,从而增加了未被发现的漏洞的风险。

展望未来,我们预计 MPC 提供商将开始将 Multisig 技术的元素纳入其解决方案中,以减轻这些风险。通过结合两种技术的优势,将有可能创建更安全、更强大的数字资产托管解决方案。然而,在这一演变完成之前,团队和机构必须意识到纯 MPC 解决方案所涉及的风险,并仔细考虑这些风险是否可以在其特定用例下接受。另一方面,智能钱包正在迅速改进并缩小与 MPC 产品的差距,同时保留持有加密资产的最高安全措施。

本文是智能钱包介绍的第一部分。第二部分将介绍我们对智能钱包的愿景,以及新一代加密钱包将如何改善整个行业的加密托管。

关于小队

Squads 是一个加密公司运营平台,可简化基于 Solana 和 SVM 构建的团队对开发人员、创建者和财务资产的管理。开源、经过形式验证、不可变的 Squads 使团队能够通过多重签名保护其链上资产并共同管理它们。

了解更多

什么是 Squads:Introducing: Squads - Squads Blog 

Squads 协议:https ://squads.so/blog/solana-svm-smart-contract-wallet-infrastructure

代码:https ://github.com/Squads-Protocol/squads-mpl

为什么要使用 Multisigs:https ://squads.so/blog/what-are-multisig-wallets

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2257423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT 中基于 TCP 的网络通信

基础 基于 TCP 的套接字通信需要用到两个类: 1)QTcpServer:服务器类,用于监听客户端连接以及和客户端建立连接。 2)QTcpSocket:通信的套接字类,客户端、服务器端都需要使用。 这两个套接字通信类…

数值分析—数值积分

研究背景 积分的数学解法为牛顿莱布尼兹公式,数学表示为 ∫ a b f ( x ) d x F ( b ) − F ( a ) \int_{a}^{b} f(x)dxF(b)-F(a) ∫ab​f(x)dxF(b)−F(a),但应用该方法有如下困难: 1, f ( x ) f(x) f(x)的原函数有时不能用初等函…

如何配置Github并在本地提交代码

前提: 可以流畅访问github, 需要一些上网技巧, 这就自行处理了 申请一个github账号 Github官网地址 首先就是邮箱注册啦, github没有对邮箱的限制, 只要是能收邮件的就ok, qq邮箱, 163等都可以使用. 然后和普通注册账号一样, 一路填写需要的信息, 验证邮箱即可. 如何新增代…

Unity控制物体材质球的改变

Unity控制物体材质球的改变 1.前言2.示例单个材质球的获取和更改多个材质球的获取和更改 1.前言 材质球其实就是一个数组&#xff0c;有的只有一个&#xff0c;有的却有多个 2.示例 单个材质球的获取和更改 private Material m_material;m_material GetComponent<Render…

一些硬件知识【2024/12/6】

MP6924A: 正点原子加热台拆解&#xff1a; PMOS 相比 NMOS 的缺点&#xff1a; 缺点描述迁移率低PMOS 中的空穴迁移率约为电子迁移率的 1/3 到 1/2&#xff0c;导致导通电流较低。开关速度慢由于迁移率较低&#xff0c;PMOS 的开关速度比 NMOS 慢&#xff0c;不适合高速数字电…

数据结构排序算法详解

数据结构排序算法详解 1、冒泡排序&#xff08;Bubble Sort&#xff09;2、选择排序&#xff08;Selection Sort&#xff09;2、插入排序&#xff08;Insertion Sort&#xff09;4、快速排序&#xff08;Quick Sort&#xff09; 1、冒泡排序&#xff08;Bubble Sort&#xff09…

【CKS最新模拟真题】获取多个集群的上下文名称并保存到指定文件中

文章目录 前言一、TASK二、解题过程1、问题一解题2、问题二解题 前言 月底考CKS,这是最新版的CKS模拟题 环境k8s版本ubuntu1.31 考试期间允许访问的资源地址&#xff0c;支持将英文翻译为中文文档 文档地址kubernetes文档https://kubernetes.io/docs https://kubernetes.io…

Linux上的C语言编程实践

说明&#xff1a; 这是个人对该在Linux平台上的C语言学习网站笨办法学C上的每一个练习章节附加题的解析和回答 ex1: 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后运行它看看发生了什么。 vim ex1.c打开 ex1.c 文件。假如我们删除 return 0…

Fastadmin地图插件在表单中的使用

表单中实现地图选择获取经纬度 1.Fastadmin后台安装地图选择插件地图位置(经纬度)选择插件 - 支持百度地图、高德地图、腾讯地图 – 基于ThinkPHP和Bootstrap的极速后台开发框架 2.腾讯地图开放平台后台创建应用创建KEY&#xff0c;配置逆地址解析额度。插件配置中配置腾讯地图…

Java项目实战II基于微信小程序的电子竞技信息交流平台的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着互联网技术的飞速发展…

计算机网络期末常见问答题总结

1、试说明为什么在运输建立时使用三报文握手&#xff0c;如果不采用三报文握手会出现什么情况&#xff1f; TCP三次握手的目的是确保客户端和服务器都能够接收对方的连接请求,并建立起可靠的连接。如果只进行两次握手,可能会导致以下情况的发生: - 如果客户端发送的SYN包在网…

kubesphere搭建 postgres15

创建configMap POSTGRES_PASSWORD数据库密码 PGDATA数据目录 创建【有状态副本集】工作负载 1.创建基本信息 2.容器组设置 配置环境变量 3.存储设置 完成之后点击下一步 配置服务 创建服务 配置基本信息 配置服务信息 外部访问选择nodePort&#xff0c;然后点击…

【55 Pandas+Pyecharts | 实习僧网Python岗位招聘数据分析可视化】

文章目录 &#x1f3f3;️‍&#x1f308; 1. 导入模块&#x1f3f3;️‍&#x1f308; 2. Pandas数据处理2.1 读取数据2.2 查看数据信息2.3 去除重复数据2.4 调整部分城市名称 &#x1f3f3;️‍&#x1f308; 3. Pyecharts数据可视化3.1 招聘数量前20岗位3.2 各城市招聘数量3…

/usr/local/go/bin/go: cannot execute binary file: Exec format error

现象&#xff1a;ubuntu中安装go软件环境&#xff0c;报上述错误 原因&#xff1a;系统与软件不适配 解决&#xff1a;查看本系统的版本 找到x86-64对应的go版本即可

记录模板学习(持续更新)

目的&#xff1a; 学习C模板的编写&#xff0c;使用模板类包装一个可调用对象 可调用对象包括&#xff1a;普通函数&#xff0c; lambda表达式&#xff0c; 类成员函数 可以参考到QtConcurrent::run的实现&#xff0c;可以看到这个函数有非常多重载&#xff0c;其中可以接受类…

从0开始边做边学,用vue和python做一个博客,非规范化项目,怎么简单怎么弄,跑的起来有啥毛病解决啥毛病(三)

基础的内容都差不多了&#xff0c;开始研究文章详情页的内容设计&#xff0c;程序员嘛肯定要用markdown编辑了&#xff0c;找了一些发现这个md-editor看着还不错&#xff0c;文档介绍页比较清晰&#xff0c;用着也比较简单。 md-editor安装配置使用Mock.js模拟请求接口mock.js …

Android 逆向/反编译/Hook修改应用行为 基础实现

前言&#xff1a;本文通过一个简单的情景案例实现安卓逆向的基本操作 一、情景描述 本文通过一个简单的情景案例来实现安卓逆向的基本操作。在这个案例中所使用的项目程序是我自己的Demo程序&#xff0c;不会造成任何的财产侵害&#xff0c;本文仅作为日常记录及案例分享。实…

从0开始深度学习(35)——YOLO V5原理详解

以YOLO V5s为例&#xff0c;介绍YOLO V5的网络结构&#xff0c;以及其中具体的功能模块 1 YOLO V5的整体网络结构 YOLO V5网络结构分为四个部分&#xff1a; 输入端&#xff1a; 输入端负责对输入图像进行预处理&#xff0c;包括数据增强、锚框计算等。骨干网络&#xff08;Ba…

云计算vspere 安装过程

1 材料的准备 1 安装虚拟机 vmware workstation 2 安装esxi 主机 3 在esxi 主机上安装windows 2018 dns 服务器 4 在虚拟机上安装windows 2018 服务器 6 安装vcenter 5 登入界面测试 这里讲一下&#xff0c;由于部署vspere 需要在windows 2012 服务器上部…

微信小程序中使用miniprogram-sm-crypto实现SM4加密攻略

在微信小程序开发过程中&#xff0c;数据安全至关重要。本文将为大家介绍如何在微信小程序中使用miniprogram-sm-crypto插件进行SM4加密&#xff0c;确保数据传输的安全性。 一、SM4加密简介 SM4是一种对称加密算法&#xff0c;由国家密码管理局发布&#xff0c;适用于商密领…