IOTA快速入门简介

in #cn7 years ago

参考资料: https://blog.iota.org/a-primer-on-iota-with-presentation-e0a6eb2cc621
编译: Niking

物联网+区块链 = ?

IOT and BlockChain

在过去四年里,有足够多的创业公司、企业、学者投入了区块链相关的应用研究,其中一个令人非常兴奋的领域,就是万物互联。这不单因为物联网本身很有发展潜力(会部署在任何地方,一个基于计算及传感器的平台),更因为分布式账本技术可以解决物联网存在的各种现有问题。

区块链: 还没走到这一步!

iota-2.jpg
一个简单而明确的事实就是,我们现在还没有实现区块链+物联网的应用。现阶段还存在明显的技术问题等待突破,我们今天就要聊一聊其中的两个问题:规模化及费用

规模化

观察比特币,我们就可以发现如果一个协议最终面对的是海量用户,而协议本身存在内部限制的话,是会造成一定不良后果的。比特币网络在拥挤的时候,可以堆积过万个未确认交易,而每秒的处理速度也只能达到1.5笔/秒左右。这对用户来说就是一个一个的应用无法得到及时的执行。在这种情况下,你只有两个选择,一是支付更高的矿工费来加速打包速度,二就是等待。

费用

规模化后的另外一个主要问题,就是交易费用。现在比特币的平均转账费用已经超过了1美金(2017年8月2日的最佳交易手续费是0.0004btc约合7.2人民币),在微小金额支付以及其他机器合约交易频繁的今天,其中经常被问到的一个问题就是,谁应该来支付这笔费用?这已经不再是PowerPoint上列出的一些问题,在当下已然成为了一个现实问题了。
交易费用的不确定性,会对许多商业模式带来新的难题,而且在规模化后,问题会变的更为严重。

IOTA 背后的故事

iota intro3
IOTA的所有创始人(David Sønstebø, Sergey Ivancheglo, Serguei Popov, Dominik Schiener)都早在2010及2011年开始接触区块链技术。而IOTA本身来自真实的需求,当时我们正在开发一个代号为"Jinn"的处理器,我们遇到了一个物联网之间的交易结算问题,而在当时并没有现成的方案可以使用,于是有了IOTA。

由于我们已经在区块链领域打拼了多年,并主导了一些“区块链2.0”的新技术,譬如第一个完整的PoS项目(NXT,可以实现去中心化的资产交易、名称登记等等),我们与此同时,意识到了,为了物联网,我们需要一套全新的区块链技术,于是我们开发了"The Tangle"(Tangle的中文意思就是纠缠)。

The Tangle

IOTA No Block No Chain
The Tangle
白皮书地址: https://iota.org/IOTA_Whitepaper.pdf
The Tangle是IOTA背后最主要的创新,是一个基于DAG(定向非循环图)全新设计的分布式账簿结构。是一个既没有块(Block)也没有链(Chain)的区块链。
关于DAG的具体内容可以参考维基百科: https://en.wikipedia.org/wiki/Directed_acyclic_graph

但是The Tangle的核心原则确是与区块链一致的,依旧是一个分布式的数据库、P2P网络,以及依赖共识算法去验证交易。
如果我们来总结一下,The Tangle及区块链之间的主要区别,那就是The Tangle的数据结构以及达成共识的方法。

在IOTA里没有区块的概念,取而代之的是一个交易会引用过去的两条交易记录,这样你的交易会证明过去两条交易的合法性,以及间接证明再之前交易的合法性。

这样,整个网络都参与到了交易合法性的验证之中,而不像传统的区块链里面,只有全网中的矿工(或PoS里的权益所有人)这样少量的节点来验证交易合法性。因此,IOTA的共识就是它自身所内化的特性,可以使它在没有交易费用的情况下进行规模化使用。

在IOTA里,交易的生成非常简单,只有三个步骤:

  1. 签名: 用你的私钥给交易输入签名
  2. 利用MCMC算法,选择两笔随机交易(未确认交易),并被该笔交易引用,分别作为分支交易(brandTransaction)及主干交易(trunkTransaction)
  3. 工作量证明: 要让你的交易被网络接受,你必须提供工作量证明

当你完成了以上的步骤,你的交易就会被广播到全网。同样的,你的交易会随后被别人的交易选中,并且验证,这样你的交易就完成的确认。

IOTA的共识算法

对于任何的分布式账簿我们都会问,全网如何确认一笔交易的状态呢?(共识如何产生)。
针对这个问题,我们就用最经典的“双重支付问题”来解释一下IOTA的共识算法。
IOTA Consensus
上图中的绿色方块代表已经达成共识的交易(有安全保证的已确认交易),红色的方块代表不能完全确认的交易,灰色的方块代表未确认的交易。

在这个示意图里,所以交易的目标都是成为绿色的方块,被全网接受并确认。问题是,这笔交易是如何从灰色的状态变成绿色的状态?仔细看一下,你会发现所有绿色的方块都被所有的灰色方块所间接引用过。这就意味着,每一个被确认的交易都会有一条从底部通往它的路径,那么你这笔交易的确认程度就可以很容易的通过MCMC算法计算出来。譬如,我们执行MCMC算法N次,你的交易被全网接受的概率就是M/N,其中M就是能从底部通往你这笔交易的数量。

作为一个商户,你可以自己决定这个在什么概率水平之上开始接受交易。如果你对51%的水平满意的话,那么执行100次MCMC,如果有51%的路径可以抵达你的交易,那么你就会接受这笔交易。对于高价值的交易,你可以把这个阀值提高到99%甚至是100%。

当你理解了IOTA的共识流程,你就会理解它的简单与美妙之处。它有完备的自我规范,并同时保证了其扩展性及安全性。

0交易费

IOTA No Transaction Fee
由于IOTA的共识达成,不涉及到矿工,所以所有的交易都无需支付交易费用。因此,就算再小金额的交易,都不会涉及到任何费用,因此我们认为它在微支付领域会大有可为。

规模化

IOTA在设计之初就考虑到了规模化的问题,由于共识是并行处理的,不需要像区块链那样等待区块打包,顺序处理,因此IOTA网络处理能力可以随着交易数量的增加而动态增长,交易越多,网络的安全和效率就越高。

在我们最近的进行的压力测试显示,在一个少于250节点的小型Tangle网络中,已经可以做到100TPS的交易速度了。随后我们将会进行更大规模的压力测试。

离线交易(交易分区)

iota-8.png
The Tangle另外一个美妙之处,就是可以随意的让交易从网络中剥离出来或者合并回去。这种异步处理的能力在物联网的实践中尤为重要,因为我们不能保证每个节点永远在线。IOTA甚至还能通过ZigBee、蓝牙等协议让这些离线设备进行交易。

以上就是IOTA的快速简介,欢迎你阅读我的其他文章
以太坊简介 https://steemit.com/cn/@niking/sgpce
关于市值的猫腻 https://steemit.com/cn/@niking/2w96sa
利用机器学习的对冲基金 NMR币简介 https://steemit.com/nmr/@niking/nmr-numerai