浅析区块链隐私保护技术之门罗币

要应用这笔买卖营业,接管者只需谋略出对应的私钥:

x=H(aR)+b

应用该私钥即可署名这笔买卖营业中的资金进行应用

提及来早期比特币呈现的时刻亮点应该便是其去中间化的特点以及随之而来的弗成窜改性,这意味着我们的账户信息不必供给给某家公司或者政府机构,看起来就对照自由,然而事实上跟着政府监管的加强以及各个买卖营业所的治理的加强,这部分的自由已经受到了极大年夜的限定

不过这就不是我们要评论争论的内容了,本日我们照样从技巧的角度来看看区块链上的匿名与隐私,这篇应该算是开篇,所曩昔面会有一些简单的先容

区块链中的隐私保护

为何必要隐私保护

着实比特币在设计之初也斟酌过账户与买卖营业的匿名性,由于全部比特币的账户地址险些是无限的,大年夜家都可以随意创建钱包地址,这样你以致可以做到每笔买卖营业都拿一个新地址来接管,然而受限于区块链收集的公开性以及带来的可追踪性,对付这些分散的买卖营业你可能必要整合才能进行一笔较大年夜的买卖营业,而这种多输入的买卖营业一旦呈现,我们就可以将这些滥觞地址划分到同一账户下,继而对这些账户进行进一步追踪,这样经由过程对全部买卖营业收集的阐发我们就能获得很多可关联的信息,加上买卖营业金额也是公开的,对付一些特定金额的买卖营业我们也能找到蛛丝马迹,假如对应地址的身份获得确认,经由过程这些信息就可以推算出更多的地址信息,别的还有找零所应用的零钱地址也会带来信息的裸露,早期比特币的客户端就呈现过零钱地址老是在输出地址的第一个的bug,经由过程这样层层递进我们就可以揭开那些暗藏在比特币收集下的真实身份

可以看到比特币收集所面对的隐私寻衅照样很多的,可以说完全无法满意匿名性的需求,别的因为区块链买卖营业的全程可追踪性,每笔资金的历史都可以查得清清楚楚,这就相称于给比特币都打上了烙印,那些涉及过黑产买卖营业的比特币会永世维持这一烙印,假如这样的钱到了你的手上想必你也不太惬意吧,同时假如你在外应用比特币支付那么别人也能看到你的账户里有若干钱,怎么想这都不太安然

你可能会感觉看上去区块链的隐私保护只是为了暗藏账户拥有者的小我身份信息以及破费信息,不过事实上对付各企业而言区块链的隐私性也是异常紧张的,比如某些在区块链上与对方签订的合约,以及跟客户的买卖营业信息等等,很多应该算是商业机密了,这些都必要获得保护

区块链在隐私保护上的懦弱之处还有很多,这里就不展开说了,一些针对收集的嗅探以及对节点的进击也异常具有要挟性,不过区块链技巧在匿名性上又确凿有着得天独厚的上风,也不能就这么放弃了,以是啊凡此各种都在敦匆匆着新的技巧的利用

区块链中的隐私保护规划

说了这么多,着实我们关心的也便是买卖营业的可见性,所今后面我主要先容的也是基于对买卖营业信息进行加密的隐私保护规划,可以说它们是事情在买卖营业层,假如斟酌更进一步的话还得设法主见子应对在更底层也便是收集层面的阐发,水平以及篇幅所限就不多说了,有兴趣的可以自行查阅相关资料

今朝来说,对照范例的对买卖营业内容进行暗藏的隐私保护规划主如果达世币(Dash)所采纳的混币技巧,门罗币所采纳的环署名与隐秘地址以及zcash所采纳的零常识证实,这些都汇聚了很多密码学的常识,深入进去,你会发明它们真的很难,分外是零常识证实,然而又异常让人入神,这可能便是密码学的魅力所在吧

此外,还有针对智能合约设计的Hawk规划以及针对同盟链的Quorum和Coco框架,也值得懂得懂得,下面我们简单来看看门罗币所采纳的加密规划

