tokenpocket冷钱包下载|多链钱包原理

作者: tokenpocket冷钱包下载
2024-03-11 00:56:17

小白必看,多链钱包背后的原理,建议收藏 - 知乎

小白必看,多链钱包背后的原理,建议收藏 - 知乎切换模式写文章登录/注册小白必看,多链钱包背后的原理,建议收藏开舒克的老陈结合加密货币钱包发展史,白话讲透私钥、助记词、多链钱包背后的原理 作为web3人,人手必备N个加密货币钱包已经是基操,但是大家在使用时是不是经常会对私钥、助记词、钱包这些名词傻傻分不清楚?虽然靠死记硬背知道了助记词和私钥是绝对不能告诉别人,但是对为什么要这样做的原理却仍然一无所知?本线程旨在用通俗易懂的方式解释私钥、助记词、多链钱包的原理,不涉及晦涩的专业术语,小白也能看得懂对区块链的简单解释区块链可以看作一个多人记账的大帐本,区块链里的账户对应的着一个个钱包地址,而区块链里的余额则对应着每个地址上的加密资产数量,是区块链账本里实时记账的结果私钥=资产的实际控制权 在现实生活中,如果想要从某一个账户取款,需要拿着该账户对应的银行卡并且需要知道该账户的密码才能操作;在区块链中,想要调用某个地址上的资产,同样需要一个凭证,这个凭证就是私钥。所以私钥就相当于银行卡+银行卡密码在现实世界里,如果银行卡被偷密码被人破解,我们可以通过去银行挂失的方法来冻结账户里的资产,但是在区块链中,没有这样一个大家长的角色,私钥一旦丢失,就意味着永远丧失了对该地址的控制权。因为一个地址只对应着一个私钥,而私钥是不可以被修改或替换的有了私钥,通过一系列的加密算法可以推导出该私钥对应的地址,这个过程是不可逆的,所以根据地址是无法推导出对应的私钥,这也是我们可以放心的把地址告诉别人,让别人给我们转账的原因(私钥不可告诉任何人,否则可以盗走你钱包内的任何币)加密钱包的发展史 (1)和存储多个独立私钥 因为私钥控制着钱包里的加密货币资产,所以保管资产本质上就是保管私钥。与其说钱包是储存加密货币资产的工具,不如说钱包是一个生成和存储私钥的工具一个种子推导多个私钥 不过私钥是一串长且无规律的字符,如果为了安全要有多个地址,就需要生成多个私钥,这就意味着必须把每一个私钥都备份好,否则一旦钱包不可访问时,钱包所控制的资金就付之东流。而私钥的备份和管理是比较麻烦的,因为一不小心就容易搞错用助记词的方式备份多个私钥BIP32 可以保存一个随机数种子,而不是一堆私钥,但是对于大部分用户来讲,要记录并保存一大串字符仍然非常不友好,这就促使了 BIP39的出现,引入助记词生成种子的办法:先随机生成助记词(注3),通过助记词可以推导出种子,只要记住助记词,就相当于备份全部私钥支持多个币种在BIP32和BIP39生效后,比特币钱包可以通过备份助记词的方式来备份关联的一大堆私钥,这种方法简单且用户友好,其他的加密货币也想仿效,于是就有了BIP44提案。BIP44提案是为了BIP32提案提出的分层生成私钥的方法制定了一个规范的表述路径,这个规范中也支持了多个币种该规范包含 5个预定义树状层级的结构: m / purpose' / coin_type' / account' / change / address_index 其中,m 和Purpose 是固定的;coin是币种,0 代表比特币,60代表以太坊,其他的币种也有自己的代表数字,可以通过查询币种列表地址获得简单总结3个提案的要点: BIP32提出了分层推导方案,可以用一个种子管理多个私钥 BIP39 通过定义助记词让种子的备份更友好 BIP44 给 BIP32 的分层增强了路径定义规范,同时增加了对多币种的支持为什么一个钱包的助记词可以导入另外的钱包? 目前主流的加密货币钱包基本都遵循BIP32、BIP39和BIP44等标准,所以在一个钱包里生成的助记词导入其他钱包也可以正常使用为什么有时导入助记词或私钥后看不到原来的资产? 因为BIP44协议生成的私钥实际上是包含着对应链的参数信息,所以尽管同一套助记词可以 通过生成不同链的对应私钥的方式来同时管理多条链上的对应地址和资产,但是不同链生成的私钥是不同的,由此推导出的地址也是不同的所以如果把通过某一套助记词推导出来的某个链上的私钥导入到不支持该链的钱包中的话,或者把这套助记词导入到没有创建的某个链的钱包里的话,就会发生错误所以,当我们打算利用助记词或者私钥导入其他的钱包的时候,一定要先确认要导入的钱包是否可以支持原来生成的助记词和私钥所在的链,如果是一致的话,就可以正常导入,如果不一致,则需要更换可以支持的钱包来进行导入在加密行业你想抓住下一波牛市机会你得有一个优质圈子,大家就能抱团取暖,保持洞察力。如果只是你一个人,四顾茫然,发现一个人都没有,想在这个行业里面坚持下来其实是很难的。想抱团取暖,或者有疑惑的,欢迎加入我们——公众号:开舒克的老陈感谢阅读,喜欢的朋友可以点个赞关注哦,我们下期再见!发布于 2022-09-13 14:59区块链(Blockchain)比特币 (Bitcoin)以太坊2.0​赞同​​添加评论​分享​喜欢​收藏​申请

小白必看,多链钱包背后的原理,建议收藏 - 知乎

小白必看,多链钱包背后的原理,建议收藏 - 知乎切换模式写文章登录/注册小白必看,多链钱包背后的原理,建议收藏开舒克的老陈结合加密货币钱包发展史,白话讲透私钥、助记词、多链钱包背后的原理 作为web3人,人手必备N个加密货币钱包已经是基操,但是大家在使用时是不是经常会对私钥、助记词、钱包这些名词傻傻分不清楚?虽然靠死记硬背知道了助记词和私钥是绝对不能告诉别人,但是对为什么要这样做的原理却仍然一无所知?本线程旨在用通俗易懂的方式解释私钥、助记词、多链钱包的原理,不涉及晦涩的专业术语,小白也能看得懂对区块链的简单解释区块链可以看作一个多人记账的大帐本,区块链里的账户对应的着一个个钱包地址,而区块链里的余额则对应着每个地址上的加密资产数量,是区块链账本里实时记账的结果私钥=资产的实际控制权 在现实生活中,如果想要从某一个账户取款,需要拿着该账户对应的银行卡并且需要知道该账户的密码才能操作;在区块链中,想要调用某个地址上的资产,同样需要一个凭证,这个凭证就是私钥。所以私钥就相当于银行卡+银行卡密码在现实世界里,如果银行卡被偷密码被人破解,我们可以通过去银行挂失的方法来冻结账户里的资产,但是在区块链中,没有这样一个大家长的角色,私钥一旦丢失,就意味着永远丧失了对该地址的控制权。因为一个地址只对应着一个私钥,而私钥是不可以被修改或替换的有了私钥,通过一系列的加密算法可以推导出该私钥对应的地址,这个过程是不可逆的,所以根据地址是无法推导出对应的私钥,这也是我们可以放心的把地址告诉别人,让别人给我们转账的原因(私钥不可告诉任何人,否则可以盗走你钱包内的任何币)加密钱包的发展史 (1)和存储多个独立私钥 因为私钥控制着钱包里的加密货币资产,所以保管资产本质上就是保管私钥。与其说钱包是储存加密货币资产的工具,不如说钱包是一个生成和存储私钥的工具一个种子推导多个私钥 不过私钥是一串长且无规律的字符,如果为了安全要有多个地址,就需要生成多个私钥,这就意味着必须把每一个私钥都备份好,否则一旦钱包不可访问时,钱包所控制的资金就付之东流。而私钥的备份和管理是比较麻烦的,因为一不小心就容易搞错用助记词的方式备份多个私钥BIP32 可以保存一个随机数种子,而不是一堆私钥,但是对于大部分用户来讲,要记录并保存一大串字符仍然非常不友好,这就促使了 BIP39的出现,引入助记词生成种子的办法:先随机生成助记词(注3),通过助记词可以推导出种子,只要记住助记词,就相当于备份全部私钥支持多个币种在BIP32和BIP39生效后,比特币钱包可以通过备份助记词的方式来备份关联的一大堆私钥,这种方法简单且用户友好,其他的加密货币也想仿效,于是就有了BIP44提案。BIP44提案是为了BIP32提案提出的分层生成私钥的方法制定了一个规范的表述路径,这个规范中也支持了多个币种该规范包含 5个预定义树状层级的结构: m / purpose' / coin_type' / account' / change / address_index 其中,m 和Purpose 是固定的;coin是币种,0 代表比特币,60代表以太坊,其他的币种也有自己的代表数字,可以通过查询币种列表地址获得简单总结3个提案的要点: BIP32提出了分层推导方案,可以用一个种子管理多个私钥 BIP39 通过定义助记词让种子的备份更友好 BIP44 给 BIP32 的分层增强了路径定义规范,同时增加了对多币种的支持为什么一个钱包的助记词可以导入另外的钱包? 目前主流的加密货币钱包基本都遵循BIP32、BIP39和BIP44等标准,所以在一个钱包里生成的助记词导入其他钱包也可以正常使用为什么有时导入助记词或私钥后看不到原来的资产? 因为BIP44协议生成的私钥实际上是包含着对应链的参数信息,所以尽管同一套助记词可以 通过生成不同链的对应私钥的方式来同时管理多条链上的对应地址和资产,但是不同链生成的私钥是不同的,由此推导出的地址也是不同的所以如果把通过某一套助记词推导出来的某个链上的私钥导入到不支持该链的钱包中的话,或者把这套助记词导入到没有创建的某个链的钱包里的话,就会发生错误所以,当我们打算利用助记词或者私钥导入其他的钱包的时候,一定要先确认要导入的钱包是否可以支持原来生成的助记词和私钥所在的链,如果是一致的话,就可以正常导入,如果不一致,则需要更换可以支持的钱包来进行导入在加密行业你想抓住下一波牛市机会你得有一个优质圈子,大家就能抱团取暖,保持洞察力。如果只是你一个人,四顾茫然,发现一个人都没有,想在这个行业里面坚持下来其实是很难的。想抱团取暖,或者有疑惑的,欢迎加入我们——公众号:开舒克的老陈感谢阅读,喜欢的朋友可以点个赞关注哦,我们下期再见!发布于 2022-09-13 14:59区块链(Blockchain)比特币 (Bitcoin)以太坊2.0​赞同​​添加评论​分享​喜欢​收藏​申请

多签钱包的工作原理与使用方式 | 登链社区 | 区块链技术社区

多签钱包的工作原理与使用方式 | 登链社区 | 区块链技术社区

文章

问答

讲堂

专栏

集市

更多

提问

发表文章

活动

文档

招聘

发现

Toggle navigation

首页 (current)

文章

问答

讲堂

专栏

活动

招聘

文档

集市

搜索

登录/注册

多签钱包的工作原理与使用方式

稻田君

更新于 2022-05-17 22:34

阅读 16734

多签名钱包常被缩写为 “Multisig wallet”,多签钱包最大的特点是需由多个私钥持有者的授权才能进行钱包交易。本文会为你详细介绍什么是多签钱包、多签钱包的应用场景、多签钱包的工作原理及Gnosis Safe 多签钱包的使用流程

> 致谢:文章部分参考[《多签钱包的使用》](https://learnblockchain.cn/article/3938)

## 什么是多签钱包?

多签名钱包常被缩写为 “Multisig wallet”,与多签钱包对应的是单签钱包,我们要往区块链上发送一笔转账交易,需要去用钱包去做一个签名,我们自己签好名把交易发送出去,交易执行成功转账就成功,这就是典型的单签钱包,也是我们平时使用最多的钱包。

多签钱包,顾名思义,就是需要多个人去签名执行某个操作的钱包。使用多签钱包进行转账,往往需要 >= 1 个人去签名发送交易之后,转账操作才真正完成。使用多签钱包时,我们可以指定 m/n 的签名模式,就是 n 个人里面有 m 个人签名即可完成操作。可以根据自己的需求设置多签规则,例如:

* 1/2多签模式:两个互相信任的朋友或自己的两个钱包,可以凭各自的私钥独立发起交易(类似于合伙账户)。

* 2/2多签模式:金库中的资金需要2个管理员均同意才能动用这笔资金(需要两个私钥才能转移资金)。

* 2/3多签模式:三个合伙人共同管理资金,为了规避私钥丢失的风险,其中两个私钥签名就可以转移资金。

当然,还有1/3多签、3/6多签、5/8多签不同规则的多签方案,规则是按需的。多签钱包最大的特点是需由多个私钥持有者的授权才能进行钱包交易。我们讲了这么多签名规则,那多签钱包的应用场景是什么呢?

## 多签钱包的应用场景

多签钱包最常见的应用场景是需求强安全性的个人,以及管理公共资产的投资机构、交易所以及项目方。

### 1. 资金安全

资金的安全也可以理解为私钥的安全,有一些常见的方案如使用硬件钱包来防止私钥泄露,使用助记词密盒来防止私钥遗忘等等,但依然存在“单点故障”的问题。

在单签钱包中,加密资产的所有权和管理员是在单人手中,一但私钥泄露或遗忘就意味着失去了对钱包的控制权,与之关联的加密资产将完全丢失。而多签钱包的存在,就很大程度上降低了资产损失的风险。以2/3多签模式为例,在全部的3个私钥中,只要有2个私钥完成签名授权就能完成加密资产的转移。

对于个人而言,可以通过一个多签钱包,关联多个钱包地址,分布在多处(类似异地多活、同城多机房),一个放在MetaMask浏览器扩展、一个安装在手机钱包App、一个在冷钱包,需要转移加密资产时只需要用其中的两个钱包共同签名即可。当然为了方便的话,可以使用1/3多签模式,这就类似于把同一个私钥记在三个助记词卡上放在多处一样,但这种方式仅仅是降低了密钥丢失的风险。

### 2. 资金共管

很多DeFi 协议/DAO 组织/区块链团队其实都有自己的金库,金库里的资产是不能由任何一个人直接动用的,每次动用都要经过多数人的同意或社区投票。这时使用多签钱包来保存金库资产是再合适不过了。

### 3. 多签操作

在目前这个发展阶段,很多去中心化协议其实都是有个管理员权限的,这个管理员权限往往可以更改协议的某些关键参数。行业普遍做法是把这个管理员权限交给一个多签钱包或时间锁,当需要更改参数时,需要多个人共同签署相关操作。

## 多签钱包的工作原理

上文中提到的n/m多签方式,多个私钥对应一个多签钱包,这个多签钱包是如何实现的呢?

我们常说的多签主要针对的是比特币和以太坊ERC-20标准代币。在比特币中有2种类型的地址,1开头的是P2PKH表示个人地址,3开头的是P2SH一般表示一个多签地址。普通的比特币地址是由公钥做哈希后得到的,而多重签名地址基于脚本哈希,所以能够实现复杂的交易逻辑。所以在原生上比特币就支持多签。而以太坊原生并不支持多签地址,通常需要依靠智能合约来实现这一机制。因此,比特币多签钱包技术上要更容易实现,也更常见。

在以太坊中,多签钱包往往是一个智能合约。我们以 [Gnosis](https://gnosis-safe.io/) 的一个多签钱包地址的合约为例进行简要阐述,图中截取了核心流程的主要代码,详细可查看:[0xcafE1A77e84698c83CA8931F54A755176eF75f2C](https://etherscan.io/address/0xcafe1a77e84698c83ca8931f54a755176ef75f2c#code) (如果非开发者可以略过本章节继续往下看)

![11.png](https://img.learnblockchain.cn/attachments/2022/05/PWUmwtZs62845288232cf.png!/scale/35)

### 1. 构造多签合约的调用者权限

图中的 `constructor` 构造方法是合约创建时触发调用的,通过传入 `onwers` 参数传入授权的多个钱包地址,以及 `required` 参数表示最少签名人数。

即以M/N多签模式为例,N表示 `owners.length` ,N表示 `required`

### 2. 提交多签钱包交易申请

图中 `submitTransaction` 方法的作用是多签名人任一一方提交交易申请,返回一个交易号(`transactionId` 后面会用到)。参数 `destination` 是接受人的钱包地址,`value` 为转出的 `ether` 数量(以 `wei` 为单位),`data` 是该交易的数据。

前两个参数比较好理解,向某地址转出多少资产,`data` 参数可以传入任意数组来实现任意功能,比如如果转出ETH那么此参数是`[]` (空),如果转出`ERC20`代码(如`USDT`),则此参数是`ERC20` `transfer` 方法的哈希和参数 (`[0]:xxxxx [1]:xxxxx`)。

### 3. 其余签名人对交易确认

图中的 `confirmTransaction` 方法的作用是其他参与签名的人发起确认以表示对某个交易执行的认可。参数就是 `submitTransaction` 流程里提交交易申请时产生的交易号。当然参与者也可以拒绝认可,还有一个 `revokeConfirmation` 方法来提供拒绝的行为在图中没有体现,可以去合约代码里查看。

### 4. 正式执行交易操作

当确认的人数达到最低(`required`)要求,`**executeTransaction**` 的内部逻辑将被触发,从而执行第一步用户所提交的逻辑。当 `executeTransaction` 内部逻辑被触发,即完成了多签合约的真正调用,如上图所述,`value` 和 `data` 可以控制多签执行任意逻辑(转移 ether 或 ERC20 代币等)。

## 常用的多签钱包有哪些?

这一章节并非做多签钱包的推荐,我只罗列出我用过的两个多签钱包,并通过使用流程的介绍来辅助理解合约代码中的逻辑。

* **Gnosis Safe** [https://gnosis-safe.io/](https://gnosis-safe.io/)

* **Ownbit** [https://ownbit.pro/](https://ownbit.pro/)

Gnosis Safe 是一款为钱包提供多签功能的智能合约。使用不同加密钱包的用户可以在Gnosis Safe 网页端创建一个多签账户,将需要共管的资产存入这一多签账户并进行相应的多签交易,Gnosis Safe本身并不掌握任何私钥。目前,Gnosis Safe支持以太坊网络、币安智能链网络以及Polygon网络等12个网络的多签,支持币种包括ETH、ERC20标准代币以及ERC721标准代币等。

Gnosis Safe的优点是多签参与者不用再额外注册统一的多签钱包,使用现有的加密钱包就可以完成多签步骤;缺点是该智能合约直接部署在区块链上,每一次交互都是链上的一次交易,即创建钱包、多签过程中的每一次签名授权都要支付一笔Gas费用。每次支付的费用都会根据当时的网络情况、参与人数、交易复杂程度发生变化。

接下来我以 Gnosis Safe 钱包来演示一下多签钱包的使用流程,作为有多签钱包需求读者的入门教程,使用过多签的读者可以略过。

### 1. 创建多签钱包

创建多签钱包的过程很简单,输入钱包名称和参与签名的钱包地址即可,我在 Polygon 网络(以太坊侧链,Gas比较便宜)演示 2/2 签名模式,即多签钱包对应2个签名者,且两个签名者均同意才能转出资产。

对于新的用户需要额外说明的是,在我们创建普通钱包(或叫外部账户,以太坊的账户分为外部账户和合约账户)时,只是在钱包的客户端通过一定的加密算法在客户端本地生成的钱包地址(没有上链,只有产生了交易才会在链上有了关联),所以普通钱包是不需要支持Gas费的,而多签钱包本质上是一个部署在链上的智能合约,而部署合约就像发起转账一样会产生一笔交易,所以需要支出Gas费用来奖励旷工确认这笔交易。

创建多签合约时的交易:[https://polygonscan.com/tx/0x78dee97d40ea5e45c4b2d08d878694d075be76bd34dfb01508afae9b9bf34f73](https://polygonscan.com/tx/0x78dee97d40ea5e45c4b2d08d878694d075be76bd34dfb01508afae9b9bf34f73)

注意:从创建钱包,到付款和收款,均重点关注选择的网络(本示例为 Polygon 网络),一定注意!!

![2.png](https://img.learnblockchain.cn/attachments/2022/05/sA7Kykd9628452a286056.png!/scale/35)

![3.png](https://img.learnblockchain.cn/attachments/2022/05/PxEghqo3628452e87e790.png!/scale/35)

![4.png](https://img.learnblockchain.cn/attachments/2022/05/OldR9UiF6284532ba4a94.png!/scale/35)

![QpxW4AjUsqPy6bTSapUNW.png](https://img.learnblockchain.cn/attachments/2022/05/Z0SXRXvG628453ad4712b.png!/scale/35)

### 2. 通过多签钱包收款

这一步不做过多说明,多签钱包的合约和普通钱包一样具有收款的能力,只是在转出机制不同:

* 普通钱包地址是通过在钱包客户端本地对交易进行签名然后广播上链

* 合约地址是需要触发合约公开的方法通过合约执行交易行为

![5.png](https://img.learnblockchain.cn/attachments/2022/05/29aoCZhE628453d4c9f79.png!/scale/35)

![W9nsGNFjH6zF5C5kfZKkB.png](https://img.learnblockchain.cn/attachments/2022/05/eRsrsivo6284541f20234.png!/scale/35)

为了演示用多签钱包付款,这里先往里转入小额的 $MATIC:[https://polygonscan.com/tx/0xff65a58854d42610dc531b9a0f0efff22ca7e97def6e49f9eccd1011fa0c569b](https://polygonscan.com/tx/0xff65a58854d42610dc531b9a0f0efff22ca7e97def6e49f9eccd1011fa0c569b)

### 3. 通过多签钱包付款

这是比较重要的步骤,感兴趣的读者可以结合上面的代码示例来理解

#### i. 任意签名人发起一笔转账申请

这一步对应到合约里的 `submitTransaction` 方法,发起一笔交易申请,但资产没有真正开始转移,需要其他的参与者进行确认这笔交易申请。

这一步的操作是 签名人A 在浏览器通过 MetaMask 钱包登录 Gnosis Safe,选择对应的网络,发起付款操作(填入转出的钱包地址和金额)

![6.png](https://img.learnblockchain.cn/attachments/2022/05/og2ejJAN6284545391679.png!/scale/35)

![7.png](https://img.learnblockchain.cn/attachments/2022/05/XCOZJtLI62845465ae69e.png!/scale/35)

![8.png](https://img.learnblockchain.cn/attachments/2022/05/rGnSSwYY62845483a7c3d.png!/scale/35)

#### ii. 其他参与者对这笔转账申请进行确认

这一步会演示两个流程:参与确认、执行转账,对应到合约代码里的就是 `confirmTransaction` 和 `**executeTransaction`\*\* 方法。

以这个 2/2 多签模式,上一步签名人A发起了一笔申请, 此时签名人B 在另外一个浏览器(模拟两个不同的参与人)同样通过 MetaMask 钱包登录 Gnosis Safe,会在交易中看到签名人A发起的待确认的交易,然后执行确认交易。此时因为已经两个人参与,达到了最少参与人的要求,所以参与人B在确认时就会触发真正的转账行为。

此时的确认操作即调用了合约发起转账(`tx.destination.call.value(tx.value)(tx.data)`),执行转账的方法(调用合约的写方法)会产生Gas的消耗,即最后的确认者需要支付本次交易的手续费(是不是有点冤)。

对应的链上交易:[https://polygonscan.com/tx/0x484f32a722dec98bd8ca9ac508bc8c846a663a1ac5500fbbde38d53a13d1f71d](https://polygonscan.com/tx/0x484f32a722dec98bd8ca9ac508bc8c846a663a1ac5500fbbde38d53a13d1f71d)

![9.png](https://img.learnblockchain.cn/attachments/2022/05/J9ypVCaF628454b2dd4b0.png!/scale/35)

![10.png](https://img.learnblockchain.cn/attachments/2022/05/BkFptXCe628454c03e916.png!/scale/35)

![111.png](https://img.learnblockchain.cn/attachments/2022/05/NyaDJmtC628454db6bbd6.png!/scale/35)

![12.png](https://img.learnblockchain.cn/attachments/2022/05/iZsGllPe628454fbdbf43.png!/scale/35)

以上,就是多签钱包的介绍、使用场景、工作原理、操作流程的全部内容,感谢阅读。如果有问题交流,可以关注并私信我:微信([jingwentian](https://linktr.ee/daotian))、Twitter(@[0xDaotian](https://twitter.com/0xDaotian))、微信公众号([北极之野](https://weixin.sogou.com/weixin?type=1&s_from=input&query=%E5%8C%97%E6%9E%81%E4%B9%8B%E9%87%8E&ie=utf8&_sug_=n&_sug_type_=))、Substack邮件订阅([文叔白话WEB3](https://daotian.substack.com/))。

致谢:文章部分参考《多签钱包的使用》

什么是多签钱包?

多签名钱包常被缩写为 “Multisig wallet”,与多签钱包对应的是单签钱包,我们要往区块链上发送一笔转账交易,需要去用钱包去做一个签名,我们自己签好名把交易发送出去,交易执行成功转账就成功,这就是典型的单签钱包,也是我们平时使用最多的钱包。

多签钱包,顾名思义,就是需要多个人去签名执行某个操作的钱包。使用多签钱包进行转账,往往需要 >= 1 个人去签名发送交易之后,转账操作才真正完成。使用多签钱包时,我们可以指定 m/n 的签名模式,就是 n 个人里面有 m 个人签名即可完成操作。可以根据自己的需求设置多签规则,例如:

1/2多签模式:两个互相信任的朋友或自己的两个钱包,可以凭各自的私钥独立发起交易(类似于合伙账户)。

2/2多签模式:金库中的资金需要2个管理员均同意才能动用这笔资金(需要两个私钥才能转移资金)。

2/3多签模式:三个合伙人共同管理资金,为了规避私钥丢失的风险,其中两个私钥签名就可以转移资金。

当然,还有1/3多签、3/6多签、5/8多签不同规则的多签方案,规则是按需的。多签钱包最大的特点是需由多个私钥持有者的授权才能进行钱包交易。我们讲了这么多签名规则,那多签钱包的应用场景是什么呢?

多签钱包的应用场景

多签钱包最常见的应用场景是需求强安全性的个人,以及管理公共资产的投资机构、交易所以及项目方。

1. 资金安全

资金的安全也可以理解为私钥的安全,有一些常见的方案如使用硬件钱包来防止私钥泄露,使用助记词密盒来防止私钥遗忘等等,但依然存在“单点故障”的问题。

在单签钱包中,加密资产的所有权和管理员是在单人手中,一但私钥泄露或遗忘就意味着失去了对钱包的控制权,与之关联的加密资产将完全丢失。而多签钱包的存在,就很大程度上降低了资产损失的风险。以2/3多签模式为例,在全部的3个私钥中,只要有2个私钥完成签名授权就能完成加密资产的转移。

对于个人而言,可以通过一个多签钱包,关联多个钱包地址,分布在多处(类似异地多活、同城多机房),一个放在MetaMask浏览器扩展、一个安装在手机钱包App、一个在冷钱包,需要转移加密资产时只需要用其中的两个钱包共同签名即可。当然为了方便的话,可以使用1/3多签模式,这就类似于把同一个私钥记在三个助记词卡上放在多处一样,但这种方式仅仅是降低了密钥丢失的风险。

2. 资金共管

很多DeFi 协议/DAO 组织/区块链团队其实都有自己的金库,金库里的资产是不能由任何一个人直接动用的,每次动用都要经过多数人的同意或社区投票。这时使用多签钱包来保存金库资产是再合适不过了。

3. 多签操作

在目前这个发展阶段,很多去中心化协议其实都是有个管理员权限的,这个管理员权限往往可以更改协议的某些关键参数。行业普遍做法是把这个管理员权限交给一个多签钱包或时间锁,当需要更改参数时,需要多个人共同签署相关操作。

多签钱包的工作原理

上文中提到的n/m多签方式,多个私钥对应一个多签钱包,这个多签钱包是如何实现的呢?

我们常说的多签主要针对的是比特币和以太坊ERC-20标准代币。在比特币中有2种类型的地址,1开头的是P2PKH表示个人地址,3开头的是P2SH一般表示一个多签地址。普通的比特币地址是由公钥做哈希后得到的,而多重签名地址基于脚本哈希,所以能够实现复杂的交易逻辑。所以在原生上比特币就支持多签。而以太坊原生并不支持多签地址,通常需要依靠智能合约来实现这一机制。因此,比特币多签钱包技术上要更容易实现,也更常见。

在以太坊中,多签钱包往往是一个智能合约。我们以 Gnosis 的一个多签钱包地址的合约为例进行简要阐述,图中截取了核心流程的主要代码,详细可查看:0xcafE1A77e84698c83CA8931F54A755176eF75f2C (如果非开发者可以略过本章节继续往下看)

1. 构造多签合约的调用者权限

图中的 constructor 构造方法是合约创建时触发调用的,通过传入 onwers 参数传入授权的多个钱包地址,以及 required 参数表示最少签名人数。

即以M/N多签模式为例,N表示 owners.length ,N表示 required

2. 提交多签钱包交易申请

图中 submitTransaction 方法的作用是多签名人任一一方提交交易申请,返回一个交易号(transactionId 后面会用到)。参数 destination 是接受人的钱包地址,value 为转出的 ether 数量(以 wei 为单位),data 是该交易的数据。

前两个参数比较好理解,向某地址转出多少资产,data 参数可以传入任意数组来实现任意功能,比如如果转出ETH那么此参数是[] (空),如果转出ERC20代码(如USDT),则此参数是ERC20 transfer 方法的哈希和参数 ([0]:xxxxx [1]:xxxxx)。

3. 其余签名人对交易确认

图中的 confirmTransaction 方法的作用是其他参与签名的人发起确认以表示对某个交易执行的认可。参数就是 submitTransaction 流程里提交交易申请时产生的交易号。当然参与者也可以拒绝认可,还有一个 revokeConfirmation 方法来提供拒绝的行为在图中没有体现,可以去合约代码里查看。

4. 正式执行交易操作

当确认的人数达到最低(required)要求,**executeTransaction** 的内部逻辑将被触发,从而执行第一步用户所提交的逻辑。当 executeTransaction 内部逻辑被触发,即完成了多签合约的真正调用,如上图所述,value 和 data 可以控制多签执行任意逻辑(转移 ether 或 ERC20 代币等)。

常用的多签钱包有哪些?

这一章节并非做多签钱包的推荐,我只罗列出我用过的两个多签钱包,并通过使用流程的介绍来辅助理解合约代码中的逻辑。

Gnosis Safe https://gnosis-safe.io/

Ownbit https://ownbit.pro/

Gnosis Safe 是一款为钱包提供多签功能的智能合约。使用不同加密钱包的用户可以在Gnosis Safe 网页端创建一个多签账户,将需要共管的资产存入这一多签账户并进行相应的多签交易,Gnosis Safe本身并不掌握任何私钥。目前,Gnosis Safe支持以太坊网络、币安智能链网络以及Polygon网络等12个网络的多签,支持币种包括ETH、ERC20标准代币以及ERC721标准代币等。

Gnosis Safe的优点是多签参与者不用再额外注册统一的多签钱包,使用现有的加密钱包就可以完成多签步骤;缺点是该智能合约直接部署在区块链上,每一次交互都是链上的一次交易,即创建钱包、多签过程中的每一次签名授权都要支付一笔Gas费用。每次支付的费用都会根据当时的网络情况、参与人数、交易复杂程度发生变化。

接下来我以 Gnosis Safe 钱包来演示一下多签钱包的使用流程,作为有多签钱包需求读者的入门教程,使用过多签的读者可以略过。

1. 创建多签钱包

创建多签钱包的过程很简单,输入钱包名称和参与签名的钱包地址即可,我在 Polygon 网络(以太坊侧链,Gas比较便宜)演示 2/2 签名模式,即多签钱包对应2个签名者,且两个签名者均同意才能转出资产。

对于新的用户需要额外说明的是,在我们创建普通钱包(或叫外部账户,以太坊的账户分为外部账户和合约账户)时,只是在钱包的客户端通过一定的加密算法在客户端本地生成的钱包地址(没有上链,只有产生了交易才会在链上有了关联),所以普通钱包是不需要支持Gas费的,而多签钱包本质上是一个部署在链上的智能合约,而部署合约就像发起转账一样会产生一笔交易,所以需要支出Gas费用来奖励旷工确认这笔交易。

创建多签合约时的交易:https://polygonscan.com/tx/0x78dee97d40ea5e45c4b2d08d878694d075be76bd34dfb01508afae9b9bf34f73

注意:从创建钱包,到付款和收款,均重点关注选择的网络(本示例为 Polygon 网络),一定注意!!

2. 通过多签钱包收款

这一步不做过多说明,多签钱包的合约和普通钱包一样具有收款的能力,只是在转出机制不同:

普通钱包地址是通过在钱包客户端本地对交易进行签名然后广播上链

合约地址是需要触发合约公开的方法通过合约执行交易行为

为了演示用多签钱包付款,这里先往里转入小额的 $MATIC:https://polygonscan.com/tx/0xff65a58854d42610dc531b9a0f0efff22ca7e97def6e49f9eccd1011fa0c569b

3. 通过多签钱包付款

这是比较重要的步骤,感兴趣的读者可以结合上面的代码示例来理解

i. 任意签名人发起一笔转账申请

这一步对应到合约里的 submitTransaction 方法,发起一笔交易申请,但资产没有真正开始转移,需要其他的参与者进行确认这笔交易申请。

这一步的操作是 签名人A 在浏览器通过 MetaMask 钱包登录 Gnosis Safe,选择对应的网络,发起付款操作(填入转出的钱包地址和金额)

ii. 其他参与者对这笔转账申请进行确认

这一步会演示两个流程:参与确认、执行转账,对应到合约代码里的就是 confirmTransaction 和 **executeTransaction** 方法。

以这个 2/2 多签模式,上一步签名人A发起了一笔申请, 此时签名人B 在另外一个浏览器(模拟两个不同的参与人)同样通过 MetaMask 钱包登录 Gnosis Safe,会在交易中看到签名人A发起的待确认的交易,然后执行确认交易。此时因为已经两个人参与,达到了最少参与人的要求,所以参与人B在确认时就会触发真正的转账行为。

此时的确认操作即调用了合约发起转账(tx.destination.call.value(tx.value)(tx.data)),执行转账的方法(调用合约的写方法)会产生Gas的消耗,即最后的确认者需要支付本次交易的手续费(是不是有点冤)。

对应的链上交易:https://polygonscan.com/tx/0x484f32a722dec98bd8ca9ac508bc8c846a663a1ac5500fbbde38d53a13d1f71d

以上,就是多签钱包的介绍、使用场景、工作原理、操作流程的全部内容,感谢阅读。如果有问题交流,可以关注并私信我:微信(jingwentian)、Twitter(@0xDaotian)、微信公众号(北极之野)、Substack邮件订阅(文叔白话WEB3)。

学分: 177

分类: 智能合约

标签:

智能合约 

多签钱包 

点赞 7

收藏 14

分享

Twitter分享

微信扫码分享

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

你可能感兴趣的文章

SharkTeam:合约精度计算漏洞与安全建议

348 浏览

Remix v0.43.0 更新日志

195 浏览

使用铭文思路对智能合约改进

2119 浏览

Web3专题(五) Hardhat 和 Foundry 该如何选择?

1237 浏览

OpenBuild Starknet Bootcamp任务3:Starknet Foundry合约测试代码错误修复及部署和交互测试

1484 浏览

如何获得Sepolia测试网ETH

1485 浏览

相关问题

关于交易字段内容的问题

1 回答

地址部署合约部署失败,但是换个地址部署相同的合约代码可以部署成功,详细描述如下,麻烦各位大佬帮忙分析分析原因

1 回答

如何将合约字节码反编译成solidity伪代码

1 回答

Foundry Test: 无效的 MockCall

3 回答

一个合约文件里面有多个合约方法 执行合约时要怎么做到执行指定的合约

2 回答

starkjs调用getSuggestedMaxFee报错

1 回答

1 条评论

请先 登录 后评论

稻田君

0x0753...11f0

关注

贡献值: 40

学分: 52

江湖只有他的大名,没有他的介绍。

文章目录

关于

关于我们

社区公约

学分规则

Github

伙伴们

ChainTool

为区块链开发者准备的开源工具箱

合作

广告投放

发布课程

联系我们

友情链接

关注社区

Discord

Twitter

Youtube

B 站

公众号

关注不错过动态

微信群

加入技术圈子

©2024 登链社区 版权所有 |

Powered By Tipask3.5|

粤公网安备 44049102496617号

粤ICP备17140514号

粤B2-20230927

增值电信业务经营许可证

×

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

发给:

内容:

取消

发送

×

举报此文章

垃圾广告信息:

广告、推广、测试等内容

违规内容:

色情、暴力、血腥、敏感信息等内容

不友善内容:

人身攻击、挑衅辱骂、恶意行为

其他原因:

请补充说明

举报原因:

取消

举报

×

如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!

区块链钱包:从入门到精通 - 知乎

区块链钱包:从入门到精通 - 知乎首发于冰岛社区股票漫谈切换模式写文章登录/注册区块链钱包:从入门到精通按时吃饭说起数字货币,就离不开数字货币钱包。比特币已诞生 10 年,区块链也经历了 1.0 - 3.0 三个时期的迭代。在这期间钱包由单资产钱包、单链钱包发展为多链多资产钱包,从单一的转账收款钱包,发展为区块链生态服务平台。 钱包 1.0 时期(2009 年 - 2013 年) 2009 年,比特币主网上线,这个时期的区块链刚刚起步,作为一个巨大的分布式账本,比特币仅有简单的转账、记账功能。受限于区块链的发展,这时的钱包就是用来存储比特币。也就是单资产钱包形态,一个钱包只能支持一种币种。2011 年 6 月 29 日,比特币支付处理商 BitPay 推出了第一个用于智能手机的比特币电子钱包。同年 7 月 6 日,一个免费的比特币数字钱包 App 现身安卓应用商店,这是第一款与比特币相关的智能手机 App。 钱包 2.0 时期(2014 年 - 2018 年) 2014 年,以太坊项目启动宣示着区块链进入 2.0 时代,智能合约开始运用于区块链。此时的钱包除了进行转账收款外,还能进行链上合约操作,但由于此时的区块链速度较慢,钱包仅能进行非瞬时反应合约服务。以太坊的出块速度为 15 秒,不考虑网络环境等问题,一个交易要被记录在区块链上,大概要 15 秒的时间。智能合约就是一套不需要第三方的情况下还可以保证合同得到执行的计算机程序,任何人都可以基于此进行运算及开发应用层。 钱包 3.0 时期(2018 年 - 至今) 2018 年开始,针对区块链 2.0 速度慢、高昂矿工费等问题进行优化,实现区块链的高并发、高可拓展等性能标志着区块链进入 3.0 时期,而其中最为代表的便是 EOS。EOS 的出块速度为 0.5 秒,不考虑网络环境等问题,一个交易被记录在区块链上,仅需 0.5 秒。此时的钱包,除了基础的存储转账功能外,还能与链上合约进行即时交互;钱包不再是简单的资产管理工具,更是一个公链生态服务平台;与此同时,单链钱包已无法满足用户需求,越来越多的钱包往多链方向发展。现如今,用户通过钱包可体验资产管理、资产交易、DApp、社交、资讯、行情等功能。钱包已逐渐承担起它作为区块链世界入口的?色。 区块链钱包的基本知识点 要学会使用区块链钱包,一定要掌握以下五个相关名词定义,即公钥、私钥、助记词、Keystore、密码。 公钥 公钥 = 账号 = 转账地址,相当于你的银行卡号,公钥是可以对外随意公开的,没有任何风险,就像别人知道了你的银行卡号一样,除了给你转账啥也干不了。 私钥 私钥 = 身份认证,相当于你的银行卡号+密码。私钥是由数字和大小写字母组成,不同区块链的私钥?度一般不一样。通过私钥可以推导出公钥。需要注意的是,一旦你的私钥丢失或遗忘,将无法再找回,所以一定要妥善保管好。 助记词 由于私钥不方便记忆,因此出现了助记词,助记词只是私钥的另一种展现形式。一般由 12 或 24 个英文单词组成,为了方便国内用户,也有提供汉字版本助记词。只要你记住这些单词,按照顺序在钱包中输入,就能恢复钱包并且进行任意操作。如果别人拿到了你的助记词,就相当于拿到了你的私钥,就可以对你的资产进行掌控了。 Keystore Keystore= 卡号,Keystore 的本质是加密后的私钥,Keystore 必须配合你的钱包密码来使用才有效。 Keystore、私钥、助记词是所有钱包通用的,钱包服务商可能会因为产品设计原因,仅为用户提供其中一种或多种方式,但是如果存在同一方式在某钱包无法正常恢复,则该钱包可能存在一定的问题。 密码 为了进一步增强安全性,大部分钱包会采取密码的方式对私钥做二次加密。每个钱包的加密方法和存储方式是不一样的。这也是为什么你使用钱包进行交易的时候,总需要进行授权,这背后其实涉及了钱包使用密码进行私钥解密,然后再使用私钥对交易进行签名等复杂的过程。 钱包安全小贴士 公钥是可以曝光的,对你的资产安全无影响。相当于你告诉人家你的银行卡账号一样。助记词、私钥一旦泄露,资产将有很大风险被他人掌控,此时你需要立即转移资产到其他地址,原先的地址不再使用。keystore 泄露,不管密码有没有泄露,都存在他人掌控资产的?险,因此需要赶快把资产转移其他地址。如果是 EOSIO (包括 EOS、BOS、WAX 等)和 IOST 的账号私钥泄露时,还可以采取更换新私钥的方式,阻止他人掌控自己的资产。在存储私钥、助记词时,我们都建议采用离线形式(手抄、打印等)进行数据备份,同时将备份好的内容妥善保管。对于 keystore 这样的信息,采用抄写进行备份是很不科学并且很容易出错的,所以用户可以将 keystore 存储为文件形式,然后可以将其存储在 U 盘中再妥善管理好 U 盘;其中,我们非常不建议您进行截屏、网络传输(QQ、微信)、云端存储等方式备份,这些方式都有可能遭遇黑客攻击,从而造成资产损失。 区块链钱包分类 我们将从私钥的存储和私钥的生成两个方向对钱包进行分类。 私钥存储 根据私钥的存储方式,即用户是否掌握了私钥,我们可以把钱包划分为,「中心化钱包」及「去中心化钱包」。存储方式是指存在哪,只有用户持有私钥导入钱包后私钥仅存储在用户设备上的才叫「去中心化」,而无私钥,或者私钥有上传存储在服务商的服务器里的,则是「中心化」。去中心化钱包,我们又可根据私钥存储过程中是否接触网络,划分为「冷钱包」和「热钱包」;这里的接触网络是指,钱包是否联网了,而不是私钥是否在网络中传输的意思。常见的热钱包有桌面钱包、手机钱包和网页钱包。而冷钱包一般是指纸钱包、硬件钱包这些不联网或无法联网的工具。根据钱包的去中心化程度又可将钱包分为全节点钱包、轻节点钱包、中心化钱包。全节点钱包就是将区块链上所有数据同步到钱包,这样会占用很大的存储空间,所以大部分全节点钱包都是桌面钱包。其中最有代表性的有比特币核心钱包、Geth、Parity 等等。正因为全节点钱包需要同步所有区块数据,所以其可以实现完全去中心化。根据 DApptotal 数据,截止到 2019 年 9 月份:以太坊的全节点数据大小为 433GB,EOS 的为 430GB,而比特币为 279GB。轻钱包就是依赖区块链网络中的其他全节点的钱包。去中心化钱包的数据都是区块链上的数据,而中心化钱包的数据则依赖钱包服务商自己的账本。举个例子,我们在交易所的钱包就是中心化钱包,我们往交易所指定的某个地址转账,然后交易所在自己的账本上记录了我们的充值记录,此后我们每做一次充值转账,交易所直接在他的账本上进行加或减。而这整个过程,完全没有发生在区块链上。私钥生成 本小节内容稍微超纲从私钥的生成,我们可以把钱包划分为,「非确定性钱包」、「确定性钱包」及「分层确定性钱包」,而其中「分层确定性钱包」是「确定性钱包」的加强版本。非确定性钱包在钱包中生成的私钥之间没有任何关系,是相互独立的。确定性钱包私钥都是由一个「种子」通过算法生成,比如「助记词」就是种子的形式。通过这个方式生成的私钥,只要算法一致,私钥就可以保持前后一致;且一个种子可以派生出无限的私钥地址。为了更好理解,我们可以「确定性钱包」比喻一根树枝,树枝上不同位置的叶子不同,但是只要你选择的位置一样,那个位置的叶子永远是同一片。而这里的叶子就是我们提到的「私钥」。分层确定性钱包是确定性钱包的加强版,为确定性钱包引入「主私钥」概念,即 HD 钱包。它的层级结构是,从主私钥生成的私钥,本身就可以成为一把主私钥,再通过上述方法生成一个确定性钱包。同样的,我们可以把「分层确定性钱包」比喻成树干;一个树干上有很多树枝,每一根树枝上的叶子都是确定的。所以,只要我们确定了某一树枝上的某一个位置,那这片叶子就是确定的。也就是私钥是确定的。 区块链钱包功能介绍 钱包是区块链的入口,拥有包含资产管理在内的丰富功能,可以满足用户各式各样的需求。 创建区块链账号 区块链钱包的展现形式分为地址和账号,我们这里统称为账号;不同区块链的账号是不一样的,?度也可能不一样的。不同区块链账号的创建费用也是不一样的,例如以太坊、比特币的账号是免费的,但是 EOS 的账号是需要消耗一定费用进行创建的。由于区块链账号的创建是一个复杂的过程,钱包的存在就是帮助用户简化这些过程。一般创建账号过程中,钱包都会引导用户进行私钥或助记词备份,然后再进行二次验证,以确保用户备份的私钥或助记词准确无误。而在需要通过支付创建账号的区块链上,钱包一般会帮助用户使用传统支付工具完成支付过程,以降低用户的使用难度。 数字资产管理 数字资产主要指的是区块链上的各种代币(Token),钱包的存在极大的方便了用户对于自己所拥有的资产管理,主要包括转账、收款、查看资产详情、交易详情等。功能类似银行的 APP,你可以看到自己当前拥有什么资产,数量多少,以及对你的资产进行转账等操作。需要注意的是,不同区块链之间的资产是不能直接转账的,即你无法向以太坊账号转入 BTC (比特币),也无法向比特币账号转入 ETH (以太坊)。 数字资产交易 当前钱包支持的数字资产交易主要包括以下三种情况:币币兑换、交易所交易、OTC 交易。币币兑换通过币币兑换,可以将不同区块链上的资产进行兑换,例如你可以将自己拥有的 BTC (比特币)直接兑换成 EOS。一般的交易只能通过一个基本对的形式进行交易,再通过基本对交易成最终目的币。例如我要从 A 换成 C,则需要通过中介 B 实现,A -> B, B -> C; 而币币兑换则简化这个过程,直接将 A 兑换成 C交易所交易当前交易所有三 种形态,分别是中心化交易所、去中心化交易所、聚合交易所。中心化交易所需要我们把币托管在交易所账户里,然后交易仅发生在交易所的中心化数据中。而去中心化交易所则无需这个过程。这大大降低了交易所被盗或跑路导致用户资产损失的风险。去中心化交易所,用户通过钱包将币往智能合约转账,智能合约完成链上撮合交易,再将币转回给用户。合约交易,在提升透明度的同时,也大大减少了对中心媒介的依赖。聚合交易所聚合交易所是聚集了所有交易所而形成一个交易平台 , 让用户简易进行跨平台交易 , 无需下载众多 app。聚合交易所共享其他交易所的深度和其他交易所的交易对。例如你注册了聚合交易所账号后,你每次买卖 BTC (比特币)时,你可以从不同的交易所中挑选性价比最高的来进行交易。当前部分钱包已经开始支持聚合交易。OTCOTC (Over The Counter)交易就是在交易所外,由第三方担保,客户点对点的交易方式。在区块链中的 OTC,通常指的是场外用户之间法币与数字货币一对一的买卖交易。当前最大的 OTC 主要以交易所的 OTC 为主,也有部分钱包接入了提供该项服务的第三方渠道商。 参与生态建设 目前部分公链设计中,都激励生态中的用户积极参与公链生态建设。主要的形式有节点投票、公投、Staking 等。节点投票以 EOS 为例,EOS 总共有 21 个超级节点,用户通过将手中的 EOS 进行抵押后,最多可以投给 30 个节点,投票的目的在于让用户选出能为生态发展与贡献自己力量的节点,从而推动生态的稳定发展。公投公投指的是区块链生态中,参与者可以发起自己认为对社区有利的提案,并由整个区块链持币者进行投票,当投票数超过一定标准时,提案自动生效。公投的方式有利于社区用户积极参与区块链治理。StakingStaking 中文名权益质押,目前部分公链采取 Staking 的形式来鼓励持币者质押 Token,并以此产生稳定节点。如 COSMOS 质押可以使质押者获得一定的年化收益(以质押币结算),类似你在银行投了一个活期理财。 体验 DApp 应用 DApp 是 Decentralized Application 的缩写,译为去中心化应用,指的是以区块链为底层进行应用开发。目前 DApp 主要集中在以太坊和 EOS、TRON、IOST 等区块链上。DApp 与底层平台的关系,就好比 APP 与 iOS 和 Android 系统的关系。例如 EOS 的 DApp 无法在 ETH 底层上运行,正如安卓的 APP 无法在 iOS 系统上运行。你可以在钱包中体验 ETH 上的去中心化金融 MakerDAO,体验在 EOSRacing 中开赛?赢取 EOS 奖励,也可以在 IOST 上的猎币矿池进行挖矿理财。目前一些大型游戏是以第三方独立 APP 的形式存在,当体验这些 APP 形式的 DApp 时,你同样需要钱包作为登录和交易授权的媒介。 资产增值 钱包天然就具有金融属性,当前钱包已经集合了包括矿池、理财、挖矿、项目投资等多种金融工具与功能,可以满足用户资产增值的需求。矿池当前挖矿主要是 POW 挖矿与 POS 挖矿这 2 种方式。POW (Proof of Work)就是算力挖矿,也是我们熟悉的如 BTC (比特币)、ETH (以太坊)挖矿 ; POS (Proof of Stake)挖矿是模仿 POW 算力挖矿,持币人可以将代币抵押给验证人节点,来获得奖励分红。目前钱包的矿池基本上是以 POS 挖矿为主。也有部分钱包支持购买云算力,进行 BTC (比特币)挖矿。理财钱包里的理财产品与传统理财产品十分相似,唯一不同的是结算的方式。通常会约定一个预估收益率,用户用 Token 购买该理财产品后,根据约定的结算日期进行定期结算,到期可以取回或续约。挖矿挖矿以 DApp 挖矿为主,钱包中集合了一些 DApp 矿机产品,使用矿机可以便捷快速的获得想挖的 Token。以最近大火的 EIDOS 为例,EIDOS 矿机可以帮助用户实现自动转账挖矿。这些挖出来的 Token 可以拿去交易所卖出从而获取收益。项目投资以虎符钱包的 HOO Labs 为例,你可以在上面使用 USDT 支持项目,并以支持 USDT 的数量按照一定比例获得项目的 Token。 社交 部分区块链钱包还拥有社交功能,你可以在钱包里跟其他用户进行沟通与交流。 硬件钱包配套管理工具 硬件钱包通常会搭配一个软件钱包作为管理工具。硬件钱包厂商如 Ledger、Trezor、库神 等,都有研发自己配套的软件钱包。同样的,软件钱包厂商也会与硬件钱包厂商合作,开发自己产品专属的硬件钱包,如比特派的硬件钱包比特盾、imToken 的 imKey 等。 区块链资讯获取 绝大多数钱包用户都有交易需求,因此通常钱包都会把 Token 行情融入到产品中。除此外,还会把快讯、文章、甚至项目推特等这些内容模块加到产品中。与其他区块链媒体不同的是,钱包快讯、文章方面则主要以当前钱包支持的区块链相关内容为主,更有针对性。 如何选择区块链钱包 首先我们需要了解中心化钱包和去心化钱包区别,再结合自身需求进行选择。转载,侵删!发布于 2019-12-19 15:39数字货币钱包虚拟货币数字货币​赞同 20​​1 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录冰岛社区股

区块链入门 | 单链钱包和多链钱包 | CoinVoice

区块链入门 | 单链钱包和多链钱包 | CoinVoice

风险提示:请理性看待区块链,树立正确的货币观念和投资理念,不要盲目跟风投资,本站内容不构成投资建议,请谨慎对待。

免责声明:本站所发布文章仅代表个人观点,与CoinVoice官方立场无关

AC Capital

链声实验室

|

寻求报道

|

App下载

Toggle navigation

首页

快讯

专栏

所有专栏

申请入驻专栏

活动

专题

独角兽

微信扫一扫

下载APP

登录

Toggle navigation

立即登录

首页

快讯

专栏

所有专栏

申请入驻专栏

活动

专题

独角兽

×

欢迎登录COINVOICE

请输入正确的手机号

密码必须包含大小写字母,包含数字,包含8-32个字符

>> 按住滑块,拖拽到最右边

忘记密码

登录

×

注册

使用已有账号登录

请输入正确的手机号

发送验证码 请输入正确的验证码

密码必须包含大小写字母,包含数字,包含8-32个字符

重复密码不一致

为了您的账户安全,密码必须

包含大写字母,包含小写字母,包含数字,包含8-32个字符

我已阅读并同意《COINVOICE服务条款》和 隐私政策

注册

×

重置密码

请输入正确的手机号

发送验证码 请输入正确的验证码

密码必须包含大小写字母,包含数字,包含8-32个字符

重复密码不一致

为了您的账户安全,密码必须

包含大写字母,包含小写字母,包含数字,包含8-32个字符

重置

区块链入门 | 单链钱包和多链钱包

白话区块链

2019年04月25日

分享

本文来自

经作者 白话区块链 授权转载。

白话区块链曾在《钱包与地址》一文中介绍了钱包从不同维度的分类:

从是否联网的维度,钱包可以分为:热钱包和冷钱包

从用户是否自己掌握钱包私钥的维度,钱包可以分为:去中心化钱包和中心化钱包

从形态上,钱包可以分为硬件钱包、手机App 钱包、浏览器插件钱包等

……

我们今天要介绍的是另外一个给钱包分类的维度。从是否支持多条链加密资产的维度,钱包可以分为:单链钱包和多链钱包。

 

 01 

单链钱包

 单链钱包是指只能存储、收发某一公链Coin或Token的钱包。比如只支持比特币存储、收发的比特币官方钱包Bitcoin Core,只支持以太坊的imToken1.0以及只支持EOS资产的Meet.One钱包等。

很多时候称为主链钱包。这类钱包一般都是针对某一平台型公链开发的。比如imToken 1.0版本和MetaMask(很多朋友称其为小狐狸钱包),都是以太坊单链钱包,所以它们仅支持ETH及与使用同一标准的ERC-20的代币。

对于平台型公链来说,其主链Coin通常具备一定的使用功能。拿以太坊来举例,以太坊平台上有矿工、DApp用户等各类角色,他们的活动多是围绕着ETH来进行,主链钱包作为一个入口,为各类用户提供了存储、流通的便利。

平台型公链一般都有丰富的DApp,对应的主链钱包一般不仅能满足主链资产储存的需求,同时也可以作为该公链上DApp的一个入口。从这个角度看,钱包也是衡量平台型公链可用、易用的标准之一。

 

 02 

多链钱包

多链钱包,简单说就是可支持多种主链平台Token的钱包。常见的多链钱包有:比特派、imToken2.0、Cobo Wallet等。

目前加密货币市场,公链种类越来越多,很多圈内用户持有多条公链的加密资产,如果为每条公链资产都配置主链钱包的话,那是非常麻烦的。多链钱包的出现就很好的解决了这个问题,只需要一个钱包就可以方便地管理多条公链的加密资产。为用户提供极大的便利,减轻了管理多链资产的负担。

比如当你同时拥有比特币、以太坊、EOS时,就可以将它们放在支持这三类资产的多链钱包里。

多链钱包的出现满足用户一个钱包就能管理多链加密资产的需求,但不同公链之间资产交换的问题,在多链钱包内,目前还没有成熟的解决方案,在多链钱包内提供不同公链间资产的交换,也许是钱包发展的一大趋势。

 

 03 

总结

单链钱包只能存储、收发某一主链上的加密资产,在一定程度上,它是公链生态的入口。多链钱包可以存储、收发多条公链上的资产,为用户管理各位公链资产提供极大的便利,减轻了用户管理多链资产的负担。随着区块链行业的发展,市面上的加密货币钱包也越来越多,你在选择钱包时,主要会考虑哪些因素呢?欢迎在留言区交流你的心得。

 ——End——

作者 | 晏文春

出品|白话区块链

『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。』

声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。

来源:/articles/3365

评论0条

白话区块链

简介:区块链从入门到精通,看我就够了

作者文章

综合分析:Solana 的经济生态系统

流动性重新抵押代币复兴了以太坊DeFi,炒作能持续吗?

差点死掉的Solana凭什么东山再起?

马斯克再掀 meme 热潮,meme 起飞背后到底有什么?

查看更多

专栏

更多>>

Icing Sugar #4 Polygon 单币挖矿即将开启

O3 Swap 即将开启 Icing Sugar #4 Polygon 单币挖矿

比特币今年将实现同比增长超90% 2020年还能延续吗?

随着2019年即将走完,比特币有望在年底结束时实现与年初相比的翻倍增长。比特币的长期趋势仍然非常强劲,而且这些增长可能会在未来几年继续

两小时跌幅达500美元,昨晚比特币暴跌可能有这三个原因

周三比特币的价格由8000美元附近跌至7500美元附近,两个小时内跌幅达500美元,创下了5个月来比特币价格的低点。

DeFi 2月回顾:总锁仓量增长35.5%,新兴公链DeFi活跃

以太坊的竞争者生态中出现了很多表现亮眼的DeFi项目。

区块链入门 | 比特币是否为避险资产?

作者 | day by day 出品|白话区块链 近期,比特币的避险属性遭到大家的质疑,以前被大家认为...

报告:上市加密矿企正成为行业的重要参与者

Elwood资产管理公司发布的一份最新报告显示

波卡创始人Gavin Wood:Substrate是非常有趣的三明治系统,Kusama将与波卡永存(全文)

“我们正在寻找的是建立一个创新平台,使我们能够快速创新,还拥有许多团队、许多项目和许多实用程序,存在同一个经济体系之下。”

阿里巴巴在美国申请名为“区块链系统跨链交互域名管理方案”的专利

阿里巴巴在美国申请了一项名为“区块链系统跨链交互域名管理方案”的专利。阿里巴巴于 8 月 15 日在 2018 年 11 月提交的申请中继续提交了最新申请。根据提交的文件,阿里巴巴打算为一个系统申请专利,该系统使用所谓的“统一区块链域名”(UBCDN) 来表示和共享信息。在该系统中,阿里巴 ...

Vitalik最新文章:3大原因诠释以太坊为什么会从PoW转向PoS

Vitalik Buterin认为,在相同成本条件下,PoS提供了更好的安全性。

元宇宙概念风靡全球,巨头们将会打造怎样的元宇宙?

元宇宙仍然在起步阶段,各种技术、道德、标准问题还需要解决。

关注金融科技新变量

关于我们

商务合作

关于我们

加入我们

免责声明

联系我们

邮箱

coinvoice@163.com

微信

VOICE-V

关注我们

微信公众号

扫码关注

CoinVoice

Copyright © 2020 CoinVoice. 沪ICP备18017380号-1

关注金融科技新变量,提供优质、原创、深度的新金融科技资讯,传递新金融科技价值,致力于服务全球金融科技创新者。

风险提示:本站所发布文章仅代表个人观点,与CoinVoice官方立场无关,请理性看待区块链,树立正确的投资理念,增强反诈意识,不要盲目跟风投资,本站内容不构成投资建议,请谨慎对待。

关注金融科技新变量

下载App

一文读懂跨链智能合约 |

一文读懂跨链智能合约 |

Skip to content

Blog

Menu

Menu

Announcements

Developers

Education

Research

Vision

More

More

IndustryMenu Toggle

Capital Markets

DeFi

Enterprise

Gaming

Insurance

NFTs

Real Estate

Social Impact

TopicsMenu Toggle

DECO Series

Economics

Metaverse

MEV

Real-World Assets

Scalability

Staking

Startups

Tokenization

Web3

ZK Series

ApplicationsMenu Toggle

AMM

Cross-Chain

DAO

DEX

Money Markets

Stablecoins

Synthetic Assets

Yield Farming

Zero-Knowledge

StackMenu Toggle

Brownie

Hardhat

Javascript

Python

Solidity

LanguagesMenu Toggle

Chinese

Korean

LanguageMenu Toggle

Chinese

Korean

SubscribeSubscribe

SubscribeSubscribe

New report: The Need for a Chainlink DeFi Yield Index.

Download now.

Clear all

Announcements

Developers

Education

Research

Vision

Automation

CCIP

Data Feeds

Data Streams

Functions

Proof of Reserve

VRF

Industry

Capital Markets

DeFi

Enterprise

Gaming

Insurance

NFTs

Real Estate

Social Impact

Topics

DECO Series

Economics

Metaverse

MEV

Real-World Assets

Scalability

Staking

Startups

Tokenization

Web3

ZK Series

Applications

AMM

Cross-Chain

DAO

DEX

Money Markets

Stablecoins

Synthetic Assets

Yield Farming

Zero-Knowledge

Stack

Brownie

Hardhat

Javascript

Python

Solidity

Languages

Chinese

Korean

Chinese 一文读懂跨链智能合约

February 24, 2022

2 min read

Author:

Chainlink

Table of Contents

一文读懂跨链智能合约

多链生态的崛起

跨链智能合约

“门店式”智能合约

CCIP将如何为跨链生态保驾护航

总结

Subscribe to newsletter

一文读懂跨链智能合约

多链生态的崛起

跨链智能合约

“门店式”智能合约

CCIP将如何为跨链生态保驾护航

总结

Subscribe to newsletter

跨链智能合约是去中心化的应用,由多个部署在不同区块链网络的智能合约组成。这些智能合约之间可以实现互操作性,并共同构成一个完整的应用。这种创新的设计范式对多链生态的发展起到了关键的推动作用,并将有潜力利用不同区块链、侧链和layer 2网络的独特优势,打造出全新的智能合约用例。

本文将探讨多链生态的发展历程,总结当前多链智能合约发展的优势和挑战,并深度解析多链智能合约将如何颠覆区块链dApp的开发模式。之后,我们还会列举跨链智能合约解锁的创新用例,以及跨链互操作性协议(CCIP)将如何在各个区块链之间实现跨链通信,并推动跨链智能合约向前发展。

多链生态的崛起

之前,大部分智能合约应用都部署在以太坊主网上,因为以太坊是第一个支持完全可编程智能合约的网络。以太坊之所以能够成为主流的智能合约网络,不仅因为它具有先发优势,还因为它创建了不断增长的网络效应、去中心化的基础架构、成熟的开发工具以及庞大的Solidity开发者社区。然而,随着用户对以太坊智能合约的需求不断上升,以太坊区块空间(即计算资源)出现供不应求的状况,这也导致了以太坊网络的交易费一路飙升。虽然以太坊主网仍然是部署智能合约最安全的选择,但许多终端用户也开始寻求更加低成本的替代方案。

因此,过去一年中有越来越多的智能合约开始部署在其他layer 1区块链、侧链以及layer 2 rollup上,以此来满足用户和开发者的需求。多链生态在过去只是一个概念,而现在则变成了现实。目前,DeFi应用所部署的区块链愈发多元化,这也很好地证明了这一点。此外,日活钱包地址、交易次数以及网络贷款金额等各种链上衡量指标也无疑证明了多链生态正在蓬勃发展。

多链DeFi生态的发展历程。

随着各种新的区块链不断涌现出来,智能合约经济的总量也扶摇直上,吸引了更多新用户加入,以更低的成本展开交易。另外,每个侧链和layer 2都有自己独特的扩容方案和去中心化方案,在机制设计、共识、交易执行、数据可用性以及隐私方面也各具特色。在多链生态中,所有这些不同的模式都可以并行,在实践中得到检验,并最终推动生态向前发展。

以太坊社区也拥抱了这种多链策略,采取了以rollup为中心的发展路线,通过部署多个layer 2扩容方案来提升以太坊生态的吞吐量。Layer 2网络提高了以太坊智能合约的交易吞吐量,因此单笔交易费得以降低,并同时保持了以太坊主网的安全优势。具体方案是利用欺诈证明(fraud proof)或有效性证明(validity proof),在以太坊区块链上验证链下计算。之后还会利用数据分片技术来扩展rollup calldata的性能。

如今,越来越多的开发者都在多个区块链上部署智能合约代码库,以充分利用多链生态的优势。项目开发多链智能合约,既可以扩大用户群,又可以在低成本的区块链上试验新功能,以此规避成本风险。这种多链策略在多个DeFi垂直领域逐渐形成了势头。比如,SushiSwap DEX部署到了15条不同的区块链上;Beefy Finance的收益聚合器部署到了12条链上;Aave的货币市场则部署到了3条链上。

多链智能合约的瓶颈

多链生态虽然能为用户和开发者带来诸多好处,但将同一个智能合约的代码部署到多条区块链上还是会存在一系列特殊的挑战和利弊权衡。

首先,多链智能合约的代码每部署到一个新的区块链上,都需要创建一份原应用的副本,这就意味着应用不再具有唯一性。相反,部署在每条链上的智能合约都管理着自己的内部状态(比如追踪账户余额),而不同区块链上的合约几乎或甚至完全不能直接交互。虽然用户可以访问任何一条链上的应用副本,但不同链上的用户体验不能保证完全一样。

多链智能合约本质上是不同链上互相孤立的dApp副本。

这种现象在去中心化交易平台上尤为突出,特别是多链自动做市商(AMM)。由于用户资产只能同时存在于一条区块链上,因此应用的流动性会分散在不同的区块链上。结果就是,每条链上应用的锁仓量都会降低,这会导致交易滑点增大并且交易费收入下降。另外,AMM应用每部署到一个新的区块链上,都需要从零开始创造流动性。如果新链上也采用yield farming来冷启动,那么这会导致协议的原生通证不断被稀释。

如果应用需要对其状态维持单一事实来源,比如统一注册的链上域名系统,那就很难做到多链部署。如果在每条链上都分别部署注册表,那么不同人可能会在不同链上注册同一个域名,这将会引起混乱。因此,如果应用要保证全局状态的一致性,通常只会部署在一个区块链网络中。

除了应用层面的挑战以外,多链系统还会为终端用户带来麻烦。用户可能需要学习如何与其他区块链进行交互。由于某一条区块链上的资产只能在这条链上的dApp中使用,因此,用户必须手动使用通证桥,将通证发送到其他区块链上的dApp中使用。用户不仅需要重新配置钱包,熟悉新链上的操作流程,并持有底层区块链通证以支付gas费;还不得不在一定程度上牺牲安全性,因为目前许多跨链通证桥都存在安全问题。

总而言之,多链智能合约最大的瓶颈是:在不同区块链、侧链和layer 2上部署的智能合约之间几乎或甚至完全无法实现互操作性。虽然现在可以使用通证桥来实现多链部署,但要安全地跨链传输数据则需要采用一种全新的思路来设计智能合约的基础架构。

跨链智能合约

安全的跨链通信(即:在各个链上环境之间传输任意数据、通证和指令)是实现跨链智能合约的关键要素。跨链智能合约是去中心化的应用,由多个部署在不同区块链网络的智能合约组成。这些智能合约之间可以互相通信,并共同构成一个完整的应用。

跨链智能合约其实是一个完整的dApp将逻辑分别部署在不同的区块链上。

尽管可以用各种方式实现这一部署,但在最底层需要设计跨链智能合约,让开发者可以将应用分割成不同的模块。也就是说,不同链上的智能合约可以分别执行不同的任务,而所有智能合约又都保持同步,并共同实现同一个应用场景。这样,开发者就可以利用不同区块链的优势,实现独特的价值。比如:去中心化的应用可以利用第一条区块链的抗操纵性来追踪资产所有权;利用第二条区块链的高吞吐量来实现低延时交易;利用第三条区块链的隐私性来识别用户身份;并利用第四条区块链的去中心化存储功能来储存元数据。

另外,这种跨链智能合约的设计范式还可以使部署在多个区块链上的同一智能合约副本之间更加流畅地交互。这将有助于统一多链应用在不同区块链上的用户体验。因此,跨链智能合约可以解决现有多链智能合约面临的诸多瓶颈,并打造出全新的应用场景。为了进一步向各位展示跨链智能合约的无限潜力,下面为大家介绍几个用例。

跨链交易平台

用户在跨链去中心化交易平台(DEX)上执行交易时可以跨越各个区块链的通证池获得流动性,以解决多链DEX流动性分化的问题。比如,用户在交易时,其存入的通证可以被分割并桥接至不同区块链,以获得最佳的交易执行价格;然后再将交易完成后的通证桥接回原来的区块链并存入用户钱包。这样一来,所有区块链上的流动性都会被盘活,用户可以享受到更低的交易滑点,并且每条链上的流动性提供方都可以获得更高的交易费收入。

另外,跨链DEX的用户还可以将一条链上的原生通证换成另一条链上的原生通证。比如,用户可以将以太坊上的以太币换成比特币区块链上的比特币。这样一来,用户无需通过包装通证或中心化的交易所,就可以灵活交易各个区块链上的原生通证。

跨链收益聚合

跨链收益聚合可以将用户存入的资金放置在各条链上的DeFi协议中。这样一来,用户就无需手动将通证资产桥接到其他链上以最大化收益,并轻松获得更高的收益。因此,这将极大改善多链yield farming的体验,所有繁琐的流程都将得到简化。

除此之外,这个机制还能扩大DeFi应用在新兴区块链上的TVL,并以此盘活多链生态的流动性。

跨链借贷

跨链货币市场可以推动跨链借贷市场的发展,用户可以在一条链上存入抵押资产(如以太币),并在另一条链上贷入通证资产(如USDC)。这样一来,用户既可以将抵押资产放在更加安全的区块链上,又可以在吞吐量更高的区块链上贷入通证资产,并将资产放到这条链上的应用中产生收益。

跨链货币市场的用户还可以在另一条利率较低的区块链上贷入通证资产,然后将资产桥接回第二条区块链上还贷款。这将有助于统一不同区块链上的收益率,为低流动性、高利率的货币市场降低贷款成本。

跨链DAO

去中心化的自治组织(DAO)可以利用跨链互操作性,在一个或多个高吞吐量的区块链网络中展开链上投票,并且将投票结果发送回核心治理合约所在的成本较高的区块链上。这样做不仅可以为DAO的参与者降低交易成本,还能实现链上透明且抗操纵,并激励更多人参与。

另外,跨链DAO还可以无缝治理并修改不同区块链上的智能合约参数,拓宽一个或多个链上环境中持币者的治理范围。

跨链NFT

跨链NFT市场的用户可以在任何区块链上发布或竞拍NFT。这将提升NFT的流动性,并且NFT可以在竞拍结束后在不同区块链之间无缝传输。另外,某一区块链上的游戏也可以采用跨链互操作性来追踪另一条区块链上的NFT所有权。因此,用户能够将NFT安全地储存在任意区块链上,并同时在其他区块链的游戏中使用这些NFT。

***

以上用例只是冰山一角,跨链智能合约最终将实现无限可能。除了将去中心化应用分割成不同模块以外,跨链智能合约还可以通过其他方式来充分利用多链生态的优势。

“门店式”智能合约

现有的单链或多链智能合约可以部署“门店式”智能合约(storefront smart contract),以充分利用多链生态的优势。门店式智能合约为用户提供了一个入口,用户可以通过其访问其他链上的智能合约应用。用户可以通过这类智能合约,在不离开原有区块链环境的前提下,将资产存放在另一条链上的去中心化应用中。

用户无需手动将资产桥接至其他区块链上的智能合约中,他们甚至都不用知道智能合约到底在哪条区块链、侧链或layer 2上运行。对用户来说,其他区块链上的应用使用起来跟原生应用没有任何区别。

所有已经运行的去中心化应用,比如衍生品交易平台或货币市场,都可以通过向后兼容的方式添加门店式智能合约。由于智能合约本身具有可组合性,现有协议可以通过无需许可的方式添加跨链互操作性。流畅的用户体验和更高的互操作性,将极大推动多链经济的发展。

CCIP将如何为跨链生态保驾护航

虽然跨链智能合约彻底颠覆了去中心化应用的开发模式,但是如今大多数区块链网络在本质上仍然是相互孤立的。也就是说,这些区块链之间无法直接发送和接收数据。要实现跨链智能合约,就需要在链与链之间搭建跨链桥。

目前为止,跨链桥主要聚焦于在不同区块链之间传输通证,常见的方式是基于一条链上的原生资产在另一条链上铸造包装资产。然而,跨链智能合约需要通用化程度更高的桥来传输数据包、通证和指令。这类基础设施必须保证安全性和可靠性,并且代码库必须经过严格审计,以确保传输的消息不会被操纵,能够及时传到目标链上,并且可以经受住区块链重组等外部因素的考验。去中心化的预言机网络(DON)很好地解决了区块链预言机问题(即:区块链无法访问链下资源);同样地,DON也可以安全地实现区块链互操作性。

Chainlink网络可以兼容任何区块链上的协议,目前已集成至了一系列区块链、侧链以及layer 2。因此,Chainlink有足够的能力推动多链生态向跨链智能合约转型。为了实现这一目标,Chainlink目前正在开发跨链通信的全局开源标准,即跨链互操作性协议(CCIP)。

与普通的跨链桥不同的是,CCIP可以让智能合约跨越所有区块链安全地传输数据和通证。智能合约可以用任何方式对数据消息进行加密或解密,因此具有极高的灵活性。值得一提的是,CCIP将利用目前已在运行的Chainlink预言机节点。这些节点不仅具有极高的可靠性和防篡改性,而且还能兼容任何区块链,目前已经为多链DeFi经济保障了数百亿美元的价值。

 

CCIP不仅拥有高质量的代码库,还计划采用名为“防欺诈网络”(Risk Management Network)的创新风控系统来进一步保障安全。防欺诈网络由多个去中心化的预言机网络组成,这些预言机网络又由多个独立的节点委员会构成,这些节点不参与CCIP跨链桥的运行,而是专门负责监控CCIP服务中可能出现的恶意攻击行为或区块重组等网络突发状况。这一额外的验证层有权紧急关闭跨链桥,暂停数据和通证传输,以保护跨链智能合约和用户免受黑天鹅事件的影响。

跨链互操作性协议(CCIP)将在各个区块链之间传输消息。

目前已经有上百个单链或多链智能合约应用在使用Chainlink预言机获取链下数据以及信任最小化的计算资源。这些协议在将来还可以使用同样的去中心化基础设施,实现跨链互操作性。CCIP不仅可以为跨链智能合约提供基础设施,还能支持开发各种跨链通证桥,用户可以直接将通证桥接入不同的区块链,并同时发送指令部署这些通证。尽管跨链基础设施的开发面临一些挑战,但是必须将重点放在代码审计和防御机制的建立上,以在最大程度上保障安全性,而这正是建立CCIP标准的关键。

总结

如今,多链生态充满了创新机遇,有越来越多的开发者正在将应用部署至多链环境中,以吸引更多用户和流量。虽然多链智能合约设计范式面临一些瓶颈,但是跨链智能合约的出现将带来巨大的机会,不仅能够消除这些瓶颈,还能解锁一系列创新的用例。

CCIP旨在打造安全可靠的跨链基础设施,帮助去中心化应用安全地向任何区块链上的智能合约传输任意数据,以此加速这一转型。在上世纪九十年代,没人能预测如今互联网的所有应用场景;同样地,我们现在也无法准确预测跨链智能合约在未来大多数的应用场景。

如果你对使用CCIP开发跨链功能感兴趣,并希望了解更多资讯,请访问chain.link/solutions/cross-chain或联系Chainlink专家。

想要了解更多,请访问chain.link,订阅Chainlink新闻并在Twitter关注@chainlink。

Chinese

Need Integration Support?

Talk to an expert

Faucets

Get testnet tokens

Read the Docs

Technical documentation

You might also be interested in

一文读懂可验证网络如何保障互联网信息的真实性

可验证网络采用了区块链技术、去中心化计算以及加密技术来执行合约,以提升系统透明性,并让用户更好地掌控自己的数据、身份信息和资产。

February 22, 2024

3 min read

新报告:对Chainlink DeFi Yield Index的需求

Chainlink DeFi Yield Index (CDY Index) 旨在利用业界标准的Chainlink价格预言机来聚合DeFi借贷收益率。通过提高链上借贷协议收益机会的易寻性,CDY指数旨在提升DeFi借贷市场的资本效率。

January 29, 2024

2 min read

一文读懂跨链桥的七大关键漏洞

要实现跨链安全性,只采取某一种安全机制是不够的。实际上,要建立稳健的跨链安全模式,需要采取深度防御机制,综合使用多种安全机制,全面地防范攻击。这也是我们构建行业标准的跨链解决方案Chainlink CCIP的初衷。

January 24, 2024

3 min read

Stay updated on the latest Chainlink news

DevelopersDocs

Faucets

Developer Hub

Developer ExpertsAPPLY

Chainlink Hackathon

Bootcamp

Use Cross-Chain (CCIP)

Use Data Feeds

Use Randomness (VRF)

Use Automation

Use Functions

Node Operators

ProductsCross-Chain

Data Streams

Market and Data Feeds

Functions

VRF

Automation

Proof of Reserve

Use CasesOverview

Financial Services

DeFi

Gaming

NFT Collectibles

Climate Markets

Enterprise

Insurance

CommunityCommunity Overview

Grant Program

Events

Become an Advocate

Code of Conduct

ResourcesWhitepaper

Case Studies

Tech Talks

Blog

Economics 2.0

Staking

FAQs

Education Hub

What Is DeFi?

What Is an Oracle?

What Is a Smart Contract?

What Is an NFT?

What Is Web3?

What is Asset Tokenization?

ChainlinkEcosystem

Data Providers

Press

Team

Circulating Supply

Brand Assets

Chainlink Badging

ContactTalk to an Expert

Security

Support

Custom Chainlinks

Press Inquiries

Social

Twitter

YouTube

Discord

Telegram

WeChat

Reddit

Kakao

Chainlink®

© 2023 Chainlink Foundation

Privacy Policy

Terms of Service

Go to search page

庖丁解牛“区块链钱包”实现原理 - 知乎

庖丁解牛“区块链钱包”实现原理 - 知乎首发于区块链技术支持切换模式写文章登录/注册庖丁解牛“区块链钱包”实现原理支付技术那些事关于支付的一切问题,在这里都能找到答案一、钱包涉及到的技术结论: 钱包的技术主要涉及到的就是助记词、种子、私钥以及子私钥等。二、技术角度的钱包分类目前现在的钱包都是HD钱包,这个也是主流的趋势。三、钱包遵循的协议和标准大家知道市场上的钱包能够相互打通,因为各种钱包之间遵循的都是相同的标准和协议。这个协议就是BIP协议,中文翻译比特币改进协议。不要看它的名字叫比特币协议,其实最初是针对比特币的,不过慢慢发展,以太坊钱包也遵循了这类协议。在这三类BIP协议,其中,信息类BIP是可以完全忽略,没有什么实际用处。标准类BIP和过程类BIP对于比特币网络的改进是十分重要的,大多数比特币的改进和升级什么的都遵循这种协议。如果你想对比特币网络有所改进,可以在bip提出意见。关于钱包的主要有4个:1)BIP-39 : 提出了助记码2)基于BIP-32:HD钱包的主协议3)BIP-43,对32的改进,提出多用途HD钱包结构4)BIP-44,也是对32协议的改进,提出多币种和多账户钱包开源bip协议地址: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki四、先看一个实例1)可以通过下面这个网址体验一下钱包涉及的协议过程:https://iancoleman.io/bip39/#english2)下图是效果图:1.生成助记词过程2.生成种子3.生成32的根密钥五、BIP39协议5.1 定义: 助记码词汇和种子的创建过程。5.2 助记词和种子的区别: 1. 确定性钱包是由种子衍生创造的。 2. 为了便于使用和记忆,种子被编码成助记词。 3. 种子是128到256位的随机数,是程序底层的。 4. 助记词是12~24个单词的随机序列,是面向用户的。 5. 两者是统一事物的两种不同的表现形式,其本质是一样的5.3 BIP-39标准过程两部分 第一部分是创建助记词; 第二部分是从助记词生成种子。5.4 生成助记词的过程实际的应用中,熵的长度越长,校验码的长度和助记词的长度也会相应的增长。下图展示了熵数据的大小和助记词的长度之间的关系:5.5 由助记词生成种子:助记词实际上代表的是128至256位的熵。接下来,将会使用密钥延伸函数PBKDF2 (Password-Based Key Derivation Function)来导出较长的(512位)的种子。助记词和盐:密钥延伸函数有两个参数,助记词和盐。盐的目的是增加构建能够进行暴力攻击的查找表的难度。在BIP-39标准汇总,盐有另一个目的,那就是可以允许引入密码短语,作为保护种子的附加安全因子。下图为助记词生成种子的过程。安全性:BIP-39标准允许在推导种子时使用可选的密码短语。如果没有使用密码短语,助记词是用有常量字符串“助记词”构成的盐进行延伸。给任何给定的助记词产生一个特定的512位种子。如果使用了密码短语,密钥延伸函数使用同样的助记词会产生不同的种子。这样助记码加可选密码的组合方式,使得产生的种子的数量大大增加。六、BIP32协议6.1 两个过程所谓创建HD钱包,其实指的是怎么利用种子来创建钱包所使用的所有的密钥。6.2 从种子中创建主秘钥根种子输入到HMAC-SHA512算法中,就可以得到一个用来创造的主私钥和主链代码的哈希主私钥之后,可以通过使用椭圆曲线乘法m*G 来生成相对应的主公钥(M)链代码用于在母密钥创造子密钥过程使用的哈希函数中引入熵。6.4 从母密钥衍生子密钥:子密钥衍生函数是基于单向哈希函数的,这个函数结合了以下三个部分:一个母私钥或者公共钥匙(ECDSA未压缩键)一个叫做链码的种子(256bits)一个索引号(32bits)6.5 扩展密钥密钥衍生函数可以被用来创造密钥树上任何层级的子密钥。这只需要三个输入量:一个密钥,一个链码以及想要的子密钥的索引。密钥以及链码这两个重要的部分被结合之后,就叫做扩展密钥(extended key)。也被认为是“可扩展的密钥”,因为这种密钥可以用来衍生子密钥。扩展密钥可以简单地被储存并且表示为简单的将256位密钥与256位链码所并联的512位序列。有两种扩展密钥: 1)扩展的私钥是私钥以及链码的结合。它可被用来衍生子私钥(子私钥可以衍生子公钥)。 2)公钥以及链码组成扩展公钥,它可以用来扩展子公钥6.6 硬化子密钥的衍生从扩展公钥衍生一个分支公钥的能力是很重要的,但牵扯一些风险。访问扩展公钥并不能得到访问子私钥的途径。但是,因为扩展公钥包含有链码,如果子私钥被知道或者被泄漏的话,链码就可以被用来衍生所有的其他子私钥。为了应对这种风险,HD钱包使用一种叫做硬化衍生(hardened derivation)的替代衍生函数。这就“打破”了母公钥以及子链码之间的关系。这个硬化衍生函数使用了母私钥去推导子链码,而不是母公钥。这就在母/子顺序中创造了一道“防火墙”——有链码但并不能够用来推算子链码或者姊妹私钥。6.7 正常衍生和强化衍生的索引号码用在衍生函数中的索引号码是32位的整数。为了区分密钥是从正常衍生函数中衍生出来还是从强化衍生函数中产出,这个索引号被分为两个范围。索引号在0和2^31–1(0x0 to 0x7FFFFFFF)之间的是只被用在常规衍生。索引号在2^31和2^32– 1(0x80000000 to 0xFFFFFFFF)之间的只被用在强化衍生。因此,索引号小于2^31就意味着子密钥是常规的,而大于或者等于2^31的子密钥就是强化型的。为了让索引号码更容易被阅读和展示,强化子密钥的索引号码是从0开始展示的,但是右上角有一个小撇号。第一个常规子密钥因此被表述为0,但是第一个强化子密钥(索引号为0x80000000)就被表示为0'。第二个强化密钥依序有了索 引号0x80000001,且被显示为1',以此类推。当你看到HD钱包索引号i',这就意味着 2^31+i。七、BIP32的复杂HD钱包树状结构提供了极大的灵活性。每一个母扩展密钥有40亿个子密钥:20亿个常规子密钥和20亿个强化子密钥。而每个子密钥又会有40亿个子密钥并且以此类推。只要你愿意,这个树结构可以无限类推到无穷代。但是,又由于有了这个灵活性, (1)对无限的树状结构进行导航就变得异常困难。 (2)尤其是对于在不同的HD钱包之间进行转移交易,因为内部组织到内部分支以及亚分支的可能性是无穷的。八、BIP43BIP-43提出使用第一个强化子索引作为特殊的标识符表示树状结构的“purpose”。基于BIP-43,HD钱包应该使用且只用第一层级的树的分支,而且有索引号码去识别结构并且有命名空间来定义剩余的树的目的地。举个例子,HD钱包只使用分支m/i'/是 为了表明那个被索引号“i”定义的特殊为目地。九、BIP44BIP-44提议了多账户结构作为“purpose”。所有遵循BIP-44的HD钱包依据只使用树的第一个分支的要求而被定义:m/44'/。BIP-44指定了包含5个预定义树状层级的结构: m / purpose' / coin_type' / account' / change / address_index第一层的purpose总是被设定为44'。第二层的“coin_type”特指币种并且允许多元货币HD钱包中的货币在第二个层级下有自己的亚树状结构。目前有三种货币被定义:Bitcoin is m/44'/0'、Bitcoin Testnet is m/44'/1',以及 Litecoin is m/44'/2'。第三层级是“account”,这可以允许使用者为了会计或者组织目的,而去再细分他们的钱包到独立的逻辑性亚账户。 举个例子,一个HD钱包可能包含两个比特币“账户”:m/44'/0'/0' 和 m/44'/0'/1'。每个账户都是它自己亚树的根。第四层级就是“change”。每一个HD钱包有两个亚树,一个是用来接收地址一个是用来创造找零地址。注意无论先前的层级是否使用强化衍生,这一层级使用的都是常规衍生。第五层级的树的“address_index”,被HD钱包衍生的可用的地址是第四层级的子级十、总结10.1 生成HD钱包的原理:1. 生成HD Wallets钱包的时候除了会生成主私钥(master private key)和主公钥(master public key),还会生成一个chain code。2. 利用master private key + chain code可以得到指定的子私钥(sub private key);3. 利用 master public key + chain code可以得到指定的子公钥(sub-public key);4. 为了方便起见,HD Wallets引入了extended的概念,以方便使用。即: 扩展型私钥extended private key包含了private key和chain code 扩展型公钥extended public key包含了public key 和 chain code5. 每个private/public key可以派生出2^32个sub-private/public key,编号用index表示。而所有派生出来的sub-private/public keyy可以继续派生2^32个sub-sub private/public key,一直持续下去…… 这就有了层级(dept)的概念。6. 编号(index)和层级(dept)就构成了路径(PATH),就像我们的文件夹路径,不过这里的节点名都是数字。m(根节点)的派生出来的子节点的路径是m/0到m/2^32-1,而m/0派生出来的子节点是m/0/0到m/0/2^32-1 。7. 从上面几点很容易理解,假设要得到m/0/0的公钥,只需要m/0的公钥即可,而非一定需要m的公钥(即主公钥),私钥同理。10.2 HD Wallets的高级使用方法BIP44BIP44只是一个规则,它提出了5层的路径建议,如下: m/purpse’/coin_type’/account’/change/address_index各层的意义如下:1. Purpose:确定路径规则,BIP44一般默认为44’index为0x8000002C(即 2^31-1+44)2. Coin_type:币种,一般推荐0’表示Bitcoin。【其他币种也可以使用的,只不过在从公钥(public key)生成地址(Address)的时候算法不同而已。】3. Account:顾名思义,是账户的意思。4. Change:找零。一般使用0对外收款,1接受每次交易的找零5. Address_index:地址索引BIP44的规则使得HD Wallets非常强大。用户只需要保存一个主私钥,就能控制所有币种,所有账户的钱包。Account(账户)可以有热账户也可以有冷账户。Account各自有自己的“Account主私钥”和“Account主公钥”(例:m/44’/0’/0’)如果给某个网站收钱或第三方监管,仅需提供Account主公钥和chain code即可,而不需要提供HD Wallets主公钥(master public key),其他的Account的地址如果没有发生过签名,那么依然是冷钱包(冷的Account)。BIP44的第4层也为找零机制提供了很好的支持。在支持找零机制的情况下,只要用户不使用同一地址多次收款,那就完全可以避免同一个私钥多次签名的情况发生。也就没有了私钥暴露的风险 -------如果喜欢,欢迎关注 微信公众号:金融科技那些事(fin-tech-share)-----编辑于 2018-08-19 18:14区块链(Blockchain)钱包金融​赞同 4​​3 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录区块链技术支持柚子财

什么是多签钱包 - TokenPocket(Chinese)

什么是多签钱包 - TokenPocket(Chinese)

TokenPocket(Chinese)Search⌃KTokenPocket简介基础知识什么是区块链?什么是去中心化钱包?什么是私钥、助记词和密码?什么是矿工费?什么是DeFi?什么是DEX?什么是keystore什么是硬件钱包什么是冷钱包什么是热钱包什么是观察钱包什么是多签钱包什么是插件钱包什么是Passphrase安全知识常见诈骗案例安全措施钱包常见问题BTC钱包ETH钱包BSC钱包TRON钱包波卡钱包SUI钱包Solana钱包OKX钱包Aptos钱包多链钱包多签钱包AA智能钱包杀毒软件误报钱包操作关于下载TokenPocket APP如何在DEX上交易?创建钱包教程关于自定义网络关于DApp使用关于NFT使用钱包工具在App Store给TP Wallet鼓励和反馈协议层新功能操作指引️钱包管理代币管理钱包管理区块浏览器使用教程钱包转账如何收款?如何转账到钱包/交易所?如何取消转账交易?如何加速转账交易?如何在发起转账时添加memo?关于转账的安全事项关于不同公链的代币转账钱包转账常见问题多链批量转账工具‍开发者模块如何自主更新代币图标?如何自主更新NFT图标?如何提交代币?如何提交DApp?如何提交NFT?如何提交公链?插件钱包基本功能介绍插件钱包使用教程插件钱包更新隐私政策使用协议产品公告公告专区APP更新致中国境内用户:TokenPocket 产品政策调整说明关于腾讯管家误报TokenPocket的安全声明联系我们加入我们联系方式司法协助政策相关协议Eth 2.0服务协议Powered By GitBook什么是多签钱包与多签钱包对应的是单签钱包,我们要往区块链上发送一笔转账操作,需要用钱包生成一个签名,我们自己签好名把交易发送出去,这就是典型的单签钱包,也是我们平时常用的钱包。多签钱包,顾名思义,就是需要多个人去签名执行某个操作的钱包。使用多签钱包进行转账,往往需要 >= 1 个人去签名发送交易,转账操作才可以完成。使用多签钱包时,我们可以指定 m/n 的签名模式,就是 n 个人里面有 m 个人签名即可完成操作。比如 2/3 签名模式,就是 3 个人里面有两个人签名就可以。ETH/ERC20 (包括 BSC/BEP20 等EVM链)的多签采用轻量智能合约(smart contract)方式。适用场景: 1. 用于需要多人管理资产,避免资产被个人挪用; 2. 通过多签对资产进行多重加密,增强资产安全性;3.其他安全应用场景。​点击查看如何创建多签钱包?​基础知识 - Previous什么是观察钱包Next - 基础知识什么是插件钱包Last modified 1yr ago

什么是多链钱包?相比单链钱包有什么优点?| 白话区块链入门114 - 白话区块链

什么是多链钱包?相比单链钱包有什么优点?| 白话区块链入门114 - 白话区块链

风险提示:防范以虚拟货币/区块链名义进行的非法集资风险。 ——银保监会等五部门

search

资讯

快讯

科普

专栏

search

mobile

白话区块链

区块链世界入口第一站,人人都能看懂

的区块链;24 小时热点实时追踪。

wechat

微信公众号

扫码关注

Hellobtc

什么是多链钱包?相比单链钱包有什么优点?| 白话区块链入门114

白话区块链

2019-04-24 11:44:48

微信分享

扫码分享

我们今天要介绍的是另外一个给钱包分类的维度。从是否支持多条链加密资产的维度,钱包可以分为:单链钱包和多链钱包。

作者:晏文春 / 来源:白话区块链

白话区块链曾在《钱包与地址》一文中介绍了钱包从不同维度的分类:

从是否联网的维度,钱包可以分为:热钱包和冷钱包

从用户是否自己掌握钱包私钥的维度,钱包可以分为:去中心化钱包和中心化钱包

从形态上,钱包可以分为硬件钱包、手机App 钱包、浏览器插件钱包等

……

我们今天要介绍的是另外一个给钱包分类的维度。从是否支持多条链加密资产的维度,钱包可以分为:单链钱包和多链钱包。

 01 

单链钱包

单链钱包是指只能存储、收发某一公链Coin或Token的钱包。比如只支持比特币存储、收发的比特币官方钱包Bitcoin Core,只支持以太坊的imToken1.0以及只支持EOS资产的Meet.One钱包等。

单链钱包很多时候称为主链钱包。这类钱包一般都是针对某一平台型公链开发的。比如imToken 1.0版本和MetaMask(很多朋友称其为小狐狸钱包),都是以太坊单链钱包,所以它们仅支持ETH及与使用同一标准的ERC-20的Token。

对于平台型公链来说,其主链Coin通常具备一定的使用功能。拿以太坊来举例,以太坊平台上有矿工、DApp用户等各类角色,他们的活动多是围绕着ETH来进行,主链钱包作为一个入口,为各类用户提供了存储、流通的便利。

平台型公链一般都有丰富的DApp,对应的主链钱包一般不仅能满足主链资产储存的需求,同时也可以作为该公链上DApp的一个入口。从这个角度看,钱包也是衡量平台型公链可用、易用的标准之一。

 02 

多链钱包

多链钱包,简单说就是可支持多种主链平台Token的钱包。常见的多链钱包有:比特派、imToken2.0、Cobo Wallet等。

目前加密货币市场,公链种类越来越多,很多圈内用户持有多条公链的加密资产,如果为每条公链资产都配置主链钱包的话,那是非常麻烦的。多链钱包的出现就很好的解决了这个问题,只需要一个钱包就可以方便地管理多条公链的加密资产。为用户提供极大的便利,减轻了管理多链资产的负担。

比如当你同时拥有比特币、以太坊、EOS时,就可以将它们放在支持这三类资产的多链钱包里。

多链钱包的出现满足用户一个钱包就能管理多链加密资产的需求,但不同公链之间资产交换的问题,在多链钱包内,目前还没有成熟的解决方案,在多链钱包内提供不同公链间资产的交换,也许是钱包发展的一大趋势。

 03 

总结

单链钱包只能存储、收发某一主链上的加密资产,在一定程度上,它是公链生态的入口。多链钱包可以存储、收发多条公链上的资产,为用户管理各位公链资产提供极大的便利,减轻了用户管理多链资产的负担。

随着区块链行业的发展,市面上的加密货币钱包也越来越多,你在选择钱包时,主要会考虑哪些因素呢?欢迎在留言区交流你的心得。

钱包

白话推荐阅读

Web3钱包:科技巨头推动行业创新的潜在杠杆点 08-22 09:54账户抽象:Web3 钱包的下一件大事 07-19 14:13Vitalik EthCC 演讲总结:账户抽象让加密钱包像电子邮 07-19 10:51数据分析:盘点 3.6 亿Web3用户钱包使用现状 07-05 16:45ERC-6551: 让 NFT 成为钱包账户,将会产生哪些新叙事? 07-05 12:49所有人问 Vitalik:BCH文化有所进步,MPC钱包有根本缺陷 06-30 11:56

我帮国人在非洲做Worldcoin KYC 每天挣两万 07-27 21:373千万美金BALD rug幕后黑手系SBF?看看“推特侦探”们都 08-02 03:01

白话区块链

区块链世界入口第一站,人人都能看懂的区块链

当你向朋友推荐比特币时…… 未来大概率是“多链时代”,其中一定蕴 imToken 风险测评通关攻略 USDT波动大、溢价高时说明什么?USDT转 DApp的机遇在哪里?

白话区块链

区块链世界入口第一站,人人都能看懂的区块链;24 小时热点实时追踪。

热门文章

为什么现在没什么人谈「区块链」了

08-02 14:24

破坏区块链项目团队长期战略的方式

06-07 10:49

三种基于以太坊LST建立的稳定币协

06-06 19:29

万字长文|15个加密赛道发展现状与趋

05-19 11:59

Facebook等大厂超十亿用户数据遭泄

07-04 13:21

元宇宙的起源:虚拟世界进化史

03-25 14:00

摩根大通元宇宙报告:打工人与企业

02-18 16:05

马斯克预言2022经济危机,我们如何为

01-17 15:51

区块链红利吃饱后,这个巨头又想征服

12-27 22:22

元宇宙是不是骗局咱不知道,但骗子来

12-21 15:07

微信公众号

扫码关注

Hellobtc

关于我们

关于白话区块链

用户协议

免责声明

加入我们

隐私条款

服务联系

白话区块链入门

公众号

© 2017 ~ 2020 南京链上网络科技有限公司 版权所有 苏ICP备17074177号-1

什么是多链钱包系统开发丨多链钱包系统开发技术详细及源码分析-阿里云开发者社区

什么是多链钱包系统开发丨多链钱包系统开发技术详细及源码分析-阿里云开发者社区

产品解决方案文档与社区权益中心定价云市场合作伙伴支持与服务了解阿里云售前咨询 95187-1 在线服务售后咨询 4008013260 在线服务其他服务 我要建议 我要投诉更多联系方式备案控制台开发者社区首页探索云世界探索云世界云上快速入门,热门云上应用快速查找了解更多问产品动手实践考认证TIANCHI大赛活动广场活动广场丰富的线上&线下活动,深入探索云世界任务中心做任务,得社区积分和周边高校计划让每位学生受益于普惠算力训练营资深技术专家手把手带教话题畅聊无限,分享你的技术见解开发者评测最真实的开发者用云体验乘风者计划让创作激发创新阿里云MVP遇见技术追梦人直播技术交流,直击现场下载下载海量开发者使用工具、手册,免费下载镜像站极速、全面、稳定、安全的开源镜像技术资料开发手册、白皮书、案例集等实战精华插件为开发者定制的Chrome浏览器插件探索云世界新手上云云上应用构建云上数据管理云上探索人工智能云计算弹性计算无影存储网络倚天云原生容器serverless中间件微服务可观测消息队列数据库关系型数据库NoSQL数据库数据仓库数据管理工具PolarDB开源向量数据库热门Modelscope模型即服务弹性计算云原生数据库物联网云效DevOps龙蜥操作系统平头哥钉钉开放平台大数据大数据计算实时数仓Hologres实时计算FlinkE-MapReduceDataWorksElasticsearch机器学习平台PAI智能搜索推荐人工智能机器学习平台PAI视觉智能开放平台智能语音交互自然语言处理多模态模型pythonsdk通用模型开发与运维云效DevOps钉钉宜搭支持服务镜像站码上公益

开发者社区

安全

文章

正文

什么是多链钱包系统开发丨多链钱包系统开发技术详细及源码分析

2023-02-27

114

版权

版权声明:

本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《

阿里云开发者社区用户服务协议》和

《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写

侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

简介:

多链钱包,多链钱包简单来说便是能够支撑多个主链渠道令牌的钱包。常见的多链钱包有Bitter、imToken2.0、Cobo钱包等。

  单链钱包通常被称为主链钱包。这种钱包一般是针对渠道型公链开发的。比方IM Token版和MetaMask(许多朋友叫它小狐狸钱包)都是以太坊单链钱包,所以只支撑使用相同规范的ETH和ERC-20令牌。

  多链钱包

  多链钱包简单来说便是能够支撑多个主链渠道令牌的钱包。常见的多链钱包有Bitter、imToken2.0、Cobo钱包等。

/**

entropy为上面通过SecureRandom生成的随机数组

**/ public List toMnemonic(byte[] entropy) throws MnemonicException.MnemonicLengthException {

//为了减少字数删来检查参数的代码

//计算entropyhash作为后面的checksum

byte[] hash = Sha256Hash.hash(entropy);

//将hash转换成二进制,true为1,false为0。详情请看bytesToBits函数的解析

boolean[] hashBits = bytesToBits(hash);

//将随机数组转换成二进制

boolean[] entropyBits = bytesToBits(entropy);

//checksum长度

int checksumLengthBits = entropyBits.length / 32;

// 将entropyBits和checksum加起来,相当于BIP39中的ENT+CS

boolean[] concatBits = new boolean[entropyBits.length + checksumLengthBits];

System.arraycopy(entropyBits, 0, concatBits, 0, entropyBits.length);

System.arraycopy(hashBits, 0, concatBits, entropyBits.length, checksumLengthBits);

/**

*this.wordList是助记词列表。

*

**/

ArrayList words = new ArrayList<>();

//助记词个数

int nwords = concatBits.length / 11;

for (int i = 0; i < nwords; ++i) {

int index = 0;

for (int j = 0; j < 11; ++j) {

//java中int是由32位二进制组成,index左移1位,如果concatBits对应的位为true则将index对应的位设置位1

index <<= 1;

if (concatBits[(i * 11) + j])

index |= 0x1;

}

//根据索引从助记词列表中获取单词并添加到words

words.add(this.wordList.get(index));

}

//得到的助记词

return words;

}

开发V_MrsFu123

目录

热门文章

最新文章

为什么选择阿里云什么是云计算全球基础设施技术领先稳定可靠安全合规分析师报告产品和定价全部产品免费试用产品动态产品定价价格计算器云上成本管理解决方案技术解决方案文档与社区文档开发者社区天池大赛培训与认证权益中心免费试用高校计划企业扶持计划推荐返现计划支持与服务基础服务企业增值服务迁云服务官网公告健康看板信任中心关注阿里云关注阿里云公众号或下载阿里云APP,关注云资讯,随时随地运维管控云服务售前咨询:95187-1售后服务:400-80-13260法律声明及隐私权政策Cookies政策廉正举报安全举报联系我们加入我们阿里巴巴集团淘宝网天猫全球速卖通阿里巴巴国际交易市场1688阿里妈妈飞猪阿里云计算AliOS万网高德UC友盟优酷钉钉支付宝达摩院淘宝海外阿里云盘饿了么© 2009-2024 Aliyun.com 版权所有 增值电信业务经营许可证: 浙B2-20080101 域名注册服务机构许可: 浙D3-20210002 京D3-20220015浙公网安备 33010602009975号浙B2-20080101-4

分层确定性钱包 HD Wallet 剖析:设计和实现

分层确定性钱包 HD Wallet 剖析:设计和实现

You need to enable JavaScript to run this app.