地图是什么?
我们的生活太依赖于地图,以至于我们已经不再重新思考这样基本的问题。这就如同我们不会问自己空气、水是什么一样。
最早人们把地图看作是地球表面缩小在平面上的图形,也即“空间数据的可视化”。而到了现代,地图已经并不局限于表示地表可见的现象,而是包含和更多无形的地理和气候现象,比如气温、气压、降雨等。
但真正让我们彻底沉溺其中的是展示了包括交通信息、商业信息、居住信息等庞大的社会信息在内的电子地图。电子地图已经不再是简单的“地理现实世界的表现或抽象”(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时代共识地图时代最重要的贡献。
图1:利用希尔伯特曲线特性完成空间填充(使命一)示意图
弹性空间分片
众所周知的是分片技术旨在解决区块链扩容的问题。其特性是可以进行水平扩容,这意味着,分片技术的运用可以使网络的吞吐量随着挖矿网络的扩展而增加。
ATLAS首创的弹性空间分片不仅仅是一个区块链技术概念,更是一个运用希尔伯特曲线改造地图数据处理系统的全新理念。它分为链上数据分片和链下数据分片两部分。
一方面,在链上部分,弹性空间分片技术将保留“自下而上”式的无限分片技术的全部优点,即其可以自动分割和合并以适应负载的变化。这意味着即使某些使用HYPERION的服务(如To B的商用服务)将变得非常容易、流畅,新的区块总是能够快速生成,并且不需要长时间排队,有助于降低交易成本。
另一方面,在链下部分,弹性空间分片技术将利用希尔伯特曲线在空间填充中的优势,实现填充操作的精确性和大规模并行。
作为一维曲线希尔伯特曲线可以依据自身空间填充曲线的特性线性的贯穿二维或者更高维度的每个离散单元,且仅仅穿过一次。不但如此,经过希尔伯特曲线的贯穿,会对每个离散单元进行线性排序和编码,从而成为该单元的唯一标识。这也有助于使用确定性特征对对象分配惰性操作。
同时,运用希尔伯特分形曲线的分解特性原生支持高维树结构,在低维空间均匀分布载荷,可以增加系统的抗偏度。
希尔伯特分形曲线将高维空间中没有良好顺序的数据映射到一维空间的编码方式,会自动形成空间上相邻的对象的邻近存储。这也可以减少IO的时间,提高内存中数据处理效率。
除利用希尔伯特曲线的独有优势外,空间分片技术还可以通过对数据的截取实现对关键范围的宏共享,然后通过将树结构将数据划分为本地处理单元,再进行大规模、并行化微共享。这对共识地图同时达到的“去中心化”“安全”和“高效低耗”提供了一种实现可能。
第二次空间分片
在不同环境条件下,地图选择性的加载具有不同细节的图像资源,可以提高图像的呈现效率。这种通过分割加载的图像加载技术广泛用于电子地图之中,被形象的称为“瓦片技术”。而运用区块链技术如何高效的对这些图像切片数据、特别是边缘切片图像数据进行大规模并行处理,是共识地图需要解决的难题。
ATLAS利用希尔伯特函数的特性,通过采用一种全新的局部优化、节省存储空间的数据结构——希尔伯特瓦片结构(Hilbert-ordered tiles)——解决了这一难题。
希尔伯特瓦片是一个独立的批边缘处理单元。它同时兼具高局部性和良好的可压缩性,这为大规模图形处理提供了极大的弹性,从而也更容易在多节点的分布式操作系统上形成简明、有效负载平衡方案。
在地图图像处理中,希尔伯特瓦片式数据结构无论是用在协处理器还是主处理器都有着明显的优点。
当希尔伯特瓦片结构用于协处理器时,它可以为边缘图形的处理工作提供更好的缓存位置。同时,它还能通过预取实现I/O并发,从而提升系统性能。
当希尔伯特瓦片结构用于主机处理器时,它可以允许操作者进行连续不断的磁盘访问。原因是这些访问数据则小到可以绕过负载平衡问题。另一方面,利用希尔伯特瓦片结构的特性,系统缓存可以被放置在以顶点为中心的图计算模型中(vertex-centric operations)。
运用希尔伯特瓦片结构的这一特点,ATLAS系统具有了极高的数据弹性。当我们在设备本地运行数据抓取(Pull)命令时,ATLAS会同时下达数据压缩命令(Reduce)。处于顶点处的数据将被压缩以节约资源,提高系统整体的运行效率。这一操作对于本地图形和全局图形都是如此。
基于此,当我们使用ATLAS时,高数据弹性带来的流畅的体验将很难让我们感受到ATLAS是一个基于分布式系统的共识地图。
分布式密钥
作为一个庞大的共识地图系统,ATLAS在处理各种地图数据的同时,也必然会跟踪用户位置,保存并调用用户配置和本地数据。然而这些数据可能包含着关于用户隐私的敏感信息。ATLAS将运用分布式密钥、零知识定位证明和匿名概要文件技术来保护这些数据。
密钥生成是密码系统的重要部分,对整个密码系统的安全性起着至关重要的作用。ATLAS采用的分布式密钥生成协议允许多个参与者共同合作生成一个密码系统的公钥和私钥,使得公钥以公开形式输出,而私钥被参与者按照某一秘密分享方案分享。
在ATLAS使用的分布式密匙生成协议中,n个受托人将共同生成一个公钥/私钥对,其中私钥可以通过非交互式零知识证明的方法,验证其有效性,并通过“t-out-of-n”方案来完成检索,这大大提高了私钥的安全性。
零知识定位证明
地图的使用用户通常对位置跟踪非常敏感。ATLAS在用户的位置追踪上使用了零知识证明设计。
零知识证明(Zero—Knowledge Proof)是指证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。其优点是,当证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
ATLAS大部分使用位置追踪的功能上使用了零知识证明。即若ATLAS用户A在使用ATLAS时不得不将自己的位置信息共享,但用户B则可以在无法获知A位置数据的情况下通过ATLAS确定A在其圈定的目标区域内,并向其推送商业广告。这样,ATLAS就在保护A用户隐私的前提下,同时满足了B用户的商业需求。
匿名概要文件
ATLAS在概要文件的隐私上也采用了新的思路。概要文件是口令限制和资源限制的命名集合,可以看作是 Oracle安全策略最重要的部分。利用概要文件可以对数据库用户进行口令管理、资源限制。使用概要文件可以实现限制用户执行消耗资源过度的SQL操作、自动断开空闲会话、在大而复杂的多用户数据库系统中合理分配资源、控制用户口令的使用等等。
ATLAS在第三方访问中保持用户资料匿名,它可以在不支持长期系统跟踪的情况下存储数据,即使用混合广播、可验证随机机制、一次性假名、环形签名等方式在有效保存数据的同时保护用户隐私。所有的信息反馈及与系统的交互将通过可链接环形签名来实现。所有的参与者都可以接收到其反馈,并获知反馈来自一个注册用户,却不知道该用户的确切身份。这也将有效的保护用户的个人隐私在使用ATLAS的过程中不被侵犯。
一张来自未来的地图
建立在ATLAS公链基础上的HYPERION是对传统的物理地图和语义地图的跨越式升级。它改变了传统中心化地图的数据不完整、不准确,缺乏透明性、私密性与产权制度缺位的弊端。HYPERION对信息流的处理可以被称为“在混沌中寻找确定性”。
传统的中心化地图当地图信息超过时效时无法做出敏捷处理。而针对现代人类生活中对地图信息的实际需求,信息的及时性显得越来越重要。虽然地图信息的及时性要求并未达到社交类、消费类系统的标准,但信息流更新的顺畅程度显然已经成了制约地图产业深度发展的技术门槛。
图2:传统中心化地图信息的传输偏差
对于共识地图HYPERION来说,其开创的“众包技术”模型,无异于开启了“实时信息流地图”的新时代,即用户提供混沌的即时数据,同时又在这个数据洪流中自发寻找确定性。通过这一开创性的革新,HYPERION将解决在地图制作到使用的过程中长久以来存在的信息偏差的难题。
此外,HYPERION的共享地图经济理念是对免费地图经济模型的一次跨越。免费地图经济事实上是透过提供免费的地图服务,获取用户数据及隐私,来达到获利的目的。也即免费是以对用户隐私进行追踪为代价的。而HYPERION将最终通过对地图技术、经济与社会结构三个重要维度的创新和有机整合改变这一现状。
以“众包技术、众享经济、众治社区”为三体一体的HYPERION体系,其数据由数据社区基于空间共识协议产生,地图技术节点由技术社区全球分布式维护,技术和治理社区由持有以数字地权的代理人共同治理,并最终通过数字地权激励全部贡献者。HYPERION的经济收入最终将由收益由数字地权持有者共享,以智能合同完成自动分配。这套生态系统将最终形成一个以ATLAS为基础,以数字地权为凭证的完整、真实、公平的价值体系,开启地图经济的全新时代。
HYPERION,一张来自未来的地图,正逐渐向我们展露它的全景。