门罗币的隐私保护规划

先容一下门罗币

门罗币应该算是对照出名的加密泉币了,现在貌似也逾越了达世币成为了匿名泉币的老大年夜哥,不过说实话在之前我对它的熟识还主如果在挖矿领域,由于它所应用的hash算法对照特殊,不像比特币那样可以经由过程定制ASIC来大年夜幅前进挖矿效率,比特币的这一特征使得其主要算力险些完全来自于ASIC,也便是各大年夜矿池,而要针对门罗币定制ASIC则资源会很高昂,而且所得到的提升也没那么大年夜,以是我们可以直接拿自己的电脑来进行挖矿,而不至于像比特币那样被矿池完虐,那些常见的针对办事器的挖矿入侵以及一些网站嵌入的恶意挖矿脚本一样平常也是针对门罗币的,这些黑产对门罗币的青睐很大年夜程度上也是看中了它的匿名性,大年夜家假如有闲置的办事器倒也不妨拿来挖挖门罗币,收益好的时刻说不定可以收回办事器的资源

门罗币的前身是bytecoin,它的根基是cryptonote协议,至于其特点,也便是在区块链收集上的匿名性,在这里所有的买卖营业数据都是加密的,没人知道一笔买卖营业的输入与输出分手来自哪个账户,以是这里的资金是弗成追踪的,看起来很神奇,你必然很好奇这样的话买卖营业该若何确认,终究这样别人都不知道你有没有足够的资金来完成买卖营业,下面我们就来看看门罗币所采纳的加密规划是若何事情的

Stealth Address (隐蔽地址)

首先我们来看看门罗币所应用的Stealth Address技巧,这是门罗币用以供给匿名性保障的关键性技巧之一

与比特币中一个账户地址只有一对公钥与私钥不合,门罗币有两对密钥,可以理解为一对用来支付买卖营业,一对用来查看买卖营业

用来支付的是spend key,这对密钥中的公钥用来赞助我们介入后面的环买卖营业,并对key image的署名进行验证,而私钥则用以创建key image用来查看的是view key,这一对密钥中的公钥便是用来天生我们的一次性的Stealth Address,而私钥则是接管者用以扫描区块链来查看发送给他的买卖营业这部分只是为了把观点给引出来,看不懂也不要紧,后面我们再做阐明

门罗币的地址主要便是由上面的两部分密钥的公钥组成,基础布局大年夜致如下:

收集编码(1 byte)+public spend key(32 byte)+public view key(32 byte)+校验和(4 byte)

[1] [2]下一页

这样获得的地址是138位,进行hex转换后将获得95位的标准地址,有兴趣的可以在这里进行门罗币地址的相关测试

然后我们来看看stealth address,着实它的中间思惟很简单,便是使用吸收者的view key的公钥谋略出一个临时的一次性stealth address,然后将资金发送到这个地址,然后接管者对区块链进行扫描时发明这笔买卖营业就可以使用自己的view key取走这部分资金,而收集上的其他人并不知道这笔买卖营业是发送给谁的,只有接管者自己知道,从而确保了买卖营业的匿名性

stealth address的公钥的谋略要领如下:

P = H(rA)G+B

此中H()表示门罗币所应用的hash算法,r是发送者拔取的一个随机数,G表示的是椭圆曲线的基点,假如不懂得的话最好照样先去看看ECC,终究这也算是区块链中的根基密码学了,公式中的A和B则分腕表示接管者的public view key和public send key

获得公钥P后再由它获得一个门罗币的地址,这便是一次性的stealth key了

接下来发送者再谋略一个R=rG,然后将R也打包到以P为目标的买卖营业中,将这笔买卖营业广播到链上

接管者则在这边不停扫描着链上的买卖营业,对付每笔买卖营业,谋略:

P1=H(aR)G+B

此中a为接管者的private view key,由于在椭圆曲线对应的公私钥关系中 A=aG,以是rA=raG=aR,以是当接管者发明P=P1时,他就知道这笔买卖营业是发送给自己的,由于对应的P1只有接管者自己可以谋略出来,以是除了他以外别人并不知道该买卖营业的目标地址

