序数是加密货币中使用的一种数据结构。它们允许对系统内的元素进行排序,而不依赖于可能受到操纵的时间戳或 ID 等外部结构。序号为用户提供了一种按时间顺序跟踪交易和其他事件的有效方法,即使没有中央机构管理它们。
序数由两部分组成:键和值。密钥通常是某种哈希或加密签名,它唯一地标识系统内的每个元素,而值通常是一个增量数字,指示其相对于具有相同密钥的其他元素的位置。这允许通过比较这些元素的值按时间顺序对这些元素执行的所有操作进行排序;如果一个元素的值高于另一个元素,则意味着它是在第一个元素之后创建的。
序数的一个常见用例是在比特币和以太坊等区块链网络中分配交易编号,其中每笔交易都必须有一个唯一的标识符,以便节点可以正确跟踪它们,而不会同时出现在不同的链上(这可能会导致双重交易)花费)。通过使用序号而不是时间戳或序列号等传统方法,矿工只需查看其值即可轻松验证哪些交易是首先发出的,而无需从外部来源查找任何其他信息。
除了加密货币之外,序号还用于数据库和消息队列等分布式系统中,它们提供与上述类似的好处:允许节点按时间顺序对事件进行排序,无论谁生成了事件或它们在什么时钟上运行。