基于IPFS的分布式搜索引擎模式

  • 0_1545987736592_fb443d03-7607-484d-969b-4d11b018d2fb-image.png


    虽然有关搜索的中立性还有待探讨,但很明显,Google的中心化搜索引擎市场份额占比已超过90%,季度收益超过300亿美元,这远非理想。垄断不仅使得在经济上效率低效,而且还增加了审查和搜索出现偏差的可能。

    --

    如果要在分布式网络上查找信息,中心化的搜索引擎似乎有悖直觉,因为它违背了分布式网络的基本原则。这就是为什么我们要努力为Dweb.page项目,创建第一个功能齐全、完全分布式的搜索引擎的原因。

    0_1545987803382_d8629e07-4922-4d96-8f39-e9d98dbbcaf2-image.png
    ( Dweb.page的搜索引擎的初稿 )


    问题

    --
    尽管前面提到了当前搜索引擎的缺点,但我们认为由许多原因造成了改变现有模式的困难。因此,公开的分布式Dweb搜索引擎将面临一系列挑战:

    • 速度:分布式搜索引擎的速度,至少需要与当前的解决方案保持一样。另外基于分布式账本的的交易时间,同样存在很多问题。

    • 设备独立性:今天使用手机的人越来越多,分布式搜索引擎需要在没有任何中心化的后端PC和手机上运行。

    • 索引:如何收集、解析和存储数据,可以通过分布式方式快速准确地检索信息,同时确保人们不会创建虚假的搜索条目?

    • 实用性:如何确保分布式数据在被请求时仍然可用?特别是托管在本地的数据,只有在某些时间段中才可以实用。

    • 货币化的激励:如何为持续开发的存储工具提供资金?如果没有Token激励部分,那么在人才或合作/集成等方面,分布式解决方案很难与现有的中心化解决方案竞争。


    潜在的解决方案

    --
    为了确保交易的高速流畅,从一开始就很清楚,受两个性能问题之一限制的,分布式账本技术不是一种选择。因此,我们选择了IPFS和IOTA的组合。IPFS在文件共享和托管方面,能够实现快速分布式的明显作用;而IOTA则提供必要的分布式数据库层。这里需要注意的是,数据库仅使用IOTA技术的一部分,该技术独立于未来的研究工作,目前已经能够完全正常运行。

    --

    这种结合使我们能够提供适用于各种设备的工作体验。我们甚至在Internet Explorer中运行了一个原型。其独特之处在于:“我们可以提供完全分布式的体验,而无需额外安装任何软件;因为所有代码都在基于IPFS的一个简单、完全开源的网页中运行”。这也意味着最终的发行版,每个用户都将运行自己的搜索引擎。

    --

    受此分布式界面的启发,我们正在研究以下分布式搜索引擎的概念:

    0_1545987975903_cbbd6288-592e-44f5-956e-aa856706eca0-image.png
    (分布式和个性化的搜索引擎)

    --

    我们假设有两种类型的用户,我们称之为创作者和使用者(不过一个人可以同时扮演这两种角色)。

    --

    创作者通过Dweb.page在分布式网络上上传内容。如果希望其他人公开发现他们的内容,则由创作者签名的元数据将上传到IOTA上。通过这种方式,任何人都可以创建自己的元数据,而不是中心化的索引系统。最重要的是,这个签名系统不会出现,当下新闻报道中或在银行网站上伪造身份的可能。

    --

    当使用者第一次打开Dweb.page时,将开始在后台加载最新的元数据。基于该元数据,在本地运行的搜索引擎向用户呈现,初始且完全透明的搜索结果。用户的首次搜索将用于参考,自动订阅可能感兴趣的创作者,并以这种方式加载其他元数据。这可以被看作一个元数据的社交网络,其中使用者“跟随”创作者。该方法的优点:一方面,用户不必加载整个网络中的完整元数据;另一方面,用户可以轻松的阻止恶意元数据的提供者(例如:错误标记的内容)。此外,如果没有这种订阅者/限制模型,人们可能会向搜索引擎发送垃圾邮件。

    --

    另外,每个使用Dweb.page搜索引擎的人,都会生成有关内容的可用性的信息。这意味着,如果有人试图在分布式网络上下载某些不再可用的内容,这些信息将会传递给其他用户。如果有多个创作者告诉你文件不再可用,将会自动从搜索结果中删除该文件。如果只有一个创作者告诉你这个问题,那么该文件仍然会列在搜索结果中,以便你选择检查,前提是创作者不试图通过谎报其可用性来阻止您访问某些内容。

    --

    对于每个分布式项目来说,最后一个关键、具有挑战性、且经常被忽视的部分是:如何通过对分布式网络的存储提供者和开发人员,进行Token化激励。在没有任何中心化的分布式开源解决方案中,是存在规避任何激励模式的可能性的,这就是为什么许多分布式项目最终都有一个中心层。此外,基于捐赠的系统似乎不适用于订阅或基于长期的商业模式。这就是为什么我们正在考虑创建一个模式,使所有参与者受益,同时保持完全透明。

    下图说明了这种潜在解决方案的工作原理:

    0_1545988112772_423c70dc-856c-4b97-8d64-c5e29c3e9dd9-image.png
    (分布式搜索引擎的商业模式)

    --

    搜索市场非常适合广告投放,因为即使不放弃任何隐私,也可以根据搜索条件显示广告。然后可以拆分广告收入:一方面用于向创作者提供一定数量的免费存储;另一方面,支持开发人员进一步改进该工具。如果你想到谷歌免费为为每个人提供15 GB的云存储,每季度仍然能够赚取数十亿美元。你就会认为,上述模式可能会为创作者提供完全免费的网络!此外,需要特别说明的是,很大一部分用户并不反对广告本身,而是反对滥用他们的个人数据,关于这一问题,基于这种模式是不可能存在的。

    --

    当然,这个模式需要公开的在分布式账本上创建。如果是这种情况,所有参与者之间的正常契约可能在一开始就足够了,因为你可以非常容易的起诉恶意方(例如:如果资金被滥用而不是投入基础设施)。同时,该契约还应该包含从一开始就基于,投票系统随时间变化的选项。否则,这样的模式将无法适应未来的发展。例如:存储价格可能变得非常便宜,以至于将钱用于其他更有意义的目的。这和系统的其他方面,例如:所提供的存储或广告的质量,可能难以集成到智能合约中。然而,在后续的阶段,这种设置应该被完全自动化的智能契约所取代。

    --

    本文呈现了我们目前研究观点,但它并不是一个完整的产品。我们相信,只有从一开始公开透明,接受所有人的反馈和贡献,才能实现这一愿景。


    【往期文章】

    --

    本文由David Hawig发表于国外博客,经由Filecoin中国社区翻译整理。


    识别二维码进入IPFS社群

    0_1545988400931_41fe51c5-0ca0-4e38-9151-6beaa7e1a12b-image.png

