IOTA二三事

继上文我们已经知道IOTA是什么以及他和的区块链的不同。今天来讲点其他的。

无法挖币

IOTA的总供应量是(3 ** 33 – 1) / 2,即2779530283277761个代币。

所有现存的IOTA代币都是通过创始交易创造的。这就意味着IOTA的总供应量是固定的,你无法“挖”IOTA。

但是,确实有个“挖IOTA”的网站:mineiota.com。不过他是通过支付IOTA挖门罗币。每天一台普通笔记本大概能挖到80000IOTA。

单位

刚才提到有个地方你能每天挖到8万IOTA,不要兴奋。现在就带你了解下IOTA的单位。

IOTA基础单位IOTA简称i。每1000倍递增为Ki、Mi、Gi、Ti、Pi。现在交易场所流通的IOTA以Mi计价。1Mi大约4美元。

所以80000i大约0.08大约0.32美元。

Trytes编码

IOTA基于三进制。我们用大写拉丁字母和数字9([9A-Z])表现出trytes。私钥就是用trytes编码生成的。

怎样发起一笔交易?

发起交易基本上需要三步:

构建交易集和输入签名

IOTA中有两种类型的交易:一种是包含价值的转移(因此必须进行输入签名),另一种仅仅是发送交易到另一个地址,不包含价值转移(比如说一个信息)。构建交易集相对来说比较简单,通过所有已经发布的代码库来完成。已发布的代码库还能帮助进行交易输入签名,完全通过用户端完成。这就意味着你不用担心你的私钥或者你的密钥被发送到其它地方。

终端选择

终端选择是一个通过穿越你的本地tangle来算出两个任意选择的交易的过程,能够通过你的交易进行验证。这两笔交易将会添加到你的交易集中,分别称为主交易和分支交易。

工作量证明(PoW)

一旦交易集构建完成,并且完成签名,终端也添加完成,你需要为交易集中的每笔交易做少量的PoW。这样一来,交易集中的每笔交易都需要一个临时数(nonce)才能被网络接受。这个PoW的主要目的是抵御女巫攻击和批量交易攻击。

这三个步骤都完成之后,你就可以向你的邻节点广播这笔交易,并且等待其被网络接受。

IOTA能做什么?

IOTA能做到以前区块链的所以事,包括交易、智能合约。他的目标是和物结合,往物联网方向发展。他能把智能合约实现的更彻底,更适于落地。

关于量子安全

在网络上充斥着一种说法,IOTA使用了文格尼茨签名保证了其能够实现量子安全。但是我查阅很多资料并没有找到文格尼茨签名。

我查看了IOTA白皮书,第五节抗量子计算中这样说:More importantly, the algorithm used in the iota implementation is structured such that the time to find a nonce is not much larger than the time needed for other tasks that are necessary to issue atransaction.一次公攻击的难度和一次正常计算的难度相差不大。这意味着量子计算机在攻击中并没有太多的优势。为何会这样,我们知道IOTA完成一次交易需要验证另外的两次交易并且验证自己的交易进行少量的POW后可发布自Tangle网络。如果量子计算机也这样攻击的话,并不会像挖比特币一样导致量子机挖到币的概率增加,众做周知,IOTA不挖币。量子机这样做和普通的一次交易没有区别。如果量子机利用自己的高性能高频攻击的话,只会提高整个交易链条的健壮性,让其他交易更快得到验证。

还有就是IOTA的密钥要更长,我们知道密钥每增长一位,被破译难度要增长一个量级,所以IOTA的密钥也相对更安全。(As of today, one must check an average of 2\^68 nonces to find a suitable hash that allows a new block to be generated. Therefore, a quantum computer would be around 17 billion times more efficient at mining the Bitcoin blockchain than a classical computer.)