Qtum 量子链研究院:新型的隐私保护协议MimbleWimble

2023-10-19 22:30

本文主要是介绍Qtum 量子链研究院:新型的隐私保护协议MimbleWimble,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

2016年5月,一篇匿名白皮书介绍了一种隐私性加密实现方式并命名为MimbleWimble,其名源于《哈利波特》中一种防止人们泄露秘密的咒语。

* Harry Potter — Warner Bros

 

与大众所熟知的Zcash不同,MimbleWimble不需要可信的设置,所有交易都是默认隐私性,不需要进行选择设置。此篇文章主要讲述MimbleWimble如何做到隐私,以及分别比较MimbleWimble两个项目Grin和Beam有何独特的优势。

 

中本聪发布的白皮书中有名为“Privacy”章节中清楚的阐释了BTC隐私的局限,如果一旦发生网络攻击,黑客可以获取到BTC用户相关数据定位以及其他数据标签将用户“透明化”,这些数据侧面描写可以显示出:

  1. 发送者地址

  2. 发送BTC数量

  3. 接收者地址

     

BTC底层的UXTO模型使得在进行交易的时候避免了双花,保持交易平衡。为了验证BTC的底层系统满足第二个条件,给每一个地址的用户生成了相对应的私钥,其中公开地址持有BTC发送者通过使用对应私钥产生一个签名,并为他的交易签名。每个人都可以验证这个签名是由持有比特币的地址对应的私钥产生的;这样我们就验证了交易来自有权发起交易的人。

 

而Mimblewimble 可以在不泄露双方地址和交易数量进行完整交易。相较于比特币协议,Mimblewimble 的匿名性更强,并且更轻便。

 

什么是MimbleWimble 协议?

 

Mimblewimble 最初是被定义为一种对比特币的改进,因比特币创立之初的去中心原则的设计,如今能够运行完整节点的数量正在减少,单个节点承载区块链所有的历史记录使得记录成本越来越高。

 

MimbleWimble 基于椭圆曲线加密,通过为所有输入和输出创建一个多重签名来更改比特币模型。参与交易的各方创建一个可以验证交易的公共多重签名密钥。特别的是系统中没有地址,因为参与交易的双方分享 “致盲因子”信息,简单的来说就是只有交易双方才会知道相关交易信息,从而保护用户的网络隐私。

 

致盲因子(Blinding factor,缩写 BF):是一种用于电子钱币的造币技术。致盲因子的功能即是让此电子钱币的序号加盲,让电子钱币身份识别序号和金额利用顾客的私钥送给银行。银行使用顾客在网络上的公开金钥解开资料封包,确认身份识别和账号余额无误后,增加顾客的e-cash liability金额。接着在传送给顾客银行的私钥,顾客再以银行在网络上发行的公开金钥解开资料封包,顾客取得电子钱币签章后,以还原的方式去除致盲因子,即可取得经网络银行签章过后的原始电子钱币序号。

 

致盲因子帮助交易双方共享交易信息同时也屏蔽节点知道交易信息的可能,并且对特定事务中的输入和输出以及事务方的公钥和私钥也进行加密。在 MimbleWimble 使用了Pedersen 承诺方案,在该设计中,全节点从事务接收端加密的数量(输出)减去事务发送端加密的数量(输入)。

 

这个平衡的等式意味着不会凭空产生币,节点也永远不需要知道交易信息。

 

举一个简单的例子来说明致盲因子是如何工作的:

 

1 + 1 = 2 // 1 + 1-2 = 0

 

这只是一个简单的平衡方程式,表明没有创造新的资金(通过重新排列以显示余额为净零)。

1*5+ 1*5= 2*5

 

这里将需要加密的数字5乘以所有变量,就使原始值模糊不清。

 

5 + 5 = 10

 

因此得出,价值是恒定的,并且致盲因子也是被加密的。由此看出MimbleWimble 的创造性,其中致盲因子实际上是交易方私钥和公钥的组合,通过这个被模糊但相等的等式,我就可以证明交易数量相等,并且我是密钥的持有者。

 

在交易结束时,您将获得此交易的多重签名,并且在交易时的大多数输入被输出消耗,使得在更少的空间内(较与比特币)就可进行完整验证,上链的数据减少了并且摒除繁杂步骤剔除多余的数据,MimbleWimble 运行便很大程度上得益于只在区块链中存储少量数据。

 

Grin 和 BEAM 是基于 MimbleWimble 协议两种不同的加密方式,尽管表面上相似,但除了基于 MimbleWimble 协议之外,其他各个方面都不同。

 

 

GRIN

2016年11月以Grin为命名初次实现了MimbleWimble协议,由Ignotus Peverell在IRC发布,如今依然是Grin最活跃的代码贡献者。Grin主要编译语言是Rust,主网于今年1月15日上线,一经上线便吸引了大批资本矿池与矿工加入。

 

Grin使用了新的 Cuckoo Cycle,这是 John Tromp 在 2015 年开发的替代POW的证明。尽管该算法的设计初衷是抵抗 ASIC,但该团队长期以来一直认为 ASIC是不可避免的。2018 年 9 月出现了两种解决方案:一种优化为 ASIC 友好型( Cuckatoo31+);另一种优化为允许 GPU 竞争( Cuckaroo29 ), POW 每 24 小时平衡两种算法之间的挖掘奖励,从而抵抗像比特币的硬件武装竞赛现象出现。

 

