当前位置: 首页 > news >正文

细分数字货币钱包的不同种类

文章目录

  • 一、中心化钱包
    • 1.1 中心化钱包架构
    • 1.2 中心化钱包业务细节流程
  • 二、去中心化钱包(HD 钱包)
    • 2.1 去中心化钱包架构
    • 2.2 去中心化钱包细节业务流程
  • 三、硬件钱包
    • 3.1 硬件钱包架构
    • 3.2 硬件钱包细节业务流程
  • 四、MPC 托管钱包
  • 五、多签钱包

  • 中心化钱包 :钱包私钥一般管理在中心化服务器上,代表项目为交易所钱包;例如 Binance 交易所钱包,okx 交易所钱包和 bybit 交易所钱包等。
  • 去中心化钱包(确定性分层钱包) :钱包私钥一般管理在用户的设备上,代表项目为 TP, ImToken, MetaMask 等。
  • 硬件钱包 :钱包私钥管理在离线的硬件设备上,代表项目 ledger, onekey 等。
  • 交易所 Web3 钱包: 一般的交易所 Web3 钱包集成了,中心化钱包,去中心化钱包(确定性分层钱包)和硬件钱包的功能。
  • 托管钱包: 一般为 MPC 算法,每个节点有一个密钥片,网络中没有完整的私钥出现过, N-M 的签名方式,总节点为 N 个,M 个节点签名交易即有效。
  • 多签钱包: EVM 链一般使用 gnosis safe 多签,其他使用传统密码学方式多签。
  • 社交恢复钱包: 密钥分片备份和守护者恢复。
  • EVM 链 AA 钱包: ERC4337 协议独有特性。

一、中心化钱包

1.1 中心化钱包架构

交易所使用的钱包一般都称为中心化钱包,原因是交易所钱包私钥一般管理在中心化服务器上,不同的交易所的私钥管理方式也不一样。

最简单的方式莫过去将私钥做一层 DES 加密之后存储在数据库或者 wallet.data 数据文件中,其次是使用 KMS 环境保存加密的私钥,不管是使用数据文件或者 KMS 保存私钥,交易签名的时候都需要解密私钥之后进行签名,私钥暴露的风险最大,团队成员作恶也非常容易。

其次是 Tee 环境,Tee 环境虽然是一个安全的执行环境,但是私钥也是加密之后存储在这个环境的数据库或者文件里面,每次签名也要在这个环境中解密私钥进行签名,私钥暴露的风险也很大,团队成员想拿到私钥也很容易,只需要签名前传人私钥是打一个日志就行。

最安全和最专业的做法是使用 cloadHSM 或者多节点备份的小型签名机,私钥不会离开设备,需要签名的时候,传入待签名的报文,cloadHSM 或者小型签名机签名结束之后返回签名报文,然后整理签名交易报文发送到区块链网络。

不管是使用数据库、数据文件、 KMS、TEE,还是 CloadHSM,安全级别也是相对的,有一句话说得好: “外贼易挡,家贼难防”,这句话用在钱包管理上真的是太正确了。不管用什么方案,即使是 CloadHSM 或者小型机方案,“家贼也是很难防”,家贼完全可以模拟一笔合法的交易让 CloadHSM 或小型机方案签名,然后把钱盗走。为了防止家贼,正常的交易所钱包都要做链路风控体系。

从上面的架构图中,我们可以看到, 对于交易所钱包来说,通常有这些业务流程:

  • 批量地址生成
  • 充值
  • 提现
  • 归集
  • 热转冷
  • 冷转热
  • 链路风控

很多公司钱包开发,一般就是一个人负责整条链钱包的调研(离线地址生成,离线交易签名和扫块出入金),开发(含充值,提现,归集,热转冷等功能开发,甚至含链路风控的一部分代码)和测试。当然,也有的公司分为三到四团队,调研和离线签是一个团队,扫链出入金,归集和转冷等功能是一个团队,链路风控是一个团队,测试是一个团队。不管怎么分,运维和开发是隔离的,这样做才能做大限度做到人为风控。

1.2 中心化钱包业务细节流程

批量地址生成: 交易所钱包为了性能和快速响应用户,所有交易所钱包都会有一个地址池,地址池里面每次生成成千上万的地址,当用户注册到交易所的时直接给用户分配地址,而不是去生成;当地址池里面的地址少于一定数量时就会去新生成一批。

充值: 扫链服务扫区块链,解析区块里面的交易数据,当交易数据里面的 to 地址是系统里的用户地址时,就说明有用户充值;充值这个过程除了钱包充值扫块之外,还会和风控一起联合,只有风控系统和钱包都认可这笔交易,才会通知业务层;解析的时候需要注意有人构造恶意交易,有的链是可以构造交易攻击的。

提现: 客户端用户输入要提现的地址,金额,链;这些数据将进入交易所业务层,业务层提交数据给钱包,并建立签名参数风控;钱包拿到交易数据之后先验证是否能过风控,没有问题的去链上获取签名参数,组织交易之后生成待签名的交易报文,将交易报文递给签名机,签名机签名之后返回签名的交易报文,钱包服务组织交易之后发送到区块链网络。交易发送完成之后,定时任务需要不断获取这笔交易在链上的详情,然后验证风控,通过之后通知业务层提现成功,上报交易 Hash 等信息。

归集: 归集功能是把用户地址里面的资金全部归集到一个其它地址里面去,归集是一个批量转账的过程,和提现的逻辑比较类似,就是业务类别不一样。

转冷: 将归集地址里面的资金转到一个冷钱包,归集是一个单笔转账的过程,和提现的逻辑比较类似,就是业务类别不一样。

冷转热: 从冷钱包将资金转到热钱包,手动操作的过程。

交易回滚: 交易回滚是指区块链网络的区块回滚或者重组,需要将钱包系统中的交易处理掉的过程,比方说:现在有一条链区块一下从 1000 个块回滚到 500 个块,那么钱包系统里面存储的 500-1000 个块的交易就是无效交易了,需要处理在这个块范围的所用用户的交易。

钱包风控: 钱包风控在整个项目中占据重要的角色,不管是充值,提现,归集,转冷,冷转热中的每一笔交易,业务层和钱包底层都应该建立完善的风控体系。

清结算系统: 负责钱包平台内用户资金的转移、资产划拨及交易结算,确保资金流动的准确性与合规性。

对账系统: 钱包系统与业务层对账,钱包系统实时资产负债表等。

二、去中心化钱包(HD 钱包)

2.1 去中心化钱包架构

去中心化钱包的私钥是管理在用户设备中的,除了用户本人和牛逼的黑客,没有人接触得到。一般的去中心化钱包都是确定性分层钱包;先生成助记词,助记词导出主私钥,主私钥扩展子私钥和公钥匙的方式,公钥再导出地址。

确定性分层钱包(HD钱包)通过一个单一的种子短语(通常是12-24个单词)生成所有密钥和地址。它采用层次化结构,使得每个钱包可以生成多个账户和子地址,而不需要为每个账户单独管理私钥。种子短语是恢复钱包的唯一凭证,极大简化了备份和恢复的复杂度。

关键特点

  1. 种子短语:一个种子短语可以恢复钱包中的所有私钥和地址。
  2. 层次化结构:通过BIP-32标准,钱包内部采用树状结构管理密钥,每个父密钥可以派生多个子密钥。
  3. 隐私保护:每次生成新的地址,避免地址重用,增强交易隐私。
  4. 多币种支持:支持不同币种的管理,通过不同的派生路径(如BIP-44)生成多个币种的地址。
  5. 备份和恢复简便:只需保存种子短语,即可在任何设备上恢复钱包,无需记录每个私钥。

总结

HD钱包通过集中管理种子短语,提供安全、方便的密钥管理方式,且支持多个账户和币种,具有较强的隐私保护和备份恢复优势。

去中心化钱包的私钥一般是加密之后存储在本地设备 sqlite (一种嵌入式关系型数据库管理系统)或者数据文件里面,当要签名交易的时候,需要用户输入密码解密私钥之后再签名。

去中心化钱包一般有以下几个业务流程:

  • 收款
  • 转账
  • 转账记录
  • 闪兑
  • Dapp 浏览器

去中心化钱包比较出名的有 Tp,ImToken,MetaMask 等。

2.2 去中心化钱包细节业务流程

  • 收款:查询本地设备数据库把地址展示到界面上。

  • 转账:用户在去中心化钱包中输入转账信息,包括:收款地址(对方的钱包地址)、转账金额、交易费用(Gas费),钱包创建交易参数后,用户输入解密私钥的密码,在本地对交易参数进行签名,然后发送签名交易到区块链网络中,区块链网络返回交易状态,随后钱包在界面显示转账状态。

  • 转账记录:根据地址查询交易记录和根据 Hash 查询交易详情

  • 闪兑:钱包里面的闪兑一般对接 1inch (去中心化聚合交易所)或者其他的 aggrator (DeFi 聚合器)实现兑换功能

  • Dapp 浏览器:Dapp 浏览器是指 Dapp 可以在里面运行,能够正常的和钱包进行交互,有以下几种主流的实现方式Web View 中包裹 Dapp, 通过 Js 注入 Windows 对象的方式通信,一般钱包开发直接使用这种方式Websocket 进行 Dapp 和钱包之间的通信

三、硬件钱包

3.1 硬件钱包架构

硬件钱包主要是把私钥管理在离线的硬件设备中,在硬件设备中集成钱包签名算法,一般使用蓝牙,NFC 或者串口通信进行通信。

硬件钱包一般有以下几个业务流程:

  • 地址生成:硬件中集成 BIP,生成助记词和密钥对,使用公钥导出钱包地址;
  • 离线签名:组织交易生成 32 位的 Msg Hash, 将签名消息摘要传给硬件,硬件签名之后返回,组织交易发送到区块链网络。

3.2 硬件钱包细节业务流程

硬件钱包和去中心化钱包相比,最不相同是私有的管理方式,硬件钱包私钥和助记词管理在硬件中,下面一离线地址生成和离线签名为例说明:

  • 离线地址生成:发不地址生成的指令给硬件,硬件会生成助记词和私钥等信息,并将私钥和助记词编码加密之后存储在硬件中,吐出公钥匙,钱包界面端用公钥匙生成地址。
  • 离线签名:用户端组织编码交易报文,发送给硬件签名,签名回来的交易报文再次组织,然后发送到区块链网络。

四、MPC 托管钱包

托管钱包和其中心化钱包相比,不相同的地方也是密钥的管理方式,在托管系统中,一般使用 MPC 网络,一共有 M 个节点,其中 N 节点签名交易就有效。每个节点掌握一个密钥片,在整个网络中没有出现过完整的密钥; 下面也地址生成和交易签名为例说明:

  • 地址生成: 业务端发出 Keygen 指令,MPC 网络经过多轮共识之后各自产生密钥片,并吐出聚合公钥,业务端使用公钥导出地址。
  • 离线签名: 业务端发出 Sign 指令, 并携带待签名的交易报文到 MPC 网络,MPC 网络经过多轮签名成公共,返回签名串给业务端,业务端将交易发送到区块链网络。

五、多签钱包

多签钱包有点像 MPC 钱包的工作机制,但又完全不一样。多签钱包的工作机制涉及多个密钥和 M-of-N 签名的概念。在 M-of-N 设置中,只有 N 个密钥中的 M 个对交易进行了签名,才能授权该交易。例如,在 2-of-3 多签钱包中,存在三个私钥,至少需要两个私钥才能授权交易。

相关文章:

细分数字货币钱包的不同种类

文章目录 一、中心化钱包1.1 中心化钱包架构1.2 中心化钱包业务细节流程 二、去中心化钱包(HD 钱包)2.1 去中心化钱包架构2.2 去中心化钱包细节业务流程 三、硬件钱包3.1 硬件钱包架构3.2 硬件钱包细节业务流程 四、MPC 托管钱包五、多签钱包 中心化钱包 :钱包私钥一…...

Nginx Embedded Variables 嵌入式变量解析(4)

Nginx Embedded Variables 嵌入式变量解析(4) 相关链接 nginx 嵌入式变量解析目录nginx 嵌入式变量全目录nginx 指令模块目录nginx 指令全目录 一、目录 1.1 变量目录 1.1.24 ngx_stream_core_module $binary_remote_addr $bytes_received $bytes_sent $connection $hos…...

ARM64 Trust Firmware [四]

完成第二阶段 BL2 的操作后就加载并进入 BL31,BL31 位于 DRAM 中,EL3 模式。除了做架构初始化和平台初始化外,还做了如下工作: 基本硬件初始化,比如 GIC,串口,timer 等;PSCI 服务的…...

SQLMesh 系列教程6- 详解 Python 模型

本文将介绍 SQLMesh 的 Python 模型,探讨其定义、优势及在企业业务场景中的应用。SQLMesh 不仅支持 SQL 模型,还允许通过 Python 编写数据模型,提供更高的灵活性和可编程性。我们将通过一个电商平台的实例,展示如何使用 Python 模…...

聊一聊vue如何实现角色权限的控制的

大家好,我是G探险者。 关于角色与权限控制,通常是分为两大类:一种是菜单权限;一种是操作权限。 菜单权限是指,每个角色对应着可以看到哪些菜单,至于每个菜单里面的每个按钮,比如增删改查等等这类…...

Python连接MySQL数据库图文教程,Python连接数据库MySQL入门教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1. 环境准备1.1安装 Python1.2选择开发环境1.3安装 MySQL 数据库1.4 安装 pymysql 库 2. 连接数据库3. 数据库基本操作3.1 创建数据库3.2 创建表3.3 插入数据3.…...

懒人精灵本地离线卡密验证系统教程(不联网、安全稳定、省钱、永久免费、无任何限制)

1.合集懒人精灵本地离线卡密验证系统教程(不联网、安全稳定、省钱、永久免费、无任何限制):https://www.bilibili.com/video/BV1M6rdYEEog/ 备注: 1.本地离线卡密采用最安全的非对称加解密技术,设备id采用最安全多重混合加密不可逆技术生成&…...

