实现以上功能的方法如下: 1. 通过proof-of-work挖矿机制实现去中心化。 2. 通过一次性密钥实现匿名。 3. 通过多层可链接自发匿名群签名(MLSAGS)并结合PedersenCommitment实现隐藏交易金额。此外,还应抵抗“二次花费”攻击,并进行范围证明。
1.1 一次性密钥: P=H(rB),其中P是交易的一次性密钥,H是哈希函数,B是转账接收方的公开密钥,r是发送方选取的随机数。发送方将rG发送给接收方,接受方通过计算brG=rB来获取P。接收方可以通过P验证交易的有效性。
1.2 隐藏交易金额: 将ConfidentialTransactions加入MLSAGS。
1.3 防止两次花费: 通过链接机制实现,通过I(key-image)来链接。在签名的链接阶段,相同的I进行链接,避免使用同一个密钥对进行两次环签名,确保每个密钥对只能签名一次,从而避免重复花费。
1.4 范围证明: 范围证明用于防止货币金额溢出,产生额外的货币。范围证明可以证明每个输出都在某一正整数范围内。通过设置有限域的阶和范围证明的正整数大小,可以检测和阻止存在较大输出和大量较小输出两种溢出情况。
2. MLSAG 2.1 LSAG(Bellare-Neven-Shoup)是MLSAG的基础。 2.2 MLSAG是对LSAG的推广。 2.3 RingCTForMoneroProtocol与MLSAG验证步骤相同。
3. 范围证明 假设范围证明中的正整数是2的n次方,即证明每个输出都在0到2的n次方之间。可以使用BorromeanRingSignatures来实现。
3.1 BorromeanRingSignatures 3.2 BorromeanRingSignatures应用于范围证明。
目前,雷达(RADR)已经实现了RingTransaction,能够消除交易双方的关联性,并即将在主网上线。具体方法是,发送方发起一笔RingDeposite交易向环存入相应金额,当环累计一定数量的交易(相同金额)后即可发起RingWithdraw,环上没有任何证据可以证明某两笔RingDeposite和RingWithdraw之间存在关联性,从而保护该环内交易多方的关联性隐私。详细阐述请见WhitePaper。相关代码请见https://github.com/radrbiz/radard/blob/master/src/ripple/app/tx/impl/RingDeposit.cpp和https://github.com/radrbiz/radard/blob/master/src/ripple/app/tx/impl/RingWithdraw.cpp。环签名采用的曲线是AltBn128,代码请见https://github.com/radrbiz/radard/blob/master/src/ripple/crypto/impl/AltBn128.cpp。该曲线在安全性和性能之间取得了良好的平衡,类似的曲线也被内置在以太坊中。
现在普通的交易所不一定是最安全的。比如我现在用的BTBTOP,这是一家小交易所,但由于体积小,投资成本大,没有必要为我的小钱逃跑。大型交易所并不是绝对安全的。你想要火币和Okex。这些交易所很大,但政策风险也很高,对用户...
什么是嵌套?嵌套是指金融服务提供商在另一家金融机构创建账户并使用其服务的行为。账户持有人通过嵌套账户向客户提供服务,发挥桥梁作用。造成这种情况的原因有很多。例如,一个国家的银行可以向其他国家的银行提供业务服务和生态系统,...
黄金板块小霸王GDRT即将上线A网,社区发车价格0.007,发行总量25亿。黄金板块踏入区块链这是个超级强大的跨步,以黄金的产值,以及价值,GTRT的热度无需质疑,大家时刻关注,希望大家能再次收获一波。 ...
本文来自 NFT Gators,原文作者:Nicholas Kitonyi Odaily 星球日报译者 | 念银思唐 投资者也是该联合网络的一部分,以反映 Web3 风险投资的多样性。 风险资本家 Tim...