• 什么是多重签名?多重签名的概念


    多重签名,就是多个用户对同一个消息进行数字签名,可以简单地理解为一个数字资产的多个签名。

    签名标定的是数字资产所属及权限,多重签名表示该数字资产可由多人支配与管理。在加密货币领域,如果要动用一个加密货币地址的资金,通常需要该地址的所有人使用他的私钥(由用户专属保护)进行签名。由此,动用这笔资金就需要多个私钥签名,通常这笔资金或数字资产会保存在一个多重签名的地址或账号里。

    blob.png

    A和B两人怎么对同一个数字文件进行签名呢?

    (1)不用单向散列函数,

    ①A和B分别对文件的副本签名,签名消息的数据大小是原文的两倍。

    ②A先签名,然后B在A的签名基础上再进行签名。这是可行的,但是在不验证B签名的情况下就验证A的签名是不可能的。

    (2)采用单向散列函数,可以很简单地实现多重签名

    ①A对文件的散列签名。

    ②B对文件的散列签名。

    ③B将他的签名交给A。

    ④A把文件及其签名和B的签名发给C。

    ⑤C验证A和B的签名。

    在采用单向散列函数的情况下,A和B是能同时或顺序地完成第①步和第②步的,且在第⑤步中,C可以只验证A、B其中一人的签名而不用验证另一人的签名。

    在实际操作过程中,一个多重签名地址可以关联N个私钥,在需要转账等操作时,只需要M个私钥签名就可以把资金转移了。其中M要小于或等于N,也就是说M/N小于1,可以是2/3、3/5等,需要在建立这个多重签名地址的时候确定好M/N的具体模式。

    从原理上讲,多重签名本身并不复杂,用一句话就可以说明:“用W把钥匙生成一个多重签名的地址,需要其中的从把钥匙才能花费这个地址上的比特币,N≥M,这就是M/N的多重签名。”

    多重签名实现第三方的适当介人保障,也增加了数字货币的信任度,多重签名地址允许多个用户使用一个公钥单独发送部分地址。当一些人想要使用比特币时,他们需要除他们本人以外其他一部分人的签名,且需要签名用户的数量在最初创建地址的时候就已经商定。使用资金前需要的多个签名,除了本人以外,其他的签名可以是你的商业伙伴,或与你关系密切的人,甚至是你所拥有的另一个设备,由此来为你成功使用比特币增加一个可控因素,使比特币交易过程接近绝对安全。

    相关参考文章:

    多重签名——典型的数字签名技术

    NEM链上多重签名功能——NEM功能介绍

    NEM的多重签名

  • 相关阅读:
    winform右键菜单
    IIS添加映射配置
    linux+nginx+python+django环境配置
    ASP.NET获取客户端IP地址
    Ext未定义问题解决
    c#获取硬件信息
    DevExpress GridControl使用方法总结
    CDN技术原理
    Mac搭建nginx+rtmp服务器
    MAXOS安装FFMPEG
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13312826.html
Copyright © 2020-2023  润新知