IOTA发起一笔交易流程

       首先找到网络里的相关的两笔交易,验证它们的合法性,然后做一点小小的 PoW(就是付出一些计算),把自己的交易与它们绑定,再广播到网络。

       你的交易会被后来的交易以相同的方式验证。如果验证你交易的其他交易越多,则你的交易的确定性越高。当达到一个阈值时,就认为这个交易被确定了(这和比特币 6 个区块确定交易状态的思想一致)

       IOTA 把算力作为交易的一部分。只要你想加入这个网络,那必须先成为矿工,做出一点 PoW 贡献。如果想不做贡献吃白食?,不好意思,我们不认可你广播的交易。由于人人都做了 PoW,因此才能做到零交易费。

       那坏人故意让非法交易通过验证怎么办?网络里会充满着大量非法交易吗?IOTA 的思想是这样的,节点会计算每个交易的权重值,选择权重高的交易来进行验证,这会有助于增加自己的交易被后来交易验证的可能性。如果你绑定非法交易,那后来的交易则不会选择你的交易来验证。时间一长,这个交易就被网络抛弃了,不再是网络的一部分。

      IOTA 使用的签名算法是 Winternitz one-time signature (W-OTS) ,这是一种后量子签名算法,可以抵御量子攻击。
      就如同其名,W-OTS 算法是 one-time 的,即签过一次名后就不能重复使用,否则会有丢钱的风险。你可以一个地址多次打钱,但取一次钱(取钱需要签名)后就不能用了,得换新地址。

      W-OTS 的一个缺点是签名长度特别大,这也是抗量子签名普遍的缺点。IOTA 的单个交易编码后有 2673 trytes(大约为 281.96 bytes),但签名占了 81%(2187 trytes)。对于 IoT 设备,这可能是一个很大的挑战。


猜你喜欢

转载自blog.csdn.net/sinat_34070003/article/details/80356200