首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从另一个源导入到全息链中的最佳方式是什么?

将数据从另一个源导入到全息链中的最佳方式是什么?
EN

Stack Overflow用户
提问于 2018-11-23 05:46:42
回答 1查看 110关注 0票数 1

MongoDB =>全息生锈DHT

如果可能,如何导入

如果我使用不同的应用程序后端,比如mongo,并且我的全息链设置和配置正确,有没有办法从mongo获取数据到全息链?我该怎么做呢?

Here is the question in context

EN

回答 1

Stack Overflow用户

发布于 2018-11-23 05:46:42

技术上绝对可行;您可以编写一个nodejs脚本,使用holochain-nodejs库启动一个Holochain容器,然后将所有数据作为一个代理导入。然后,当用户加入基于HC的网络时,他们以某种方式证明自己的身份,并“声称”所有数据都是他们的。以下是它的外观草图:

  • 你(让我们叫你‘代理0')导入所有数据。
  • 为每个用户创建一个带有用户ID的“锚点”(稍后我将解释锚点),并将每个数据片段链接到该锚点。
  • 您还可以将该用户的密码散列记录为您自己的源链上的私有条目。用户加入网络,需要证明身份的连续性。
  • 通过使用节点到节点的消息传递将其用户ID和密码散列私下发送给您来实现这一点。您授权他们通过发布一个条目来声明他们的身份,该条目写着"agent public key x= user ID“。(为了方便起见,您可能希望从您的授权条目链接到他们的用户ID锚和他们的公钥。)
  • 用户通过请求指向其用户ID锚的所有链接来收集他们的所有数据。
  • 用户然后将他们的每一块数据发布到他们自己的源链上,以此作为一种“声明”所有权的方式。现在,分布式哈希表中数据的每个冗余副本在其元数据字段中都有两个作者--您和实际拥有数据的用户。
  • 现在,分布式哈希表中的每个冗余数据副本在其元数据字段中都有两个作者。同级验证该数据的方法是:“代理0是否已经是该数据的作者?
  • 如果是,代理0是否发布了一个授权条目,表明该数据的新作者可以声明/重新发布它?”

这种方法的问题(不是无法克服的):

  • 代理0必须始终在线,因为他们永远不知道新用户何时会注册并尝试声明他们的数据。代理0必须导入大量数据。(我不认为这是时间上的限制)
  • 对于关系数据来说,如果数据不存在,那么如何创建链接是一个先有鸡还是先有蛋的问题。我考虑的不是将数据链接到数据--这可以在初始导入时完成--而是将数据链接到人类,人类现在拥有一个公钥,而这个公钥可能还不存在于分布式哈希表中,因为他们还没有加入网络。一旦他们加入,这总是必须发生在每个用户身上,这可能会产生一些循环依赖问题。

锚点

Re:锚点,锚点只是一个由基础和链接组成的模式--基础是一个简单的字符串,所以任何了解该字符串的人都可以很容易地通过散列找到它。它就像一个锚点,可以挂掉链接。这就是为什么我建议使用它将遗留用户ID连接到内容片段。您可以在https://github.com/holochain/mixins/tree/master/anchors上获得实现锚模式的示例源代码(请注意,这是为遗留版本的Holochain编写的,所以它是用JavaScript编写的)。

(答案由pauldaoust提供)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53438319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档