Log in to reply
 

Email:filapp@protonmail.com

Twitter:

https://twitter.com/RalapXStartUp

Telegram:

https://t.me/bigdog403

全球Filecoin中文爱好者网站

友情链接: 黑池
  • X

    @xiedapao
    If there does exist such a thing, I cannot find it.

    zenground0 [7 hours ago]
    I don't believe there is

    zenground0 [7 hours ago]
    tho maybe phritz has some "refactor the vm" issues that are relevant

    laser [7 hours ago]
    I assert to you that we must create an InitActor in order for CreateStorageMiner conform to the specification.

    Why [7 hours ago]
    I’ll take things I don’t disagree with for $400 Alex

    zenground0 [7 hours ago]
    Agreement all around. However this is one of those changes that is pretty orthogonal to getting the storage protocol to work and something we can already do. We need to track it but I see it as a secondary priority to (for example) getting faults or arbitrating deals working.

    anorth [3 hours ago]
    Thanks @zenground0, I concur. Init actor is in our high-level backlog, but I'm not surprised there's no issue yet. Is it reasonable to draw our boundary there for now?

    阅读更多
  • X

    Does there already exist a story which addresses the need to create an InitActor?

    阅读更多
  • X

    @xiedapao [filecoin mining]
    I believe that a solution to this problem is that the rust-fil-proofs CircleCI build needs to be modified to link the libfilecoin_proofs.a archive file to a dummy C program using the same pkg-config file which go-filecoin uses.

    阅读更多
  • X

    @xiedapao [filecoin mining]
    The libfilecoin_proofs.a file has a few dynamic dependencies - things we can't link in statically, like glibc - and the linker flags have to been updated manually. Unfortunately, rust-fil-proofs CircleCI build doesn't try to link the libfilecoin_proofs.a file, so we don't know when we get the linker flags wrong until we've already updated the go-filecoin submodule SHA.

    阅读更多

Looks like your connection to Filecoin.cn中国爱好者社区 was lost, please wait while we try to reconnect.