互联网技术 · 2024年3月12日

HYPERION:通过共识测量地球

地图是什么?

我们的生活太依赖于地图,以至于我们已经不再重新思考这样基本的问题。这就如同我们不会问自己空气、水是什么一样。

最早人们把地图看作是地球表面缩小在平面上的图形,也即“空间数据的可视化”。而到了现代,地图已经并不局限于表示地表可见的现象,而是包含和更多无形的地理和气候现象,比如气温、气压、降雨等。

但真正让我们彻底沉溺其中的是展示了包括交通信息、商业信息、居住信息等庞大的社会信息在内的电子地图。电子地图已经不再是简单的“地理现实世界的表现或抽象”(by Board,Weiss),地图的模拟、信息负载、信息传输、认知功能已经延伸到了消费社会的绝大部分领域,包括数据搜集和承载、社交引导、消费引导、公共事务管理等等。地图自此由主要记录地理数据变为主要记录人类活动数据,由“地理地图”变为了“社会地图”。

然而故事远远没有结束。以蜂图志(Mapxus)、地图盒子(Mapbox)等为代表的开放地图为地图引入了全新的“共建”理念。但“共建”意味着需要“价值共享”作为支撑。这成为了共享式地图建设的瓶颈。

而当区块链技术——“价值互联网”——出现时,颠覆性的改变终于成为了可能。

共识地图的三大难点

相对于中心化的电子地图,共识地图是人人参与的地图,是“活着的地图”(a Living Map)。然而如果需要完成人人参与,首先要回答三个问题:

1一张地图(相对固定)如何处理和容纳时刻变化着的不可以预测的信息(绝对变化)?

2如何在海量的元数据(未加工数据)中快速且正确的调取所需数据(精准数据)?

3如何改进现有的区块链技术才能实现共识地图的梦想?(区块链性能瓶颈)

那么,我们需要如何作答呢?

HYPERION的答案

HYPERION给出了答案。HYPERION是一个“众包技术、众享经济、众治社区”三体一体的共识地图生态体系(Hyperion Trinity),它通过区块链技术整合了地图技术、经济与社会结构三个重要维度,以最终实现可持续、自治的地图经济。在这个体系内,民众有能力构建地图技术、得到经济回报、参与地图社区的治理。

HYPERION拥有开创性的底层技术,在分层双链设计、弹性空间分片技术、多核局部瓦片技术、分布式密钥、零知识定位证明、匿名概要文件等多个领域,定义了3.0共识地图时代。

分层双链设计

HYPERION的核心是ATLAS公链?—?一个可扩展和灵活的区块链架构,由一条主链和一条工作链组成。

为了融合不同的使用场景和使用者,ATLAS公链采用了独特的分层双链设计。ATLAS在主链上使用了bft+dpos作为第一协议层(layer1)的共识算法。在这种混合算法中,将通过诚信节点(被社区选举的可信帐户)保证其可靠性,并通过拜占庭容错协议的变体(a variant of the Byzantine Fault Tolerant protocol)最终达成一致。这使得HYPERION能够集中节点的计算能力处理交易和智能合约,进一步提高速度和效率。

这种混合算法中的pBFT算法支持的最大容错节点数量是(n-1)/3,完成pBFT基本流程需要完成客户端发送请求给主节点、主节点广播请求给其它节点、节点执行pBFT三阶段共识流程、节点返回消息给客户端、客户端接收来自f+1个节点的相同消息后,代表共识已经正确完成。

在这一过程中,可以通过设置Stable Checkpoint(稳定检查点,即大部分节点已经共识完成的最大请求序号)来减少内存的占用。其逻辑是,为了避免因为每个节点记录的共识数据不断积累会导致数据冗余,那么,一但某节点被确定为稳定检查点,其之前的记录就可以删掉从而减少内存的占用了。这将极大地降低数据负载,从而提高ATLAS的使用效率。

ATLAS在工作链中将使用pBFT+SCP作为第二协议层(layer2)的共识算法。SCP(空间共识协议)包含基于社会博弈模型构建的自动地图数据验证协议(静态位置数据)和可验证安全定位服务(动态位置数据)。SCP具有一组可验证的安全属性,这些属性根据如何安全地保持活力而做了优化。一旦出现分区或不当行为节点,它将会终止网络过程,直至达成共识。在SCP 同时具备四种属性:去中心控制、低延迟、灵活信任机制和渐进安全。工作链使用pBFT+SCP的混合算法可以在高容错的基础上极大的提高区块链的工作效率,并可以为分散在全球的数据提供机构赋能。

极简美学:希尔伯特曲线

作为第一代区块链技术的代表,比特币公链具有惊人的“极简美学”。

