分分钟搞懂HDM 分层确定性多重签名

区块链技术巴比特2017-11-25 06:52:31  阅读 -评论 0

HDM = HD + Multisig

HDM 的全称是“分层确定性多重签名”,这个看起来很“难”的东东,原理上其实并不复杂,它就是结合了 HD (分层确定性)和 Multisig (多重签名)技术的比特币钱包解决方案,因此,想搞懂 HDM ,只要弄明白“什么是 HD?” 、“什么是 Multisig?”,也就足够了。

关于 HD ,小太之前写过两篇文章中,已经比较详细的讲述了 HD 模型的优点和缺点,因此在此就不再赘述,有兴趣的童鞋可自行翻阅。

1、《分分钟搞懂 HD 钱包》
2、《千里之堤毁于蚁穴》

HD 模型自是不必多说,Multisig (多重签名)则还得讲讲。
关于 MultiSig(多重签名),小太还是那句话,从原理角度上讲,多重签名本身并不复杂,简单来说,一句话就够了:
“用 m 把钥匙生成一个多重签名的地址,需要其中的 n 把钥匙才能花费这个地址上的比特币,m >= n,这就是 n/m 的多重签名”
比如说,我们见过了2/2 、2/3的多重签名,也曾有人设计过1/7的多重签名,它们的原理其实都一样,您都可以尝试着直接套用上面的那句话,把这些方案简单说清楚。

多重签名的重点,并不在于您是否使用了“多重签名”这个词,而在于您这几把钥匙(私钥)的管理方式,管得好就安全,管得不好则甚至还有可能不如普通的比特币地址。这几把钥匙是“如何生成?如何使用?如何保管?”的,对这些问题的回答,才能真正决定您所采用的多重签名解决方案是好是坏,仅仅是“多重签名”这几个字是远远不够的。

比如说,您可以在一个统一的“地点”(比如说,一部手机、一台电脑或者是某个网站的一个页面上)生成多把钥匙来构成一个多重签名的地址,相比起同样在这部手机、这台电脑、这个网站的这个页面上生成一把钥匙来构成一个普通的比特币地址,安全性到底又能提高多少呢?

再比如说,这几把钥匙都是用怎样的随机数算法生成的?谁拥有着管理权(网站、用户)?存储在什么地方?如何备份?如何加密?如何认证用户身份?等等。所有这些问题都会影响到多重签名解决方案的安全性。

从上面的论述,可以看出,对于多重签名来说,重点不在于“概念”,而在于“使用方式”。如何正确的实现多重签名解决方案,在尽可能保证用户易用的同时让用户能享受多重签名所能带来的安全和扩展功能,这就需要认真设计,来尽可能的回答好上述可能影响安全性的问题。

因此,我们才会基于比太之前的“冷热”模型,设计出 HDM 这个混合了 HD 和 Multisig 技术的解决方案,这样就能比较好避免一些 HD 和 Multisig 中的潜在不足,并且能规避之前所提到的 HD 模型先天缺陷,让用户能在尽享 HD 模型的易用的同时,又能获得多重签名的安全及扩展功能。

首先,比太的 HDM 模型是2/3的多重签名(2/3的优点很多,小太在这里就不在赘述了),HDM 的2/3,与普通多重签名的区别就在于,构成多重签名的三把钥匙,都是用 HD 模型来生成的。
也就是说,你可以想象成有3个 HD 的种子(根私钥),可以生成3个系列的子私钥,然后使用对应的子私钥拼出多重签名的地址。

分分钟搞懂HDM  分层确定性多重签名
对应于比太的 HDM 模型来说,3个 HD 种子(遵循 BIP32/BIP44 规范)分别是:

1、冷钱包种子(HDM Cold Seed);
2、热钱包种子(HDM Hot Seed);
3、服务器种子(HDM Server Seed);

用户使用比太钱包,在冷钱包上生成 HDM 冷种子,在热钱包上生成 HDM 热种子,再绑定 HDM 服务器种子,即可实现 2/3 的多重签名。

