电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>GeoPass Token Tower:城市受益于活跃的公民

GeoPass Token Tower:城市受益于活跃的公民

2022-10-24 | zip | 1.58 MB | 次下载 | 免费

资料介绍

描述

GeoPass 和令牌塔

这是GeoPass 项目的概念验证实施GeoPass 项目只是一个想法和研究重点,但还没有建立任何东西......直到现在。

了解了 Sony Spresense 的功能,这让我开始思考如何让 GeoPass 更加真实。我认为 Spresense 将是一个完美的试用平台。除了Hackster.io竞赛(该项目已提交),我还有一组很好的约束可以帮助我真正专注于 GeoPass 项目如果实际建成后会是什么样子。

由于 GeoPass 项目是一个相当庞大的庞大概念,涉及公民、城市和本地企业的初始构建,我真的对其进行了精简。我希望我在这里拥有的是一个最小的可行产品,并且您也可以并且想要构建一些东西!

该项目包含构建、配置和部署您自己的基于地理位置的加密安全令牌空投设备和后端支持服务所需的一切。如果这令人困惑......请继续阅读。

代币塔:概念图

 
令牌塔安装在城市公园中。在享受户外活动的同时赚取代币

这是关于什么的?

智慧城市不仅仅是传感器和监控。为了真正取得成功,他们需要解决公民的隐私问题。我们的“智慧城市”不应该只是政府监控的一个更友好的名称。应该平衡信息,让公民对收集的内容和使用方式有发言权。

该项目是一种尝试平衡隐私和公民参与的新颖方法。目标是创建一个端到端的解决方案,可以在任何级别、个人、组织、企业、政府等... 它是一个开放且可扩展的框架。

对于这个项目,您将创建一个“ Token Tower ”设备和后端系统。这是DIY版本。很多角落被偷工减料,这绝不是经过实战考验的。但是,如果有更多的兴趣,可以使用这个项目作为基础构建一个生产就绪的解决方案。

这是做什么的?

