我们正在谈论此P2P协议的操作原理以及在其基础上构建的项目。
/不溅水/ Alina Grubnyak什么是DAT
Dat(分散式档案传输)是一种开放式协议,用于在分布式网络(对等)中交换数据和消息。 它具有内置的版本控制功能,并允许您监视数据集的更改。 Dat由工程师Max Ogden开发。 他在2013年
将协议
引入 美国代码项目。
其参与者开发有助于改善市政服务的服务。 Dat的创建是为了在州之间转移公民的个人数据的工具。 组织。 但是后来,该项目的重点转向了科学信息。
在Dat周围已经形成了一个大型社区(
GitHub上有 7千颗星)。 该协议及其基础上构建的应用程序由非营利组织
Dat Foundation推广。 它由Mozilla(
科学与社会准则开源基金会)和P2P网络开发商Wireline支持。
他如何工作
要将文件上传到Dat网络,必须指定其URL。 这是一个例子:
dat://778f8d955175c92e4ced5e4f5563f69bfec0c86cc6f670352c457943666fe639/dat_intro.gif
为了找到地址链接,Dat客户端使用
多播DNS 。 同行向本地网络广播了他们的请求,希望其中一位参与者能够“听到”并共享信息。 客户还可以在Internet上访问服务器。 主服务器位于
Discovery1.datprotocol.com上 。 如果不可用,则可以参考其镜像
-Discovery2.datprotocol.com 。
关于我们在Habré上的博客中的其他协议和标准:
当对等体获知另一对等体的IP地址和端口号时,它们将建立TCP连接。 所有传输的数据都经过加密-
为此使用
XSalsa20流加密系统。 该算法使用二十周期哈希函数。 转换操作让人联想到AES。
Dat网络中的数据以单独的片段(块)传输,其大小可能会有所不同。 系统允许您将新片段添加到Dat文件中,但不允许您修改或删除现有片段。 根据开发人员的说法,这种方法使您可以保存文档更改的整个历史记录。 该系统可以在连接不稳定的环境中自由运行。
/不溅水/ Sven Brandsma现在,Dat基金会的成员正在改进该协议,以便它可以处理大量数据。 特别是,他们计划对文件系统(称为
Hyperdrive )进行重新处理以处理数百万个文件,并引入新的
对等搜索
引擎 (
Hyperswarm )。
谁使用
一个示例是一个开放的
ScienceFair项目。 这是用于浏览和搜索科学文献的桌面应用程序。 在这个平台上,科学家和研究人员可以处理个人笔记,杂志或其中的摘录。 为了显示科学文献中的内容,ScienceFair使用了
Lens阅读器-它负责呈现
JATS XML格式 。
尽管Dat最初被认为是交换科学信息的协议,但社区使用它来创建网站,聊天和其他应用程序。
最近的一个例子是与Dat开发团队合作开发的
Beaker P2P浏览器。 其目的是使用户能够“直接在浏览器中”托管网站。 烧杯作者启动了Hashbase云服务,该服务可提供对本地副本不可用的dat站点的持续访问。
该项目是完全开放的,其源代码
可以在GitHub上找到 。 如果您想自己评估浏览器的功能,那么要在Linux上运行它,您需要安装libtool,m4和autoconf:
sudo apt-get install libtool m4 make g++ autoconf
运行足够后:
git clone https://github.com/beakerbrowser/beaker.git cd beaker npm install npm run rebuild
在项目
网站上可以找到更多示例应用程序。
类比
当然,Dat不是最近被积极开发的唯一P2P协议。 另一种选择是IPFS(行星际文件系统)项目。 这是对等分布式文件系统。 与其他分散式网络的区别在于它可以与块一起使用。 它们可能既包含文件的一部分,又包含指向其他块的链接。 从这些块中,形成了形成目录或文件的通用树状有向图。 IPFS与分布式哈希表配合使用,并支持分散的块交换。 IPFS没有故障点,并且
不需要主机相互信任。 可以使用
FUSE或HTTP访问文件系统。
该解决方案已经使用
Neocities托管和
OpenBazaar市场。 IPFS和Dat等协议的开发人员希望他们的项目将使Internet用户对其数据有更多的控制权。
我们在VAS Experts公司博客中写的内容: