细分数字货币钱包的不同种类
文章目录
- 一、中心化钱包
- 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个单词)生成所有密钥和地址。它采用层次化结构,使得每个钱包可以生成多个账户和子地址,而不需要为每个账户单独管理私钥。种子短语是恢复钱包的唯一凭证,极大简化了备份和恢复的复杂度。
关键特点:
- 种子短语:一个种子短语可以恢复钱包中的所有私钥和地址。
- 层次化结构:通过BIP-32标准,钱包内部采用树状结构管理密钥,每个父密钥可以派生多个子密钥。
- 隐私保护:每次生成新的地址,避免地址重用,增强交易隐私。
- 多币种支持:支持不同币种的管理,通过不同的派生路径(如BIP-44)生成多个币种的地址。
- 备份和恢复简便:只需保存种子短语,即可在任何设备上恢复钱包,无需记录每个私钥。
总结:
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盘拷贝使用管控限制
天 锐 蓝盾终端安全管理系统以终端安全为基石,深度融合安全、管理与维护三大要素,通过对桌面终端系统的精准把控,助力企业用户构筑起更为安全、稳固且可靠的网络运行环境。它实现了管理的标准化,有效破解终端安全管理难题…...
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,10万张算卡体现了马斯克的财大气粗。近年来,人工智能模型取得了长足的发展,每个模型都力求在速度、准确性和成本效率方面超越其他模型。在本文中,我将深入研究比较中美在AI的焦点模型上…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...