GeoSatoshi:地理空间数据区块链

Stella981
• 阅读 473

GeoSatoshi:地理空间数据区块链

GeoSatoshi:地理空间数据区块链

摘要. 一个纯粹的端到端开源生态系统允许地理空间数据的整合、存储和分发。区块链技术提供这一解决方案的一部分,但这一系统的主要部分是缺失的,即如果信任的第三方被要求管理和控制这一系统。 地理空间信息社区提出的这一建议,是一个建立于区块链技术之上的数字商业系统,将鼓励和促进高质量地理空间数据的建立。 为了激励高质量的数据,作者和浏览者都被使用生态系统的GeoSatoshi数字币予以奖励。 使用区块链技术解决了几个地理空间数据的问题:可访问性, 中心化权属和全球可负担。浏览数据是免费的,以促进数据开放访问,但是下载 features 要求 GeoSatoshi coin作为货币一样支付。匿名特征被建议,用于减少来自可怕威胁的强制的影响,促进非传统但符合道德的方法的数据收集。通过区块链方法,数据不是发送,而通过key访问。建议的系统使用数字货币来鼓励机构公开自己的私有数据从而在更大的范围造福于地理空间数据社区。

1. 简介

地理空间数据包含解决我们这个世界面临的环境问题的关键钥匙。对于全球的科学家和工程师来说,数据可以检索和访问是至关重要的。 一个明显的问题是,地理空间数据散落在互联网的各个角落,包括公共的和私有的存储空间。数据持续地在大型组织机构级别被内部构建,但没有技术将数据整合和将使用者连接起来。

为了解决数据碎片化问题,现代的方法努力将其整合为一个中心化的空间数据库。各种组织投资于人力、硬件和软件,但是结果系统和数据却局限于本机构内部的访问。这种投资行为将有价值和需求的数据隔离于巨大的地理空间信息社区之外。 这种企业级空间数据库解决了组织内部的数据整合问题,但对于全球地理空间信息社区的更大的目标需要开放的数据存取来说却是失败的。

我们需要一个整合和分发高质量地理空间数据的系统,建立在加密可信的社区基础之上,对于信任方不需要中心化和拥有数据。 这个项目期待能够快速增长,能够将多年公开可用的数据集存储在区块链上。优于传统的交易系统,这一生态系统为地理空间信息社区创建了一个空间,可以交换和创建高质量的数据,但是在一个去中心化的、可伸缩的公共存储系统之上。

2. 为GIS用户而生的生态系统

建议方案是一个无信任的生态系统,无中心化的授权, 鼓励社区用户相互之间通过加密信任机制进行交互。构建地理空间数据的请求通过GeoSatoshi数字币方式来提交。这创建了一个去中心化和安全的空间,允许进行地理空间数据通过数字货币的开放交换。通过建议的内置两层质量控制机制,确保区块链上的数据的完整性。GeoSatoshi数字币的使用同时设计为鼓励机构出售自己的私有数据到社区,通过区块链系统和数据货币来进行。

3. 地理空间特征(Geospatial Features)

地理信息区块链的主要资产是地理空间特征对象(geospatial feature)。我们定义地理空间特征为点、线和多边形,并带有属性和值。GeoJSON是区块链上存储的建议格式。属于某一GIS层的特征将使用属性值于该层关联。拓扑逻辑信息建议存储在每一个特征之中,拓扑关系在应用层进行强制实现。特征级别的交易简化了社区用户的数据交易和数据共享。特征对象可以通过区块链发送给用户,不需要物理上传送大量数据,比如传统的email方式。

4. 交易(Transactions)

我们定义电子货币作为用于加密交易的加密工作的成果 (Nakamoto, 2). 交易发生在特征级别并要求使用 GeoSatoshi coin数字货币。区块链解决了GeoSatoshi coin数字货币的“双花”问题和地理空间特征的双重出售问题。区块链的去中心化特性提供了不需要中心化授权的特征交易能力。特征交易通过区块链上的钱包、交易所等应用软件来进行。

提交到区块链上的数据应该是高质量的,否则该项目将失败。为了追求质量,该项目提出了一个两层质量控制系统。该系统通过质量数据的强化帮助社区增强地理信息区块链。The proposed system allows the community to help strengthen its own geoblockchain by participating in the enforcement of quality data. 这些建议机制允许社区成员通过强化提交给区块链的质量标准而增加其数字币的价值。

从区块链下载地理特征是需要花费GeoSatoshi coin的交易。上传数据到区块链提议通过两部校验过程。首先,创建的数据提交到level 1数据池。然后,系统的其他用户(可能知道数据创建者,也可能不知道)对level 1的数据浏览审阅。如果数据创建者没有对该工作选择的审阅这,则予以推荐。确认后的level 1 数据提交到 level 2 数据池, 随机选择使用这进行最终质量控制。 建议采用随机方法反共谋以保护社区用户。随机用户选择的方法,在网络中被设计为阻止合谋攻击者, 通过创建低质量数字货币或者摧毁带有错误数据的项目的方法实现。

交易匿名是建议的选项,用以保护生态系统的使用者。最终提交的复查数据者不能匿名,因为他们负责出发对创建数据者、结对审阅者的支付。The system can be gamed if anonymous poor-quality work is being created and submitted for other anonymous users to approve for coin payment.

5. Timestamp Server(时间戳), Proof-of-Work(工作量证明) 和 Network(网络)

“The timestamp proves that the data must have existed at that [published broadcast] time, obviously, in order to get the hash. Each timestamp includes the previous timestamp in its hash, forming a chain, with each additional timestamp reinforcing the ones before it.” (Nakamoto, 2). 该过程构建了区块链,通过锁定带有加密的Hash值的块来实现。

一个分布式的时间戳服务器可以被打败,如果攻击者汇集了足够多的算力使网络跟随攻击者的链路而偏离正常的链路。 “To implement a distributed timestamp server on a peer-to-peer basis, we will need to use a proof-of-work system” (Nakamoto, 3)。

工作证明系统(proof-of-work system)保持正常节点的链接并且聪明地抵御攻击。“If a majority of CPU power is controlled by honest nodes, the honest chain will grow the fastest and outpace any competing chains. To modify a past block, an attacker would have to redo the proof-of-work of the block and all blocks after it and then catch up with and surpass the work of the honest nodes.” 正如Nakamoto的计算显示 (Nakamoto, 6-7),攻击者创建攻击链取代正常链的难度将呈指数级增长。

6. 激励机制

提出了一个激励系统,用于奖励使用者社区为高质量数据而工作,以及激励机构提交私有数据到区块链让社区可以访问使用。在社区之中,系统使用基于数字货币的奖励系统提交高质量的地理空间数据到区块链。 奖励结构划分权重,创建者、 level 1 审阅者和最终审阅者分别得到60%,、15%和25% 。 奖励的机制建议鼓励私营部门贡献私有数据到区块链,通过数字货币进行交易,从而地理空间社区可以得到更多的私有数据可用。

工作量证明(Proof-of-work)是实现安全交易交易、构建区块链的方法,通过GPU挖矿的方式创建社区数字货币。 挖矿(GPU mining)是建议的工作量证明的方法, 要求地理空间信息软件使用者采用高端图形卡和工作站使用。这种情况下,对于使用GPU进行区块链工作量著名的用户是一个很好的匹配。GPU mining主张通过ASIC mining进行,从而允许更多的社区成员参与进来,最小化使用者的资本投入。

这两种建议的激励机制为使用者提供了一种方法,可以在不进行大量投入的情况下赚取数字货币。这一激励机制对所有社区成员都是公平的,无论他们的社会经济状况如何。所建议的系统将不会去解决在使用者无法负担存取数据的金融投入情况下的数据不可访问的问题。 该项目在任何时候,如果被发现来自社区的数据限制,项目都将被重新设计或者放弃,如果达成将地理空间数据带到使用者手中从而改进我们的生活和这个星球的目标未达成。(If at any point the project is found to be restricting data from the community, the project should be redesigned  or abandoned as the main purpose of the project is to put geospatial data in the hands of those who can improve lives or our planet.)

7. Organizational Node Hosting(机构节点托管)

机构通常具有GIS专业集群,以及分布全球的GIS用户。中心化的空间数据库作为企业级的配置,用于客户端软件的访问。历史上,机构已经投入大量资本去采集和构建地理空间数据。无论是公共的或是私有的机构,都在地理空间数据的开发者扮演重要的角色, 机构将被看作为本项目的同盟。

当机构托管了一个节点,将成为网络中的一个对等节点(peer node)。机构没有权力控制这个节点,如将这个节点启用或关闭。如果他们不遵守约定的行为,社区生态系统将会排除这个节点。机构通过这个节点向社区提供资源从而增强整个网络,从而从中获益。

机构的获益将是对高质量的数据的更快的访问,而不必花费昂贵的费用来维护其数据服务器。 这可能需要较长的时间下载地理空间数据,因为其潜在总量较为庞大。本地节点托管可以极大地获益,因为可以减少较慢的互联网访问。  

8. Simplified Payment Verification(简化支付校验), Combining and Splitting Value(价值分割与合并), Privacy & Hostile Takeovers(隐私与恶意接管)

这一提议的生态系统采用Nakamoto的成功同样的特点:简化支付校验, 合并和分割价值,隐私。简化支付校验需要检查是否链上是否运行全能节点(Nakamoto, 5),这通过使用头信息来完成。与其通过系统每一分一分地转移处理,价值可以分割和合并 (Nakamoto, 5). 隐私机制允许每一个人看到每一笔交易,但是无法得知交易地址到底是谁 (Nakamoto, 6)。这一生态系统倾向于构建一个社区,因此隐私机制只是用于使用者需要保护他们自己的场合。 Nakamoto的白皮书在建议的基础架构下计算了网络攻击者的胜算概率 (Nakamoto, 5-8). 攻击者的最佳方式是通过网络,这将要求攻击者能够创建出正常链要强大的多的算力链(Nakamoto, 6)。

9. 结语

为了推动地理空间数据的未来发展,本文提出了一个去中心化的、安全的、社区驱动的全球地理空间数据存储系统。中心化的空间数据库已经服务于社区得很好,并在将来仍将扮演重要的角色。区块链技术将地理空间数据存储安全地扩展到全球尺度,而且不需要集中化的授权。区块链技术解决了很多地理空间数据存储的问题:数据整合,公共存储和访问,私有/公共访问转换,特征的版本跟踪,数据向用户提交,特殊数据的存储、备份的透明性和资本投入等等。

地理空间数据交换的主张贯穿于整个生态系统, 带来对社区用户最主要的价值。系统提出,采用成员间使用 GeoSatoshi coin数字货币的方式构建需要的数据。 GeoSatoshi coin同样被用于激励机构贡献自己的私有数据到地理数据区块链给社区使用。提出了一个两层的质量控制系统用于促进地理数据区块链上的高质量的数据生成。

GIS社区已经有很多有效的开放源代码社区,有大量的高质量的开源软件使用地理空间数据。GIS软件在全球可用,但是地理空间数据却很难获取,甚至缺失。区块链技术是能够推动GIS社区向前发展的一项新的技术。

参考:

Bitcoin: A Peer-to-Peer Electronic Cash System; Satoshi Nakamoto

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这