IOTA简介

in #cn7 years ago

以下内容翻译自:https://learn.iota.org/faqs

什么是IOTA?

IOTA是面向IoT(物联网)的新的交易方式和数据转移层。它基于一种新的分布式账本:Tangle。Tangle克服了当前区块链技术中的低效性,并把新的达成共识的方式引入到去中心的点对点系统中。通过IOTA,人们可以不用付手续费就能转账,这可是史上第一次。这意味着再小点交易都能通过IOTA进行。

IOTA正是机器经济所缺失的一环,借此能完全实现其潜能。我们期望IOTA能成为物联网公开的无审核的支柱,能真正实现所有设备间的互通。
58af48ff9f5fb40917b05a12_v2GmVOXhRw6tOxXMDSDg_Screen Shot 2016-07-03 at 14.14.56.png

IOTA和比特币有什么区别?

IOTA(或者说Tangle)与传统区块链技术的区别,包括很多方面,但在架构上主要有两点区别。

1 数据结构

传统的区块链技术是把数据组成一个链条,在链条内部添加区块;而Tangle是基于DAG的(Directed Acyclic Graph 有向无环图)。通过有向无环图,IOTA就能实现高交易吞吐量(通过并行验证方式),并且交易无须手续费。随着Tangle的增长,更多的参与者参与进来,进行交易,整个系统会变得更加安全快速,每笔交易的确认时间最终会下降。

2共识机制

传统区块链技术达到共识的方式是非常严格的,它要求多方之间进行竞争,以获得把下个区块添加到区块链上去的资格,然后从中获得回报。使用这种方法,共识就从交易生成中解耦出来,并且很大程度上是由网络的一个很小的子集来完成的,这就构成了一个很高的进入门槛(正如在比特币中发生的那样),这种方式将会导致中心化。

而在IOTA中,网络中生成交易的各个参与方,也会积极参与到共识的达成中来。更具体地说,你会直接处理两种交易(主干交易和分支交易),并且间接处理子tangle交易。这样一来,验证就能并行执行,网络也能保持完全地去中心化,不需要矿工,也不需要交易手续费。

为什么IOTA没有交易手续费?

这是通过IOTA独特的共识方式实现的。IOTA中没有矿工/验证者,也就不需要给他们支付交易手续费了。共识的达成是完全去中心化的,参与到交易的每一方,都直接或间接地参与交易的确认。在这种共识机制下,由于你也参与了进来(包括交易中的tip选择以及计算资源),所有你就无须支付交易费用了。

我能用IOTA来做什么?

目前IOTA主要做两件事:交易结算(尤其是微支付)以及数据整合。通过这两点,你可以发展出很多合理的应用,而且,基本上只能通过IOTA实现。其他更多的功能(比如预言机,智能合约等),我们已经提上计划了,不久的将来就会加上去。

IOTA主要聚焦于物联网领域,机器之间的资源,服务,资产的支付。这包括了智慧城市,智慧网格,基础设施,供应链等等,都是IOTA可以大展拳脚的地方。

如何完成一笔交易?

交易的完成基本包括3个步骤:

1构建bundle以及输入签署

在IOTA中,有两种类型的交易:一种是你转移价值(因此需要签署输入),另一种你只是发送交易到一个地址,而不转移价值(比如发送消息)。构建bundle非常简单,这由我们发布的所有库来完成。签署输入步骤也是由我们的库来完成,并且是在客户端完成的。这样你永远不需要担心你的私钥货你的种子(seed)会被发送到别的地方。

2tip选择

tip选择是这样一个过程:在这个过程中,你的本地tangle从中找出两笔随机选择的交易,这两笔交易将由你的交易进行验证。这两笔交易会被添加到你的bundle结构中,然后命名为主干交易(trunk Transaction)和分支交易(branch Transaction)。

3 pow

一旦bundle被构建,签署,添加了tip,你就需要对在这个bundle中的每笔交易做些pow的工作。如此一来,一个bundle中的每笔交易想要被网络接受,就需要一个nonce。引入pow的主要原因就是防止sybil攻击和spam。

完成了这三步之后,你就可以把交易进行广播了,然后等待网络的接收。

你提到了pow,那么在IOTA中可以挖矿吗?

IOTA中的pow和其他区块链(比如比特币)的pow不一样。IOTA的pow机制和hashcash的差不多,不过hashcash的目的主要是防止spam,而IOTA除了防止spam,还能防止sybil攻击。由于IOTA的共识机制,你不能通过贡献算力来赚取IOTA。所以,在IOTA中不存在“挖矿”。不需要交易手续费,就是你的奖励。

IOTA的总供应量是多少?会发生通胀吗?

IOTA的总供应量是2779530283277761个。IOTA的总量是固定不变的。

IOTA 的单位是什么?

IOTA使用SI(国际单位系统)来表示单位和值。下图更好的展示了它的单位和它代表的大小:

58b0478528d2e0fe66dc14d6_iotavalues.png

术语

Tangle

Tangle是一种有向无环图,IOTA用它来作分布式账本,在其中保存的整个网络中的所有交易数据。这是一种没有区块也没有链的区块链(那他还是区块链吗?)。IOTA中的Tangle是第一种实现了扩展性,无手续费交易,以及量子计算保护的公共分布式账本。与现在的区块链技术相比,IOTA的共识不再解耦出来,而是成为系统的一部分,这构建了真正的完全去中心的,自我管理的点对点网络

Trytes 和Trits

IOTA是基于三进制的,而不是二进制(这个说来话长)。我们用大写拉丁字母和数字9([9A-Z])来表示trytes。所以,当我们说tryte编码的时候,你就知道,这是一个只包含9A-Z的字符串(比如“ABFDSGFDS9“)。

种子(seed)

种子(seed)是tryte编码的字符串,只包含大写拉丁字母和数字9,用来生成私钥。种子的最大安全长度是81 tryte(81个字符)。你应该安全地保管你的种子,不要让别人知道。

bundle

创建交易的过程中被绑定到一起的多笔交易。bundle通过主干交易进行连接。

nonce

nonce(只生成一次的数字)是一个81-tryte的哈希,当达到目标值的时候,由pow哈希输出。每笔交易都要包含一个nonce,这样才能被网络接受。

Sort:  

好复杂,这个技术有ico吗?

已经ICO结束了,翻了好多倍

已经上交易所交易了,目前市值第八,比bts还高

不明觉厉,深深地感受区块链的技术要爆发了~

快了,快了,等着发财吧:)

进来学习了!

留言學習!可是。。。挺多名詞的。。

不错,可以考虑再多引入些这类翻译文章

会的,这个系列还会继续写下去

小白问题:假设我的一笔交易被两个客户端验证,然后他们两个“消失”了,那我下次交易时,验证我交易的客户端从哪里读取账本呢?
是不是参与交易的客户端越多延迟会越低,速度越快,类似Bittorent?