上述模型中,绑定 HDM 服务器的 API 接口需要有用户的注册、登录及授权模型的(传统网站的用户体系需要依赖于邮箱注册、手机绑定、谷歌二次验证等),比太的 HDM 模型则是使用了 BitID 相关的技术,通过使用 HDM 冷种子来完成 API 的授权与绑定,这样,用户只需要备份 HDM 冷种子,就能确保资产安全。

采用这种方式设计出来的 HDM 模型,基本上就能回答上述多重签名管理方式上的相关问题了,比如说:

1、用户的 HDM 冷热种子,均是在用户自己的日常手机和备用手机(运行着比太的冷热钱包版本)上生成的,均基于了极随机(XRANDOM)这个真随机数生成器的解决方案,无论是随机性、安全性都非常高;

2、用户只需使用 HDM Hot 热钱包和 HDM Server 即可完成日常支付,大部分情况下并不需要使用 HDM Cold 冷钱包;

3、用户只需备份一个 HDM 冷种子(可以是 BIP39 格式的24个单词,或者是冷种子加密二维码),而且只需备份一次,无论未来会生成多少个新的多重签名地址,都不需要重新可进行备份;

4、用户拥有着冷、热两把钥匙的管理权,HDM 服务器仅为用户提供一个服务器种子,满足匹配多重签名地址及签名交易的需求,用户敏感信息(子私钥等),无论加密与否,均不会出现在 HDM 服务器上,这是比太 HDM 模型与其他大部分多重签名网站的本质区别,多重签名相关操作如组合多重签名地址、准备交易、收集签名、广播交易等,均在用户的 HDM 热钱包上完成;

5、冷、热、服务器之间,不传递任何的子私钥或者上一级(Account)公钥,因此,完全无任何泄漏风险。比如说,用户无法获得服务器的任何子私钥和上一级公钥,服务器也无法获得用户的,用户冷热钱包之间也无子私钥和上一级公钥信息,绝对隔绝了各级之间的信息访问,也在一定程度上避免了 HD 模型的潜在风险;

6、我们是比较早就全面实现了 RFC6979 签名算法的钱包解决方案,从这个角度上讲,比太在签名交易方面本就比大部分解决方案更加安全,而且在 HDM 模型下,因签名暴露私钥,进而导致用户丢失资产的概率则更低(特别说明:HDM 冷钥匙基本上不用于签名交易,仅用于恢复,因此,冷钥匙更无暴露风险);

通过上述描述,大家就应该能看出 HDM 能给用户带来的潜在好处了,它能让用户在尽享 HD 的易用的同时,还能回避 HD 的先天缺陷,同时还能获得 Multisig 的安全及可能的功能扩展。

出于冷热钱包模型的设计(HDM 冷和热),当前用户试用比太 HDM 解决方案时,需要准备两部手机(一部日常手机运行 HDM 热钱包,一部备用手机运行 HDM 冷钱包)。可能有用户会觉得两部手机比较麻烦,但总的说来,只需备份一个 HDM 冷种子,就能在非常安全的情况下,方便的生成非常多的多重签名地址,轻松使用多重签名来发送和接收比特币,这一点代价还是值得的。

未来,我们还会考虑基于当前的 HDM 模型设计一些扩展功能,满足部分用户仅使用一部手机就能尝试 HDM 的需求,以及考虑如何更好的满足企业潜在的 HDM 扩充需求。