可以看到接管方这边的压力照样对照大年夜的,必要扫描全部链上的买卖营业,这也是今朝门罗币机能的一大年夜瓶颈

环署名

接下来我们来看看门罗币顶用以供给匿名性的另一关键技巧,环署名

着实环署名的中间思惟也很好理解,当你直接对一笔买卖营业进行署名时,这笔买卖营业的滥觞自然就被确定是你,然则假如你别的挑一部分买卖营业进来,将你的署名跟这些署名进行混杂,就又获得了一个新的署名,这样别人就无法确定这笔买卖营业是否是来自你,只能判断来自于那些公钥组成的聚拢,着实这倒是跟混币挺像的

从2001年第一个正式的环署名规划提出以来,环署名不停在赓续地成长完善,现在也算是成熟了,详细的操作规划挺多,不过都看得我有点懵逼,下面我们照样简要地讲讲环署名的流程,假如想懂得细节可以看看cryptonote 2.0的白皮书里的署名规划

首先发送者会确认一个ring size,也便是这个环署名中应用的署名数,一样平常而言这个ring size越大年夜就代表着对应的公钥聚拢越大年夜,这也意味着更大年夜的安然性,然而这也将占用更多的空间,会对收集的效率以及区块数据的膨胀,终究这都是要存在链上的

确定ring size后发送方就会随机选择一个ring size-1大年夜小的公钥聚拢,然后将自己的公钥也添加进去组成一个大年夜小为ring size的公钥聚拢{P1,P2,P3…Pn},接下来的操作就异常有趣了

我们将使用这些公钥一同构建一个方程,而要解开这个方程必要你知道这些公钥中的一个对应的私钥,也只必要一个,以是你就可以应用自己的私钥进行解密,然后将这一方程的解与公钥以及拔取的参数等打包组成署名发送给验证节点,验证节点对你的署名验证过后就能确认你确凿是这笔买卖营业的发送者,然则却无法判断你是公钥集中的哪一个,至于这种方程着实也有很多规划,cryptonote的白皮书中就有一种实现,写的还算具体,不过实在是有点繁杂,我也就不细说了(着实照样太菜)

完成了环署名过后你可能照样有很多疑心,比如在无法确认发送者的环境下若何包管不会呈现双花进击呢,这就要涉及到一个新器械key image了,即I = xH(P),此处的x便是发送方的private spend key,而P便是我们前面提到的stealth address,也就表示是要发送给接管方P的,由于P是一次性的,以是说这个key image是针对每笔买卖营业天生的,也便是说每笔买卖营业的key image都不相同,节点可以经由过程验证key image来判断这笔买卖营业是否呈现过从而避免双花进击

ring CT

环形加密,即ring CT,应该算是门罗币中对照新的技巧改革了,去年才正式利用,它对前面提到的环署名进行了进一步的改进,缩小了署名大年夜小,进一步提升了效率,更棒的是它的呈现使得门罗币的买卖营业信息中的金额也获得了暗藏,独一可见的仅有来自于Coinbase的买卖营业金额,即挖矿所得,这也算是进一步提升了门罗币的匿名性,同时买卖营业大年夜小的缩小也削减了所需的手续费,这照样挺紧张的,终究门罗币之前就不停为高昂的手续费而为人诟病,这此中很大年夜一部分恰是来自于这部分署名

至于算法的具体流程,有兴趣的话可以去看看它的论文,就不展开说了(终究太菜)

写在着末

本文主要照样简单阐发了一下区块链的隐私保护形势以及门罗币所采纳的一些隐私保护技巧,终究成长了这么多年,其布局当然不光是我讲的这么简单,钻研的历程可能会碰到很多的阻碍,照样不能轻言放弃啊至于其他几个隐私保护规划后面有空应该也会写写吧,零常识证实很是让人入神,却也让我极端头疼,此外水平所限,文中如有马虎还请大年夜佬们指教

上一页[1] [2]

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包