中本聪将哈希函数(Hash function)在比特币公链的不同场景中做了精妙且丰富的运用。哈希函数是一种单向密码体制,它是一个从明文到密文的不可逆的映射。在比特币公链中,工作量证明(POW)利用了哈希函数SHA-256,生成以多个0开始的散列值。而在梅克尔树(Merkle tree)、散列指针(Hash pointer)、数字签名(Digital signature)等的生成和使用上,中本聪也均使用了哈希函数固定长度输出、单向不可逆、碰撞约束的特性。可以说,比特币公链之所以优美,是因为它是对哈希函数这一“简单”理论的“极致”运用。

同比特币公链对哈希函数理论的运用一样,ATLAS公链在设计时,也充分利用了希尔伯特曲线(Hilbert Curve)的特性,使之成为了ATLAS所独有的极简美学。

希尔伯特曲线是一种一维分形曲线。如同哈希函数在比特币公链中的多维运用一样,在HYPERION的设计中,使用希尔伯特曲线的特性可以同时完成四大使命:

一是利用希尔伯特曲线特性完成空间填充,即用唯一的标识来处理地球上的每个位置。二是利用希尔伯特曲线完成系统的负载均衡,即在本地支持高维度树结构,并在低维中均匀地划分数据工作负载。三是利用希尔伯特曲线增加对象的确定性,即启用惰性分配方法,避免系统因为位置节点的合并/拆分操作付出过高代价。四是利用希尔伯特曲线保持局部性存储,使网络和本地应用保持位置和数据的一致,并在本地同时生成处理单元,为系统提供支持。

可以说,HYPERION对希尔伯特曲线的运用是对比特币公链精髓最好的传承,同时也是对3.0时代共识地图时代最重要的贡献。

弹性空间分片

众所周知的是分片技术旨在解决区块链扩容的问题。其特性是可以进行水平扩容,这意味着,分片技术的运用可以使网络的吞吐量随着挖矿网络的扩展而增加。

ATLAS首创的弹性空间分片不仅仅是一个区块链技术概念,更是一个运用希尔伯特曲线改造地图数据处理系统的全新理念。它分为链上数据分片和链下数据分片两部分。

一方面,在链上部分,弹性空间分片技术将保留“自下而上”式的无限分片技术的全部优点,即其可以自动分割和合并以适应负载的变化。这意味着即使某些使用HYPERION的服务(如To B的商用服务)将变得非常容易、流畅,新的区块总是能够快速生成,并且不需要长时间排队,有助于降低交易成本。

另一方面,在链下部分,弹性空间分片技术将利用希尔伯特曲线在空间填充中的优势,实现填充操作的精确性和大规模并行。

作为一维曲线希尔伯特曲线可以依据自身空间填充曲线的特性线性的贯穿二维或者更高维度的每个离散单元,且仅仅穿过一次。不但如此,经过希尔伯特曲线的贯穿,会对每个离散单元进行线性排序和编码,从而成为该单元的唯一标识。这也有助于使用确定性特征对对象分配惰性操作。

同时,运用希尔伯特分形曲线的分解特性原生支持高维树结构,在低维空间均匀分布载荷,可以增加系统的抗偏度。

希尔伯特分形曲线将高维空间中没有良好顺序的数据映射到一维空间的编码方式,会自动形成空间上相邻的对象的邻近存储。这也可以减少IO的时间,提高内存中数据处理效率。

除利用希尔伯特曲线的独有优势外,空间分片技术还可以通过对数据的截取实现对关键范围的宏共享,然后通过将树结构将数据划分为本地处理单元,再进行大规模、并行化微共享。这对共识地图同时达到的“去中心化”“安全”和“高效低耗”提供了一种实现可能。

第二次空间分片

在不同环境条件下,地图选择性的加载具有不同细节的图像资源,可以提高图像的呈现效率。这种通过分割加载的图像加载技术广泛用于电子地图之中,被形象的称为“瓦片技术”。而运用区块链技术如何高效的对这些图像切片数据、特别是边缘切片图像数据进行大规模并行处理,是共识地图需要解决的难题。

ATLAS利用希尔伯特函数的特性,通过采用一种全新的局部优化、节省存储空间的数据结构——希尔伯特瓦片结构(Hilbert-ordered tiles)——解决了这一难题。

希尔伯特瓦片是一个独立的批边缘处理单元。它同时兼具高局部性和良好的可压缩性,这为大规模图形处理提供了极大的弹性,从而也更容易在多节点的分布式操作系统上形成简明、有效负载平衡方案。

在地图图像处理中,希尔伯特瓦片式数据结构无论是用在协处理器还是主处理器都有着明显的优点。

当希尔伯特瓦片结构用于协处理器时,它可以为边缘图形的处理工作提供更好的缓存位置。同时,它还能通过预取实现I/O并发,从而提升系统性能。

当希尔伯特瓦片结构用于主机处理器时,它可以允许操作者进行连续不断的磁盘访问。原因是这些访问数据则小到可以绕过负载平衡问题。另一方面,利用希尔伯特瓦片结构的特性,系统缓存可以被放置在以顶点为中心的图计算模型中(vertex-centric operations)。

运用希尔伯特瓦

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.