简而言之,该项目允许您根据人们的实际位置向他们发送 ERC20 代币,而无需将他们的位置存储在区块链上。后端服务、区块链智能合约和 Spresense 物联网设备协同工作,向市民提供“社区代币”,市民通过安装在城市周边区域(如公园、场馆、免费活动等

我为什么要这样做?

嗯,奖励真的。如果您想鼓励人们去某个地方,您可以创建某种奖励计划。这在几乎所有在线和离线业务中都很常见。想想三明治店的穿孔卡片,但适用于地球的每一平方英寸。该项目可让您创建一个受信任、安全、开源且可能具有互操作性(甚至通用)的奖励计划。访问一个地方,扫描你的钱包,获取代币。

任何奖励计划的第一步都是设置让人们感兴趣的酷奖励。但第二部分是无聊的会计。这就是区块链大放异彩的地方。它们是一种非常持久且可验证的会计方法。问题是它们是完全公开的。区块链上的奖励计划可以让每个人都看到你有多少积分,以及你在哪里获得这些积分(在这种情况下是“社区代币”)。

这与智慧城市有什么关系?

通过这样的项目,您可以创建一个城市/县/国家范围的计划,以鼓励使用公共(已纳税)公地(没有悲剧部分)。您将定义公民可以通过访问获得积分(又名代币)的区域,部署一组“代币”设备,然后让公民为每次访问收集一个代币。这些代币的实际用途是在公园的湖边兑换免费的桨船租赁,这超出了这项工作的范围(但这将是一个完美的用例)。

索尼 Spresense 芯片(如 GNSS 和 LTE)的低功耗、板载功能使该项目完全依靠太阳能运行成为可能。城市可以将数百个此类设备部署到公民希望获得社区代币的任何地点或兴趣点。

为什么选择令牌塔?我们不是都有智能手机吗?

嗯,是的,我们大多数人都有智能手机。但是,您不想只依赖公民的手机有几个原因。第一个原因是您需要一个应用程序。这些都有自己的隐私和安全问题。此外,您还必须设计、构建、测试和支持各种设备(*cough* Android *cough*)。此外,实际上只有两家公司控制着在移动设备上运行的所有软件(Apple 和 Google)。第二个原因,您可能不想相信手机上的 GPS 信息是可以伪造的。当然,欺骗您的位置需要付出不同程度的努力,但如果有人有足够的动力,就可以做到。第三,(可能是最重要的)你实际上根本不需要智能手机来参与和接收社区代币。您可以扫描打印出的钱包二维码,仍然可以参与社区奖励。每个人都赢了!

项目的主要部分是什么?

高级组件是:

  • 一个与 EVM 兼容的区块链和智能合约,用于管理代币的会计方面(在 Polygon 上实现)
  • 硬件设备提供 API 的支持性 Web 服务(API 实现使用 Cloudflare 工作者)
  • 保护隐私的 ZeroKnowledge 密码框架(Circom ZK 框架和特定 GPS 区域的自定义 ZK 电路)
  • 值得信赖的硬件 GPS/LTE/Sensor 设备(Sony Spresense IOT 硬件设备)

所有这些组件协同工作,在不牺牲隐私的情况下创建无缝的最终用户体验,声称拥有自定义令牌。

poYBAGNVjgiATxiMAADRFxGuH48898.png
组件图
 

入门

作为一个想要部署和使用这个项目的人,对于这个特定的实现,你需要以下内容:

  • Cloudflare 帐户(免费版很好)
  • Infura 帐户(免费版很好)
  • 一台 Sony Spsence 硬件设备(以及硬件部分详述的所有组件)
  • 考虑到部署/测试的特定地理位置
  • 用于 HTTPS 访问的 TruPhone 帐户(或类似帐户)
  • 在测试网络(例如 Mumbai)上带有一些测试 Polygon MATIC 的钱包

这里使用的技术是:

  • NodeJs - 用于 web 服务后端
  • Solidity - 用于部署到 EVM 兼容区块链的智能合约
  • Circom - 一个 ZeroKnowledge 框架,用于创建基于 Groth-16 的 ZK SNARKS
  • 上面提到的各种网络服务/SAAS 提供商

构建系统

这是一个高级构建。您需要对区块链上的硬件、Web 服务和智能合约部署有一定的了解。如果您有任何问题,请对项目发表评论,我很乐意解释。

请注意,github 存储库包含的后端服务信息比我在这里描述的要多得多。查看其中的 README 文件以了解设置、开发和部署步骤

硬件

硬件实际上可能是这个项目的简单部分。;) 您需要购买所有硬件组件,并考虑到零件的任何问题或可用性。您还需要 3D 打印附件部分中的外壳。3D 打印的部件设计用于卡合在一起,但您的里程可能会有所不同,具体取决于您使用的打印机及其准确度。

获得 3D 打印部件后,您可以连接和安装所有组件。请注意,底部的自定义切口用于 Sparkfun QR 码扫描仪和 Adafruit 时髦的三角形科幻按钮。

固件

对于固件,您需要克隆我的 Spresense SDK 分支,然后按照 lte_http_post 项目的 README 中的命令进行操作(我将很快重命名)。这应该允许您配置和构建您将闪存到设备的 Nuttx 包。另外,请注意,您需要确保在项目配置设置(图形菜单)中配置 APN。另外,另外,...如果您使用的是 TruPhone,您应该关注这篇文章以确保您的 SIM 卡已激活。

中间件

在 mono repo 中查找validator-service-api文件夹。这是 Web 服务 API 代码所在的位置。安装说明在 README 中。为了减少摩擦,我建议您使用他们的 Wrangler 包作为工作人员部署到CloudFlare。但是代码非常简单,因此您可以在任何您喜欢的支持 NodeJS 的地方部署。