天 锐 蓝盾终端安全管理系统:办公U盘拷贝使用管控限制

天 锐 蓝盾终端安全管理系统以终端安全为基石,深度融合安全、管理与维护三大要素,通过对桌面终端系统的精准把控,助力企业用户构筑起更为安全、稳固且可靠的网络运行环境。它实现了管理的标准化,有效破解终端安全管理难题&#xf…...

LeetCode 2595.奇偶位数:位运算

【LetMeFly】2595.奇偶位数:位运算 力扣题目链接:https://leetcode.cn/problems/number-of-even-and-odd-bits/ 给你一个 正 整数 n 。 用 even 表示在 n 的二进制形式(下标从 0 开始)中值为 1 的偶数下标的个数。 用 odd 表示…...

一周学会Flask3 Python Web开发-response响应格式

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 在HTTP响应中,数据可以通过多种格式传输。大多数情况下,我们会使用HTML格式,这也是Flask中…...

uni-app开发app时 使用uni.chooseLocation遇到的问题

问题一:不显示 问题二:选择地址列表一直在加载中 因为 uni-app 接口文档 中已经说明,使用腾讯的话需要开启云服务,具体可看官网,这就是为什么使用时直接不显示的原因,所以我使用的高德,但又出现…...

Android Hal AIDL 简介 (一)

Android 接口定义语言 (AIDL) 是一款可供用户用来抽象化 IPC 的工具。 以在 .aidl 文件中指定的接口为例,各种构建系统都会使用 aidl 二进制文件构造 C++ 或 Java 绑定,以便跨进程使用该接口(无论其运行时环境或位数如何)。 AIDL 可以在 Android 中的任何进程之间使用:在…...

鸿蒙初学者学习手册(HarmonyOSNext_API14)_组件截图(@ohos.arkui.componentSnapshot (组件截图) )

前言: 这个模块可以截取组件的图片,无论组件是否已加载。截图只能拍到组件本身的大小区域。 如果组件或其子组件画得超出了自己的区域,超出的部分不会出现在截图中。截图不会拍到与当前组件平级的(兄弟)组件。 模块简…...

华为昇腾910b服务器部署DeepSeek翻车现场

最近到祸一台HUAWEI Kunpeng 920 5250,先看看配置。之前是部署的讯飞大模型,发现资源利用率太低了。把5台减少到3台,就出了他 硬件配置信息 基本硬件信息 按照惯例先来看看配置。一共3块盘,500G的系统盘, 2块3T固态…...

[展示]Webrtc NoiseSuppressor降噪模块嵌入式平台移植

最近在尝试把WebRtc的NoiseSuppressor模块移植到嵌入式平台,现在已经移植了,尝试了下效果,降噪效果很显著,噪声带被显著抑制了 降噪前: 降噪后:...

golang内存泄漏

golang也用了好几年了,趁着有空 整理归纳下,以后忘了好看下 一般认为 Go 10次内存泄漏,8次goroutine泄漏,1次是真正内存泄漏,还有1次是cgo导致的内存泄漏 1:环境 go1.20 win10 2:goroutine泄漏 单个Goroutine占用内存&…...

安科瑞能源物联网平台助力企业实现绿色低碳转型

安科瑞顾强 随着全球能源结构的转型和“双碳”目标的推进,能源管理正朝着智能化、数字化的方向快速发展。安科瑞电气股份有限公司推出的微电网智慧能源管理平台(EMS 3.0),正是这一趋势下的创新解决方案。该平台集成了物联网&…...

Android Http-server 本地 web 服务

时间:2025年2月16日 地点:深圳.前海湾 需求 我们都知道 webview 可加载 URI,他有自己的协议 scheme: content:// 标识数据由 Content Provider 管理file:// 本地文件 http:// 网络资源 特别的,如果你想直接…...

腾讯的webUI怎样实现deepseek外部调用 ; 腾讯云通过API怎样调用deepseek

腾讯的webUI怎样实现deepseek外部调用 目录 腾讯的webUI怎样实现deepseek外部调用腾讯云通过API怎样调用deepseekhtml方式curl方式python方式腾讯云通过API怎样调用deepseek 重点说明:不需要SK,仅仅使用ip和端口号 html方式 <!DOCTYPE html> <html lang="e…...

DeepSeek VS ChatGPT-速度、准确性和成本

撰写本文时马斯克刚刚发布了聊天机器人Grok2&#xff0c;10万张算卡体现了马斯克的财大气粗。近年来&#xff0c;人工智能模型取得了长足的发展&#xff0c;每个模型都力求在速度、准确性和成本效率方面超越其他模型。在本文中&#xff0c;我将深入研究比较中美在AI的焦点模型上…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...