除了令人印象深刻的Cuckoo算法之外,Grin还有一些有趣的特点:

  1. SnRoR签名,也称为聚合签名,为ScriptlessScripts支持智能合约铺平道路。

  2. 蒲公英协议,这使得初始发送人的IP更难以追踪。在进行广播之前,所有的交易都在网络上徘徊。

  3. 防弹技术,它允许对更小的零知识证明的私密交易进行处理,不需要可信的设置。

  4. flyclient,一个超轻量级客户端,它同步所有先前Block Header的默克尔根,而不是对前一块的引用。它允许通过存储Head来检查任何先前块的包含。

  5. 原子交换,Grin的第一个原子交换,Grin testnet3和Ethereum Ropsten testnet之间进行了第一次原子交换已经成功实现。

 

 

BEAM

2018年4月出现了另一个MimbleWimble尝试——Beam,编译语言为C++,在很短的时间内Beam发布了测试网,并且在近期推出兼容 Mimblewimble 协议的闪电网络( LN ),在链下价值快速转移的情况下实现第二层扩展解决方案,提高可用性便于商业支付场景。

 

Equihash是一种需要高内存的工作量证明,这意味你能挖到多少币主要取决于你的设备内存的大小。在短期内要创建一个低成本的挖矿定制硬件(专用集成电路)几乎不可能,所以Equihash被认为可以构造更去中心化的一种POW算法。

 

除了Equihash外,Beam的一些有趣的部分还包括:

  1. 在Stem阶段用混淆合并交易进一步改进蒲公英协议。

  2. BatchBulletproofs签名。

  3. 超轻量级的flyclient实现。

  4. 安全的BBS,这就降低了发送者和接收者同时在线的需求。

  5. 可审核的钱包,能够为第三方发出一个或多个审计密钥。

  6. 视觉化设计移动钱包,全部充当完整节点,并与硬件钱包互相整合。

  7. 在钱包内通过P2P交易进行比特币的原子交换。

  

BEAM 和 Grin 之间的区别

 

闪电网络最初是用来解决比特币网络阻塞问题而提出的比特币网络改进方案。为什么要使用闪电网络?

回顾:Qtum量子链研究院:闪电网络(上)

          Qtum量子链研究院:闪电网络(下)

 

首先,更快的出块时间并不一定意味着更快的支付确认。其次,考虑到更多的数字货币支付用例,例如在酒吧付啤酒钱又着急离开、在赶火车时买了一杯饮料等情境下都需要快速支付,实验表明,闪电网络能够实现使支付体验像信用卡支付一样快速、简单,这使其成为实现加密货币主流应用的基础之一。

 

Beam 和比特币的底层协议之间存在很多差异,因此引入兼容 Mimblewimble 协议的闪电网络存在一些挑战。

 

主要差异在于 Mimblewimble 协议中缺少脚本,引入闪电网络需要使用多个构建在彼此之上的交易,这些交易的支出需求将共同形成与比特币中的 HTLC(散列安全时间锁合约) 相同的结构,支付渠道的参与者将合作构建这些不同的交易,这将导致在通道参与者之间发送的消息增加,但 Beam 认为这是值得的。

 

另一方面,闪电网络的核心概念哈希时间锁合约的构造需要另外两种智能合约方案:哈希锁和相对时间锁。哈希锁是 Beam 基础协议的一部分,但目前 Beam 还没有实现相对时间锁。

 

目前,Qtum量子链已实现闪电网络测试:基于Qtum量子链的闪电网络功能简介及测试

 

参考资料

Conor O'Higgins,Mimblewimble explained like you’re 12

Mattia Franzoni,Grin: a lightweight implementation of the MimbleWimble protocol

Brian Curran ,What is Grin Coin & MimbleWimble? Complete Beginner’s Guide

Grin的网站:https://grin.mw/up/

Grin的Github: https://github.com/mimblewimble/grin

Beam的网站:https://www.beam-mw.com/

Beam的Github:https://github.com/beam-mw/beam

Arjun Balaji,From #reckless to Wumbology: Lightning Network’s Infrastructural Build Out

https://zh.wikipedia.org/wiki/%E7%9B%B2%E5%9B%A0%E5%AD%90

 

这篇关于Qtum 量子链研究院:新型的隐私保护协议MimbleWimble的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/242761

相关文章

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

如何保护自己的个人隐私

个人隐私保护概览 在数字时代,个人隐私保护显得尤为重要。随着信息技术的发展,个人信息的收集、存储、使用变得更加便捷,同时也带来了隐私泄露的风险。为了保护个人隐私,我们需要从多个维度出发,采取一系列措施来确保个人信息的安全。 个人隐私泄露风险 个人隐私泄露主要来源于以下几个方面: 社交网络:在社交平台上分享信息时,如果不恰当地设置了隐私权限,可能会导致敏感信息被公开。网络服务:在使用网络服务

Modbus-RTU协议

一、协议概述 Modbus-RTU(Remote Terminal Unit)是一种基于主从架构的通信协议,采用二进制数据表示,消息中的每个8位字节含有两个4位十六进制字符。它主要通过RS-485、RS-232、RS-422等物理接口实现数据的传输,传输距离远、抗干扰能力强、通信效率高。 二、报文结构 一个标准的Modbus-RTU报文通常包含以下部分: 地址域:单个字节,表示从站设备

【电子通识】半导体工艺——保护晶圆表面的氧化工艺

在文章【电子通识】半导体工艺——晶圆制造中我们讲到晶圆的一些基础术语和晶圆制造主要步骤:制造锭(Ingot)、锭切割(Wafer Slicing)、晶圆表面抛光(Lapping&Polishing)。         那么其实当晶圆暴露在大气中或化学物质中的氧气时就会形成氧化膜。这与铁(Fe)暴露在大气时会氧化生锈是一样的道理。 氧化膜的作用         在半导体晶圆