区块链

在 repo 中,contracts文件夹包含用于部署到 Polygon 网络的智能合约。我使用 Hardhat 来管理部署,它的支持脚本对这个过程很有帮助。ERC20 代币基于OpenZeppelin 标准,变化很小。部署到 Polygon 测试网的说明位于文件夹 README 中。

零知识

该项目中的 ZK 组件对于保护最终用户的隐私非常重要。它基于在ZKMaps 项目中找到的工作. 但本质上,您在 Circom DSL 中定义了一个“电路”,然后从那里编译您的证明工件。对于这个特殊的 Groth-16 样式证明,您需要经历一次“可信设置”阶段(说明在 Circom 库中)。这将创建加密工件,然后用于生成您的见证文件(证明您拥有您所说的信息,在这种情况下,GPS 坐标位于一个区域内),以及将部署到区块链的 Solidity 合约连同您的 ERC20 合约。生成的 ZK solidity 合约将在最终用户获得令牌之前验证中间件 Web 服务提供的输入。这是该项目防止欺诈和保护隐私的关键部分。

Circom 电路包含您想要奖励代币的地理区域的边界定义。现在它只支持矩形区域,但正在做一些工作来支持任意不重叠的连续形状。这将使它更有用,因为大多数户外空间都不是矩形的。检查circom-circuits文件夹以获取自述文件、构建脚本和更多详细信息。

项目状态:进行中

这个项目是为 Sony Spsence 开发者挑战而设计的。以下是已完成的内容:

  • 最终原型系统的概念、设计和架构
  • 用于容纳太阳能电池板、电池、接口元件和 Spresence LTE 板的外壳的 3D 设计。
  • 创建、测试和部署初始版本的验证器服务 API 到 CloudFlare
  • 在本地创建、测试和部署 ERC20 合约以管理对用户的社区代币授予
  • 在 Spresence SDK 中创建初始项目/应用程序并构建简单的 http_post 项目以通过 LTE 调用 Webservice 和 POST 示例数据

还剩下什么...

  • 对 Spresense 固件进行更改,以在按下扫描按钮时触发 QR 码扫描。(可选,在扫描/验证过程中播放声音)
  • 将 HTTPS POST 正文更改为 Webservice API 以包含 QR 字符串值以及从 Spresence 板上获取的 GPS 坐标
  • 实施 API 更改以获取地址/坐标并生成 ZK 见证和链上调用参数以提交到链上智能合约
  • 更新 ERC20 合约以在授予代币之前调用 ZK 验证者合约,更新部署脚本以同时部署两个合约
  • 更新文档以显示端到端构建、如何为自己配置以及如何部署系统
  • 部署和支持网络服务 API 和 ZK 验证器的社区版本,以便遵循这些构建说明的人员可以只关注硬件方面,而不是后端系统的操作方面。

作者注

虽然有足够的时间参加比赛,但我在此过程中遇到了一些重大挑战。最具负面影响的问题是我最初计划将 Circuit Python 用于 Spresence 板上的固件。事实证明,Circuit Python 中有许多核心模块在 Spresence 构建中缺失(如 LTE 支持)。我花了太多时间尝试在 Circuit Python 中构建和修复缺失的模块。一旦我意识到我需要放弃这条路并在 CLI 环境中使用 Nuttx 构建工具用 C 语言构建我的应用程序,就为时已晚。虽然我有 C 和嵌入式开发经验,但我没有 Nuttx 或 Spresence SDK 中使用的任何构建工具和流程的经验。值得一提的是,SDK 拥有我想要的所有示例,以及出色的构建工具。在很短的时间内,我能够完成很多事情。但最终,在完成项目的其他非硬件组件时,我无法提高技能,也为时已晚。我打算继续这项工作并随着我的进展更新回购/这个描述。关注此空间!如果您也看到了价值,请考虑加入该项目并提供帮助。


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费