IOTA网络与DAG
Tangle是IOTA用于描述其基于有向无环图(DAG)的交易结算和数据完整性层的术语,专注于物联网(IoT)。Tangle本质上是一系列相互链接的单独交易,通过节点参与者的去中心化网络存储。重要的是,Tangle没有矿工,因为网络用户通过验证提交到网络的先前交易来为每笔交易执行小型工作量证明(PoW)计算,从而充当矿工的角色。Tangle旨在为当前区块链系统的异构性质提供解决方案,专注于允许网络扩展为全球物联网设备的微支付网络。正如Tangle白皮书所述:“系统中有两种不同类型的参与者,一种是发出交易的参与者,另一种是批准交易的参与者。这种系统的设计不可避免地会对某些参与者产生歧视,从而引发冲突,使所有元素都在冲突解决上花费资源。上述问题证明了对与区块链技术根本不同的解决方案的探索是合理的,区块链技术是比特币和许多其他加密货币的基础。”
交易结构
Tangle中的每笔新交易需要批准2个提示(tips)。选择哪些提示将被特定新交易批准的策略是Tangle最重要的方面之一。这被称为提示选择算法,在Tangle中,通过利用随机游走的优化形式(主要是加权随机游走)来实现。重要的是,DAG中的交易在时间上并不是均匀分布的,存在一种故意延迟,使新交易在短时间内不可见,以模拟现实世界中的延迟。这种延迟的效果是,交易Tangle更加多样化,而不仅仅是一系列交易链。交易分布的随机性通过泊松点过程实现,这是一种在数学空间(在本例中为DAG)上映射随机点的方法。在Tangle中,尽管新交易存在故意延迟,但新交易的整体平均速率保持不变。符号Lambda用于表示新交易的平均速率,平衡一个不太高或太低的Lambda对于维持多样化交易网络至关重要。如果Lambda为0,Tangle交易网络将仅由与一个批准者交易链接的线性交易链组成。显然,这对于数千个互联设备的可扩展网络来说并不理想。
提示选择与随机游走
Tangle的提示选择算法基于随机游走的概念。基本上,提示选择器从创世交易开始,并在DAG上从左到右线性“游走”到最近的提示。有两种类型的随机游走:无权重随机游走和加权随机游走。无权重随机游走完全基于等概率选择下一个提示进行跳跃。加权随机游走更为复杂,并为每个跳跃到提示的步骤分配累积权重,这是Tangle所使用的。加权随机游走过程仅对每笔交易发生两次。在Tangle中,交易根据直接和间接批准它们的交易数量获得累积权重。这样做是为了减轻所谓的“懒惰提示”,即仅验证旧交易而不跟上Tangle当前状态的交易。为每个提示的随机选择设置一个独特的规则作为DAG上随机游走的线性步骤的方法被称为马尔可夫链蒙特卡罗(MCMC)技术,这是Tangle的基本提示选择算法。MCMC在Tangle的交易模型中起着至关重要的作用,并通过确保Tangle有效性和长期可持续性所需的特定参数进行了优化。
交易有效性与最终共识
类似于比特币中最长的区块链代表最多的PoW工作量,因此是最值得信赖和有效的链,在Tangle中,最重的交易链(更确切地说是最重的分支)是有效的Tangle。在深入探讨Tangle中最终共识和交易有效性如何实现之前,理解Tangle为何被认为是异步的很重要的。一般来说,由于MCMC被用作提示选择算法,并非所有用户(节点)都会在Tangle的给定实例中看到相同的一组交易,甚至可能存在冲突的交易。然而,这里的独特限定条件是,由于每笔交易都添加了累积权重模型,最终会出现一个明显更重的交易分支,而较轻的分支最终将被丢弃。此外,足够旧的交易将汇聚到更重的Tangle中并达到最终共识。双花问题通过Tangle的累积权重属性得到了有效缓解。无效交易不会被批准者(用户/矿工)批准,因此,所有批准无效交易的后续交易都被视为无效。由于这些特定的无效交易没有像有效连接那样多的直接或间接批准连接(累积权重基于间接和直接批准),它们成为最终被丢弃的较轻Tangle分支的一部分。
协调者与未来可扩展性
为了缓解恶意用户以上述方式攻击网络的问题,IOTA基金会目前采用了所谓的协调者(The Coordinator)。协调者作为Tangle的集中式、自愿和临时的替代共识机制。协调者用于每2分钟在Tangle上发布一个里程碑交易,所有被协调者批准的交易都被视为具有100%的即时确认置信度。协调者的实施存在争议,但从逻辑上是可以理解的,因为IOTA网络目前没有足够的相互交互的新交易来自主缓解上述攻击向量。然而,随着网络的不断扩展,协调者的角色将逐渐减少并最终移除,使Tangle能够作为一个完全去中心化的网络运行,通过利用MCMC的分布式共识机制在DAG上实现安全。
结论
自2017年10月最初提出以来,Tangle一直被视为“下一代”区块链。尽管围绕其实施和长期可持续性及潜力存在争议,但Tangle仍然是加密货币领域中最引人入胜的概念之一。随着区块链扩展解决方案的出现,观察“无区块”Tangle是否能够扩展到作为物联网出现的分布式框架的水平,将是一件引人入胜的事情。