在本系列文章中,我们将介绍一些探索网络去中心化或分布式可能性的项目。这些项目与 Mozilla 无关,其中一些项目重写了我们对网络浏览器的认知规则。它们的共同点是:这些项目都是开源的,并开放参与,并与 Mozilla 的使命保持一致,即保持网络对所有人开放和可访问。
到目前为止,我们已经介绍了 分布式社交信息流 和 以去中心化的方式共享文件,以及一些面向开发人员的新工具。今天,我们想介绍一些与众不同的东西:想象一下,如果网络是分布式的,那么整个浏览器体验会是什么样子……Beaker 浏览器正是这样做的!Beaker 是一个团队的宏伟愿景,他们正在从上到下证明分布式网络的可行性。请欣赏 Beaker 联合创始人 Tara Vancil 的这篇文章。– Dietrich Ayala
Blue Link Labs 和 Beaker
我们是 Blue Link Labs,一个由三人组成的团队,致力于使用 Dat 协议 和一个名为 Beaker 的实验性点对点浏览器来改进网络。
我们致力于 Beaker 的开发,因为发布和共享是网络精神的核心,但是要发布自己的网站,甚至只是共享一个文档,都需要知道如何运行服务器,或者能够支付他人为你运行服务器。
因此,我们自问:“如果能够直接从浏览器共享网站会怎么样?”
像dat://
这样的点对点协议使得普通用户的设备可以托管内容,因此我们在 Beaker 中使用dat://
来实现从浏览器发布的功能,这样,网站的作者和访问者都可以帮助托管其文件,而不是使用服务器。这有点像 BitTorrent,但它是针对网站的!
架构
Beaker 使用分布式的点对点网络来发布网站和数据集(有时我们称之为“dats”)。
dat://
网站的地址使用公钥作为 URL,并且每个
添加到dat://
网站的数据都会附加到一个签名的日志中。访问dat://
网站的访客可以通过跟踪器或 DHT 找到彼此,然后在彼此之间同步数据,既充当下载者也充当上传者,并检查数据在传输过程中是否被篡改。
从本质上讲,dat://
网站与https://
网站并没有太大区别——它是一组文件和文件夹,浏览器根据 Web 标准对其进行解释。但是,dat://
网站在 Beaker 中是特殊的,因为我们添加了 点对点 Web API,这样开发人员就可以执行读取、写入和监视dat://
文件以及构建点对点 Web 应用等操作。
创建 P2P 网站
Beaker 使任何人都可以轻松地一键创建一个新的dat://
网站(请参阅我们的 教程)。如果您熟悉 HTML、CSS 或 JavaScript(即使只是一点点!),那么您就可以准备发布您的第一个dat://
网站了。
开发人员可以通过查看我们的 API 文档 或阅读我们的 指南 来开始。
此示例显示了一个网站自身编辑以创建和保存新 JSON 文件。虽然此示例是人为编造的,但它演示了在dat://
网站中存储数据、用户配置文件等的常见模式——应用数据无需发送到服务器,而是可以存储在网站本身中!
// index.html
Submit message
<script src="index.js"></script>
// index.js
// first get an instance of the website's files
var files = new DatArchive(window.location)
document.getElementById('create-json-button').addEventListener('click', saveMessage)
async function saveMessage () {
var timestamp = Date.now()
var filename = timestamp + '.json'
var content = {
timestamp,
message: document.getElementById('message').value
}
// write the message to a JSON file
// this file can be read later using the DatArchive.readFile API
await files.writeFile(filename, JSON.stringify(content))
}
了解更多
我们始终很高兴看到人们使用dat://
和 Beaker 构建的内容。我们尤其喜欢看到有人构建个人网站或博客,或者看到他们尝试使用 Beaker 的 API 来构建应用。
点对点 Web 上有很多东西可以探索!
- 浏览 Beaker 教程
- Beaker 文档
- p2pforever.org – 一个谦逊的点对点 Web 资源中心
- Beaker on GitHub
关于 Tara Vancil
Tara 是 Beaker 浏览器 的联合创始人。此前,她在 Cloudflare 工作,并参加了 Recurse Center。
8 条评论