自由现金操作系统旨在促进区块链间的跨链交互,这是通过简化消息存在证明和消息序列证明来实现的。这些证明与围绕信息传送的应用架构设计相结合,同时可以隐藏跨链交互和验证的细节,避免向应用程序开发人员公开。要更容易地与其他区块链集成,对于客户端而言最好是不需要处理全部的交易。毕竟,一个交易所关心的不过只是入账和出账操作。更进一步而言,一个更加理想的状态是,对于交易所自身所维持的链来说,如果可以将轻量级的默克尔存款证明应用其中,那么就不必完全依赖全节点矿工,全节点矿工同步时也能维持尽可能小的开销。
LCS 的目标是能产生相对轻量级的交易存在证明,并且该证明能被其他人通过跟踪一个轻量级数据集进行验证。既然如此,目的就是证明一个特定的交易是被一个特定的区块包含其中,并且这个区块是被包含在已经验证的特定区块链历史中。比特币的轻量级验证方式是,假设所有节点都有读取区块头数据完整记录的能力。而区块头数据每年增长 4MB,假设每秒产生 10 笔交易,一个有效的证明需要 512 bytes,这对于一个出块时间为 10 分钟的区块链来说是可行的。
但对于一个出块时间为 3 秒的区块链来说则远远不够。自由现金操作系统的轻量级证明只需要验证包含某个特定的不可逆交易之后的区块头数据,使用哈希链表架构,数据集可以保持在 1024 bytes 内,即可证明任何一个交易是否存在。这是基于验证节点保留着前一天的所有区块头数据(2 MB 大小),然后证明这些交易只需要 200 bytes 大小的证明数据。当生成区块时候使用合适的哈希链表时,使用这种方法只会带来很小的增量开销,这意味着没有理由不以这种方式去生成区块。当与其他链验证证明的时候,时间、空间和带宽都有很大的优化空间。跟踪所有区块头数据(420 MB/年)可以使证明体积尽可能小。
只跟踪最近 的区块头可以使得在持久区块头数据保存体积以及证明体积之间获得平衡。同样的一个区块链可以“懒惰地”只记录过去数据的哈希值作为之前数据的证据,新证明只需要保留已知的 sparse tree(稀疏树)结构,具体的方法会视乎于外部区块所占的默克尔证明所包含的交易比例。在链与链之间经过一定密度的相互关联之后。他们将会变得越来越高效。一条链可能会包含另外一条链的全部历史记录,那么就不再需要互相证明。从性能的角度来说,这将极大地减少链间互相证明操作的频率。
网友评论