Tornado 龙卷风混币原理
项目背景Tornado(https://tornado.cash/)是以太坊隐私赛道著名的混币项目,其混币技术主要使用了 zk-SNARK 零知识证明。 1、关于 zk-SNARK 零知识证明的原理可以参见 if(DAO) 之前的文章: https://mirror.xyz/0xd05cFA28Eaf8B4eaFD8Cd86d33c6CeD1a1875417/X3qSOjObTknXQ_iGhDBFYETibD0TVW0twz5QDIthjGI 2、混币的意思是混币者通过 Tornado 合约将混币者的以太坊地址和资金去向地址失去关联,从而达到隐匿资金去向的目的。项目原理1、Bob 是第 3 个将自己的代币 Deposit 存入龙卷风合约进行混币的客户。 2、Alice 是第 4 个将自己的代币 Deposit 存入龙卷风合约进行混币的客户。 3、Alice 在 Deposit 时(1)Alice random k4 ,r4。k4 和 r4 in { 0 ,1 } ^ 256。( k4 ,r4 ) 也是 Alice 未来的取款凭证 note4。 (2)Alice 计算得到 C4 ...
Erasure Coding 纠删码原理( Near Protocol )
Erasure Code 是什么1、Erasure Code是一种编码技术,它可以将 n 份原始数据,增加 m 份数据,并能通过n+m份中的任意 n 份数据,还原为原始数据。即如果有任意小于等于 m 份的数据失效,仍然能通过剩下的数据还原出来。 2、纠删码技术在分布式存储系统中的应用主要有三类 (1)RS( Reed-Solomon )里德-所罗门纠删码 (2)AC( Array Code: RAID5、RAID6等)阵列纠删码 (3)LDPC( LowDensity Parity Check Code )低密度奇偶校验纠删码( LDPC 目前主要用于通信、视频和音频编码等领域 )Erasure Code 的优势副本策略和纠删码是存储领域常见的两种数据冗余技术。相比于副本策略,纠删码具有更高的磁盘利用率:RS码原理Reed-Solomon(RS)码是存储系统较为常用的一种纠删码,它有两个参数n和m,记为RS(n ,m)。n 代表原始数据块个数。m代表校验块个数。以n=5,m=3为例 : 1、encoding 编码过程(D是原始数据块,得到的C为校验块,构建 Bi 有专门的数学方法...
顶级加密 VC 成长简史
Multicoin一、基本情况 成立于 2017 年,Kyle Samani 和 Tushar Jain 决定成立一个加密货币对冲基金。他们之前都没有从事过投资工作,更不用说自己经营基金了。除了 2016 年开始的一些聪明的个人投资外(ETH 从 10刀涨到 200 刀),他们没有在该行业的新兴初创公司工作过,也没有建立过协议。简而言之,他们是加密领域的局外人。 但正是局外人使得他们可以在没有偏见的情况下从第一原则进行深入研究和推理。 他们的思路是,要想经营一支真正的基金,需要外部资本(LP),于是他们将一个公寓作为总部,并开始以非主流的方式等待 LP 的降临:“ 激怒某个 Token 的支持者以表达 Multicoin 的观点 ” 成为该基金的一个标志,比如引发了 LTC 和 ETHCash 多头的愤怒,瞬间入圈引来了流量。 怼人博眼球的前提是需要对产品、技术、趋势有着深刻的洞见和表达能力。 整个 2018 年,Multicoin 一直在寻找并赢得新的 LP。随着精明的资本管理以及新投资者的涌入,Multicoin 的管理资产(AUM)在这一年达到了 5000 万美元。但 20...
Tornado 龙卷风混币原理
项目背景Tornado(https://tornado.cash/)是以太坊隐私赛道著名的混币项目,其混币技术主要使用了 zk-SNARK 零知识证明。 1、关于 zk-SNARK 零知识证明的原理可以参见 if(DAO) 之前的文章: https://mirror.xyz/0xd05cFA28Eaf8B4eaFD8Cd86d33c6CeD1a1875417/X3qSOjObTknXQ_iGhDBFYETibD0TVW0twz5QDIthjGI 2、混币的意思是混币者通过 Tornado 合约将混币者的以太坊地址和资金去向地址失去关联,从而达到隐匿资金去向的目的。项目原理1、Bob 是第 3 个将自己的代币 Deposit 存入龙卷风合约进行混币的客户。 2、Alice 是第 4 个将自己的代币 Deposit 存入龙卷风合约进行混币的客户。 3、Alice 在 Deposit 时(1)Alice random k4 ,r4。k4 和 r4 in { 0 ,1 } ^ 256。( k4 ,r4 ) 也是 Alice 未来的取款凭证 note4。 (2)Alice 计算得到 C4 ...
Erasure Coding 纠删码原理( Near Protocol )
Erasure Code 是什么1、Erasure Code是一种编码技术,它可以将 n 份原始数据,增加 m 份数据,并能通过n+m份中的任意 n 份数据,还原为原始数据。即如果有任意小于等于 m 份的数据失效,仍然能通过剩下的数据还原出来。 2、纠删码技术在分布式存储系统中的应用主要有三类 (1)RS( Reed-Solomon )里德-所罗门纠删码 (2)AC( Array Code: RAID5、RAID6等)阵列纠删码 (3)LDPC( LowDensity Parity Check Code )低密度奇偶校验纠删码( LDPC 目前主要用于通信、视频和音频编码等领域 )Erasure Code 的优势副本策略和纠删码是存储领域常见的两种数据冗余技术。相比于副本策略,纠删码具有更高的磁盘利用率:RS码原理Reed-Solomon(RS)码是存储系统较为常用的一种纠删码,它有两个参数n和m,记为RS(n ,m)。n 代表原始数据块个数。m代表校验块个数。以n=5,m=3为例 : 1、encoding 编码过程(D是原始数据块,得到的C为校验块,构建 Bi 有专门的数学方法...
顶级加密 VC 成长简史
Multicoin一、基本情况 成立于 2017 年,Kyle Samani 和 Tushar Jain 决定成立一个加密货币对冲基金。他们之前都没有从事过投资工作,更不用说自己经营基金了。除了 2016 年开始的一些聪明的个人投资外(ETH 从 10刀涨到 200 刀),他们没有在该行业的新兴初创公司工作过,也没有建立过协议。简而言之,他们是加密领域的局外人。 但正是局外人使得他们可以在没有偏见的情况下从第一原则进行深入研究和推理。 他们的思路是,要想经营一支真正的基金,需要外部资本(LP),于是他们将一个公寓作为总部,并开始以非主流的方式等待 LP 的降临:“ 激怒某个 Token 的支持者以表达 Multicoin 的观点 ” 成为该基金的一个标志,比如引发了 LTC 和 ETHCash 多头的愤怒,瞬间入圈引来了流量。 怼人博眼球的前提是需要对产品、技术、趋势有着深刻的洞见和表达能力。 整个 2018 年,Multicoin 一直在寻找并赢得新的 LP。随着精明的资本管理以及新投资者的涌入,Multicoin 的管理资产(AUM)在这一年达到了 5000 万美元。但 20...

Subscribe to Ethan - if(DAO)

Subscribe to Ethan - if(DAO)
Share Dialog
Share Dialog
Mina 社区的 minacrypto.com 在新网站 snappsformina上发布了在训练营上出现的一些很酷的 Snapp 构想。
下面是 if(DAO) 对 Blind Man's Bluff 项目的业务逻辑以及零知识zk-SNARK应用的浅析。
项目源码入口:https://snappsformina.com/snapp/blindmansbluff/
基本规则如下:各位玩家先下注,然后每人随机获得一张牌,显示给除他之外的所有其他玩家。各位玩家根据其他玩家的牌面决定加注或弃牌。
假设有3人参加游戏:A、B、C。3人分别获得了J、6、1的牌力。每轮每人下注100 MINA。
A看到B(6)、C(1),感觉概率上赢得机会大,所以加注 100 MINA。
B看到A(J)、C(1),感觉最近状态很好,决定拼一把,所以加注 100 MINA。
C看到A(J)、B(6),感觉概率上输得机会大,所以弃牌。
游戏进入到下一轮:A(J)、B(6)。2人继续游戏。
A和B都信心满满,继续加注 100 MINA。
然后A和B分别开牌,A的牌力大于B的牌力,结算MINA,本轮游戏结束。
最终结果:
A赢了400 MINA。
B输了300 MINA。
C输了100 MINA。
A Blind Man's Bluff 项目对传统 Indian Poker 的规则进行了修改:通过zk-SNARK将开牌环节省略:在A和B不开牌的情况下,确定A和B谁牌力强,结算MINA。
在此示例中,作者想达到的效果是:“ 参与本局游戏的3个玩家是zk-SNARK里的 Prover 证明者,全网其他节点是 Verifier 验证者。在3个玩家之中,另外2个人的牌力是零知识。在全网节点之中,这3个玩家的牌力是零知识。全网节点在不知道3个玩家牌力的情况下验证本局输赢。”
稍显遗憾的是目前作者的代码还没有完全实现:

Mina 社区的 minacrypto.com 在新网站 snappsformina上发布了在训练营上出现的一些很酷的 Snapp 构想。
下面是 if(DAO) 对 Blind Man's Bluff 项目的业务逻辑以及零知识zk-SNARK应用的浅析。
项目源码入口:https://snappsformina.com/snapp/blindmansbluff/
基本规则如下:各位玩家先下注,然后每人随机获得一张牌,显示给除他之外的所有其他玩家。各位玩家根据其他玩家的牌面决定加注或弃牌。
假设有3人参加游戏:A、B、C。3人分别获得了J、6、1的牌力。每轮每人下注100 MINA。
A看到B(6)、C(1),感觉概率上赢得机会大,所以加注 100 MINA。
B看到A(J)、C(1),感觉最近状态很好,决定拼一把,所以加注 100 MINA。
C看到A(J)、B(6),感觉概率上输得机会大,所以弃牌。
游戏进入到下一轮:A(J)、B(6)。2人继续游戏。
A和B都信心满满,继续加注 100 MINA。
然后A和B分别开牌,A的牌力大于B的牌力,结算MINA,本轮游戏结束。
最终结果:
A赢了400 MINA。
B输了300 MINA。
C输了100 MINA。
A Blind Man's Bluff 项目对传统 Indian Poker 的规则进行了修改:通过zk-SNARK将开牌环节省略:在A和B不开牌的情况下,确定A和B谁牌力强,结算MINA。
在此示例中,作者想达到的效果是:“ 参与本局游戏的3个玩家是zk-SNARK里的 Prover 证明者,全网其他节点是 Verifier 验证者。在3个玩家之中,另外2个人的牌力是零知识。在全网节点之中,这3个玩家的牌力是零知识。全网节点在不知道3个玩家牌力的情况下验证本局输赢。”
稍显遗憾的是目前作者的代码还没有完全实现:

<100 subscribers
<100 subscribers
No activity yet