怎么把网站列入黑名单,平面设计接单兼职,大型网站得多少钱,谷歌广告平台文章目录 一、中心化钱包1.1 中心化钱包架构1.2 中心化钱包业务细节流程 二、去中心化钱包(HD 钱包)2.1 去中心化钱包架构2.2 去中心化钱包细节业务流程 三、硬件钱包3.1 硬件钱包架构3.2 硬件钱包细节业务流程 四、MPC 托管钱包五、多签钱包 中心化钱包 #xff1a;钱包私钥一… 文章目录 一、中心化钱包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 浏览器
去中心化钱包比较出名的有 TpImTokenMetaMask 等。
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 多签钱包中存在三个私钥至少需要两个私钥才能授权交易。