区块链实现了一个可以防篡改的账本,可以用来记录交易信息进而改变一些存储的全局状态。整个系统记录所有的状态演化的历史信息。对于这些历史信息的管理,通常被称作数据的溯源(data provenance or lineage)。在传统的数据库领域,这一方向已经被广泛研究。但在区块链中对历史数据进行检索,目前的方法只能依赖于分析所有的交易信息(replay all transactions)。这样的方法适用于大规模的离线分析,而对于在线交易信息的处理是不合适的。
LineageChain通过简单的API将溯源信息传给给智能合约,从而实现了一类新的区块链应用程序,其执行逻辑依赖于运行时的产生的溯源信息。在智能合约执行的过程当中,LinageChain会获取到溯源信息,然后高效地存储在Merkle Tree中。LineageChain提供了基于跳表索引的结构来支持更加高效率的数据溯源的检索。整个系统基于Hyperledger来实现。存储系统基于ForkBase实现。论文对LineageChain的性能做出了分析,证实其高效、安全、需要更少的存储代价等诸多优势。
都已经想到了是求出所有的完全平方数,但是最后还是做复杂了,其实一步就可以解决的。我没想到这个结论:
1, 2, …, n 中完全平方数的个数就是$ \lfloor \sqrt{n} \rfloor$.
由这道题可以得出两个结论: