首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

初识IOTA,第三代公共分布式账本

什么是IOTA

IOTA是为物联网 (Internet-of-Things (IoT)) 行业设计的一种加密货币。IOTA是第三代公共分布式账本,与传统的公共区块链技术不同,它并不是用链式的结构来构建Ledger,IOTA用来存储交易的"块"叫作"Tangle",Tangle的本质是计算机中的有向非循环图DAG (Directed Acyclic Graph)

IOTA的历史

IOTA项目是由David Sønstebø, Sergey Ivancheglo等人于2015年创立,ICO时他们众筹到1337个比特币用于项目开发。在2017年的时候,包括微软、大众、三星等超过三十家企业机构参与到IOTA项目中。同年12月底,IOTA入选东京城市圈政府加速器项目。在此期间IOTA团队创建了IOTA基金会。 IOTA基金会总部位于德国柏林,是一个非盈利性组织,致力于加速构建可持续的开源的IOTA生态系统。

IOTA有哪些特点?

IOTA主要专注于物联网,但是IOTA采用的技术使它同样很适合于金融支付

IOTA具有以下特点:

1.高可扩展性

因为采用Tangle来存储和验证交易,每个Tangle总会指向并验证过去的2个Tangles,每个节点既是交易的创建者也是交易的验证者所以当交易量增加,整个网络的交易验证处理能力也会随之增加。在2017年4月的压力测试中,在250个节点的小网络中,IOTA取得每秒112笔交易确认的成绩。

2.更加去中心化

IOTA没有矿工 (Miners),所有的IOTA都被提前开采并卖给了参与众筹的用户和投资机构,目前官方的IOTA交易所还在开发中,想获得IOTA可以通过其他虚拟货币交易所购入。在IOTA系统规定里每个交易的创建者同时也是以前交易的验证者,所以根据设计每个节点都积极地参与共识机制中。这与比特币的现状有很大不同,从下图中我们可以看出,目前比特币的大部分算力集中在少数矿池手上。

3.无交易手续费

IOTA没有手续费,当你向一个地址发送1枚IOTA时不会被收取任何交易费用,这意味着IOTA可以被用于大量的小额支付。像比特币和其他有手续费的加密货币系统,如果手续费已经大于交易金额本身,那么这样的小额支付将变得没有任何意义。

4.防量子计算破解

虽然量子计算还出于非常早期的阶段,但已经有人开始担心量子计算对于计算能力的提升会对当前常用的RSA,ECDSA (Elliptic Curve Digital Signature Algorithm, 比特币采用的非对称加密算法) 等加密算法的安全性构成非常大的威胁。有人预测量子计算会在未来20年到50年的时间到来,并且能够打破当前的非对称加密算法。因此,密码学家们开发出了几种基于哈希的量子防护 (quantum-resistant) 的One Time Signatures (OTS)加密算法,IOTA采用的Winternitz One-Time Signature Scheme就是其中一种,可以防量子计算破解。

再谈Tangle

作为IOTA的核心概念,Tangle作为存储交易的数据结构串连起了IOTA所有的技术点。我们用下面的简化版Tangle网络概念图来说明IOTA如何来完成交易的确认

绿色代表已经被确认的交易。

红色代表还没有被完全确认的交易。

灰色代表没有被确认的交易。(Tips)

当一个交易被创建,它要经过3个步骤

1.Signing

节点 (Computer/Mobile)创建交易并用自己的私钥 (Private Key)对交易进行签名

2.Tip Selection

节点在创建新的交易时通过使用RWMC (Random Walk Monte Carlo) 算法选出2个未被确认的Tips

3.POW (Proof of Work)

节点首先检查被选中的两个Tips是否存在冲突。然后对选中的两个Tips进行工作量证明 (POW),这里类似于比特币的Hashcash,不停地把Tips的哈希值加上nonce进行再哈希,直到得出的新哈希值的前N位都是0。

图中绿色的Tangle被所有的Tips直接或者间接的指向,所以是完全被确认。而图中红色的Tangle只是被部分Tips所指向,所以是未被完全确认。如果我们运行RWMC算法100次,有60个Tips指向某个Tangle,那么这笔交易的确认度是60%。完全确定意味着更长的确认等待时间,交易的确认度由收款人自行决定。比特币每个块的生成时间被系统控制在10分钟,对于大额交易一般需要6块的确认,所以一个公认的交易的确认等待时间为1小时。

因为每个节点在创建1笔交易之前必须验证2个未被确认的Tips,所以当Tangle网络中又更多的节点参与进来的时候,整个IOTA网络的验证能力与速度就会得到进一步的增强,这种设计部分解决当前区块链扩展性的问题。

免责说明:

由于IOTA还处于Beta开发阶段,文中所涉及的概念和参数可能会随着项目的开发而变化,具体请参考官方IOTA Reference Implementation (IRI)。

Winternitz One-Time Signature Scheme: https://eprint.iacr.org/2011/191.pdf

IOTA Reference Implementation (IRI): https://github.com/iotaledger/iri

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180131G0N68P00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券