作者:比太钱包
官方微博:@比太钱包 http://weibo.com/bither
捐赠地址:1BsTwoMaX3aYx9Nc8GdgHZzzAGmG669bC3
本文首发巴比特资讯:http://www.8btc.com/hdm

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们100@7234.cn

    参与讨论 (0 人参与讨论)

    相关推荐

    区块链投资趋势报告:巨头入场布局行业趋于成熟

    区块链投资趋势报告:巨头入场布局行业趋于成熟

    来自:https://mp.weixin.qq.com/s?__biz=MzI4NzIxOTY1NA==&mid=2650632639&idx=1&sn=e6d1c29731d992a80410aaee82ec3ea6&chksm=f3d8db16c4af520097e4a64a71b1d4743ac326b9f027

    重新发明货币

    重新发明货币

    一、货币的演化过程 先简单回顾一下人类货币的演化过程,大概有以下阶段: a. 1.0版本:自然货币(贝壳、牲口、金银……) 这个阶段,货币基于一般等价物的稀有性或者实用性,货币不可能出现人为操纵的超发。 b. 2.0版本:早期纸币、银票到本位纸币 当贸易量越来越大,实物货币太不方便了,而且大家发现其实并不在意货币本身有什么价值,在意的只是这么多的货币能不能交换到足够的物品,于是纸币这种信用货

    从比特币交易看欧洲央行虚拟货币分类

    从比特币交易看欧洲央行虚拟货币分类

      互联网对传统社会的颠覆从未停止,在其完成对信息流、商流、物流、资金流的初步改造之后,或将以虚拟货币的形式打破现有货币体系   4月18日,在中国极客张沈鹏创办的比特币交易平台(42BTC.com)上,比特币对人民币的平均交易价为576元。当天,该平台完成了100个比特币的交易量。仅仅过去一周,4月25日上午,比特币对人民币的平均交易价已达到906元。据42BTC网站统计:在过去的32个月

    欧洲央行-比特币报告

    3.1 比特币 3.1.1 基本特征          比特币可能是最成功的,也可能是最有争议的虚拟货币方案,由日本程序员中本聪(译者注:事实上,中本聪是不是日本人,甚至是不是单个人无从考证)在2009年设计并实现。该计划基于一个类似于BitTorrent的P2P网络。BitTorrent是互联网上著名的共享文件协议,应用在电影,游戏和音乐领域。比特币在全球层面上运作,可用于各类货币交易(虚

    彻底玩转比特币地址和私匙

    彻底玩转比特币地址和私匙

    比特币地址和私匙是所有比特币初学者面对的一大难题,再加上那一串超长的字符串,让人更是摸不到头脑。 现在编者以问答的形式,带你一步步的揭开比特币地址和私匙的面纱。 还不知道什么是比特币地址和私匙的同学请点这里 问题一、比特币钱包由什么组成? 答 我们知道,比特币地址和私匙组成了比特币钱包,而私匙则决定了比特币地址上比特币的归属。 地址和私匙 问题二、如果只记得私匙我们还能还原比特币地址么? 答

    用GO语言实现比特币算法

    用GO语言实现比特币算法

    本节的这个例子展示一点点高精度数学包math/big、一点点散列包hash、一点点加密包crypto,还有一点点测试包testing的知识。这里不介绍bitcoin协议和算法——尽管它们很有趣,而是试图指出,Go对多种操作系统的支持,是实现这种跨平台应用的理想语言。 位钱(bitcoin)是一种使用加密手段制作的分布式电子货币。它最初于1998年由Wei Dai提出,并由中本聪(Satoshi

    详解比特币的找零机制

    详解比特币的找零机制

    比特币的找零机制一直让人有些迷惑,明明只向一个地址发送了比特币为什么 blockchain 上面的显示的有时是1个地址对多个地址,有时是多个地址对1个地址,有时又显示多个地址对多个地址? 为什么比特币资深用户要提醒大家当比特币钱包交易100次以上时再次交易后要重新备份钱包,恢复以前的钱包备份有可能会遭遇损失? 是的,这一切都是因为比特币的找零(Change)机制。本文参考 Bitcoin的维

    玩转比特币客户端之一:C盘转移和加速下载

    玩转比特币客户端之一:C盘转移和加速下载

    C盘空间不足?交易数据下载速度太慢?别着急,乐享比特币教你轻松玩转比特币官方客户端。 所有新人开始接触比特币时做的第一件事情大多数是安装比特币的官方客户端。 安全起见大家最好直接访问官方发布渠道sourceforge的地址进行下载:http://sourceforge.net/projects/bitcoin/files/Bitcoin/ 该网页列出了各版本的官方比特币客户端,目前

    麦妖榜
    更新日期 2019-01-18
    排名用户贡献值
    1等待的宿命23695
    2BitettFan23632
    3六叶树20309
    4天下无双16192
    5lizhen00214782
    6区块大康14683
    7让时间淡忘14188
    8冷风大q11188
    9momo11174
    10linjm122710644
    返回顶部 ↑