IOTA 学习笔记(一):IOTA 是什么?从区块链到 Tangle 提到分布式账本大多数人首先想到的是比特币、以太坊这类传统区块链系统。它们通常采用“区块 链”的结构交易先被打包进区块区块再按照时间顺序一个接一个连接起来形成一条不断增长的链。这个结构非常经典也奠定了后来区块链系统的基本范式。但 IOTA 从一开始就选择了另一条路线。它并没有把自己设计成一条传统意义上的区块链而是提出了 Tangle 这一基于 DAG 的账本结构。理解 IOTA首先要理解这一点IOTA 的早期独特性并不只是“又一个数字货币项目”而是它试图用一种不同于链式区块结构的方式来组织交易和维护账本。1. 为什么会出现 IOTA传统区块链在安全性、去中心化和可验证性方面有很强的优势但也带来了一些典型问题。例如交易需要被打包进区块区块生成需要时间交易处理能力受到区块大小、出块间隔和共识机制影响在很多公链系统中用户还需要支付交易手续费。这些问题在普通金融转账场景中可以被接受但如果把视角放到大量设备频繁交互的场景中问题就会变得更加明显。假设未来有大量设备需要不断交换数据、状态或价值那么每一次交互都支付较高费用、等待较长确认时间就不太适合高频、轻量、低成本的机器交互场景。IOTA 正是在这样的背景下受到关注。它早期面向的核心设想是为机器经济、物联网设备和低成本数据交换提供一种轻量级的分布式账本基础设施。也就是说IOTA 想解决的问题不是单纯“再造一个比特币”而是探索一种更适合高频、小额、设备间交互的账本结构。2. 传统区块链的基本结构为了理解 IOTA先简单回顾一下传统区块链的结构。在传统区块链中交易通常不会单独成为账本的主要组织单位而是会被打包进区块。每个区块中包含一批交易并且会引用前一个区块的哈希值。这样一来区块和区块之间就形成了一条顺序明确的链。可以简单理解为Block 1 → Block 2 → Block 3 → Block 4这种结构的好处是非常清晰。账本有明确的先后顺序历史状态容易追溯篡改某个区块会影响后续所有区块因此安全性较强。但这种结构也有局限。因为交易需要进入区块区块又需要按照一定节奏产生所以系统吞吐量和确认速度会受到链式结构本身的影响。尤其在网络拥堵时用户往往需要支付更高费用才能让交易更快被确认。因此传统区块链更像是一条“单线排队”的账本系统。它稳定、清晰、容易理解但在高并发、小额、高频交互场景下可能会遇到效率和成本方面的挑战。3. IOTA 为什么没有采用传统区块链结构IOTA 早期最重要的设计选择就是没有沿用“区块 链”的模式而是提出了 Tangle。Tangle 可以理解为一种基于 DAG 的账本结构。DAG 的全称是 Directed Acyclic Graph中文通常翻译为“有向无环图”。其中“有向”表示图中的连接关系有方向“无环”表示沿着方向走不会绕回到原来的节点。如果说传统区块链更像一条线那么 DAG 更像一张不断扩展的图。传统区块链大致是这样Block 1 → Block 2 → Block 3 → Block 4而 DAG 结构更接近这样Tx2 ↗ ↘ Tx1 Tx4 ↘ ↗ Tx3在早期 IOTA 的 Tangle 设计中交易本身就是账本结构中的节点。新交易不是等待矿工把它打包进区块而是需要引用并确认之前的交易。这样一来交易之间会逐渐形成一个相互引用、相互确认的图结构。这就是 IOTA 早期与传统区块链最根本的不同传统区块链强调“交易进入区块区块连接成链”IOTA Tangle 强调“交易直接参与账本结构交易之间形成图状确认关系”。4. Tangle 的基本思想Tangle 的核心思想可以概括为一句话每一笔新交易在加入账本时需要引用并确认之前的交易。这听起来很简单但背后代表了一种完全不同的账本组织方式。在传统区块链里普通用户提交交易矿工或验证者负责打包和确认交易。用户和维护账本的角色相对分离。而在 Tangle 的设想中发送交易本身也参与了确认过程。新交易进入网络时需要选择一些尚未被后续交易确认的交易并对它们进行引用。随着越来越多交易加入旧交易会不断被后续交易间接确认整个账本的可信度也逐渐增强。这带来了一个很有意思的设计思路系统越活跃理论上参与确认的交易也越多。也就是说交易增长不一定只是负担也可以成为推动确认过程的一部分。当然这只是理解 Tangle 的入门视角。真实系统还需要考虑冲突交易、权重计算、网络延迟、攻击防护、最终确认等问题。但从学习角度看第一步先抓住这一点即可Tangle 不是把交易装进区块而是让交易之间互相引用、互相确认。5. IOTA 早期强调的几个特点正因为采用了 TangleIOTA 早期经常强调几个特点无区块、无矿工、无手续费、高并发潜力。第一IOTA 早期没有传统意义上的区块。交易不是先进入内存池再等待被打包进区块而是直接作为图结构中的节点加入账本。第二IOTA 早期没有传统意义上的矿工。确认过程不是完全依赖一类专门的打包者而是让新交易在提交时参与确认旧交易。第三IOTA 早期强调无手续费。这个特点和它面向物联网、机器经济、小额高频交互的定位密切相关。因为如果每一次设备交互都需要支付明显手续费那么很多小额交互就失去了经济意义。第四IOTA 早期强调并发扩展潜力。由于账本不是单线结构而是图结构因此它在设计目标上希望更适合大量交易并行发生的场景。这些特点共同构成了 IOTA 早期最有辨识度的技术叙事它不是传统区块链而是试图用 Tangle 这种 DAG 账本来支撑新型分布式应用。6. 但今天学习 IOTA不能只停留在早期 Tangle不过学习 IOTA 时需要特别注意一个问题IOTA 的技术路线经历过多次演进今天的 IOTA 已经不能只用早期 Tangle 来概括。早期 IOTA 为了保障网络运行引入过 Coordinator 机制。Coordinator 可以帮助网络确认交易但也带来了中心化争议。因此IOTA 后续长期推进去中心化改造希望逐步摆脱对 Coordinator 的依赖。后来IOTA 又经历了 Stardust、IOTA 2.0、Rebased 等技术路线变化。尤其是 Rebased 之后IOTA 的技术重点已经不只是早期的 Tangle 账本叙事而是进一步引入了新的共识机制、对象模型和 MoveVM 智能合约能力。这意味着今天学习 IOTA 要分清两个层次第一历史层面的 IOTA。这个层面重点理解 Tangle、DAG、无区块、无矿工、无手续费、Coordinator、Coordicide 等概念。第二当前架构层面的 IOTA。这个层面重点理解验证者网络、共识机制、对象模型、MoveVM、Package、Object、Gas、CLI、Localnet 和智能合约开发。如果只看早期资料很容易把 IOTA 简单理解成“一个 DAG 项目”。这个理解并不完整。更准确的说法是IOTA 早期以 Tangle 和 DAG 结构形成差异化后来逐步演进为一个具备智能合约、对象模型和开发者工具链的区块链基础设施。7. 本系列学习笔记准备怎么写这个系列不会一开始就直接写命令也不会只停留在概念介绍。我的计划是按照“概念 → 架构 → 工具 → 本地网络 → 合约开发 → 交易机制”的顺序逐步理解 IOTA。后续内容大致包括第一继续理解 DAG 与 Tangle。重点解释 DAG 是什么Tangle 如何组织交易Tip Selection 又是什么。第二梳理 IOTA 的技术演进。从早期 Coordinator到 Coordicide再到 Stardust、IOTA 2.0 和 Rebased理解 IOTA 为什么不断调整架构。第三学习当前 IOTA 架构。包括验证者、共识、对象模型、MoveVM、交易、Gas 和链上状态。第四学习 IOTA CLI 和 Localnet。通过命令行连接本地网络、查看地址、查询对象、提交交易。第五学习 IOTA Move 智能合约。从最简单的 Counter 合约开始理解如何创建对象、修改对象和查询对象状态。第六理解 IOTA 交易和 PTB。学习可编程交易块如何把对象操作、函数调用和转账组合成一笔交易。8. 小结第一期先解决一个最基础的问题IOTA 到底是什么简单来说IOTA 最早的独特性来自 Tangle。它没有采用传统区块链的线性区块结构而是用 DAG 组织交易让交易之间形成相互引用、相互确认的图结构。这使得 IOTA 在早期就与比特币、以太坊等传统链式系统形成明显区别。但是今天学习 IOTA 不能只停留在早期 Tangle。随着技术路线不断演进当前 IOTA 已经进一步引入对象模型、MoveVM 和智能合约能力。因此理解 IOTA 需要同时看两个维度一个是它从 Tangle 起步的历史逻辑另一个是它在 Rebased 之后形成的当前架构。下一期我会继续梳理 IOTA 的核心概念DAG 和 Tangle。重点回答三个问题DAG 到底是什么Tangle 如何组织交易为什么 IOTA 早期认为这种结构更适合高并发场景