移动端 | 加入收藏 | 设为首页 | 我要投稿 | 赞助本站 | RSS
 

freefq.comfree——免费、自由fq——翻墙

困在墙内,请发邮件到freefqcom#gmail.com获得最新免费翻墙方法!
您当前的位置:首页 > 网络翻墙技巧

如何建立与架构去中心化网络?

时间:2021-07-28  来源:  作者:马克.纳达尔 条评论
文/[美] 马克.纳达尔[Mark Nadal]
译 编/房梓

本文根据马克.纳达尔于第五届网络社会年会“实践智慧之网”主题三“分布式网络“所做的主题演讲整理而成。本文标题原文为”How to Build & Scale the Decentralized Web”。本文作者马克.纳达尔为开源去中心化数据库GUN创始人。ViU免费翻墙网

摘要:在此次的演讲中,我将向大家介绍基础的去中心化知识——它意味着什么,它是以怎样的方式影响我们的社会。同时我会和大家探讨我们团队选择的算法是如何服务于月活的三千万用户以及如何在我们的平台上搭建开源软件。ViU免费翻墙网

Abstract:In this talk, we’ll start with a basic introduction to decentralization, what it means and how it will impact society.Then we’ll discuss the algorithms our team chose that has let our technology scale to 30 million monthly active users, and how to build Open Source applications with it. ViU免费翻墙网


大家好,我是 Mark Nadal!感谢邀请我参加这次网络社会年会,我很高兴能和大家讨论去中心化网络以及如何扩大其规模的问题。ViU免费翻墙网

为了理 解“去中心化”,我们得先知道什么是“中心化”。中心化意味着当系统遇到瓶颈或某些缺陷而发生故障时,所有的设备、电脑以及其他相关的人和事都得承受“系 统不工作”的后果。而“去中心化”就意味着我们不仅要在一个能够抵御故障、减少故障、不受故障影响、可修复故障的系统上创建一个互联网,还要构建一个更强 大和可修复的,对人类来说更好的系统。我们都知道有数十亿人在使用谷歌,但当谷歌服务由于Facebook或亚马逊而宕机,用户就无法完成正在进行的项目 和工作,也无法通过网络搜索。在苹果最新的操作系统 Big Sur中,苹果服务器会检查应用程序是否已连接并具有苹果商店的验证证书。当苹果服务器宕机时,计算机上的应用程序就无法被使用,你甚至无法在自己的计算 机上打开一个本地应用程序。这是十分令人抓狂且不合理的。更何况,这样的故障可能会发生数十亿次,毕竟或许已经有数十亿人在使用这个操作系统了。总而言 之,中心化会给人们带来很多问题,而去中心化是这种情况的应对方法。ViU免费翻墙网

图一 中心化网络存在的问题

说到去 中心化,我们可能会好奇:哪些算法可以被用来创建和扩展去中心化应用的规模呢?在现存的各种不同的方法中,最著名的方法是“区块链”和所谓的“只添加不可 更改”的日志地址,或是DAG (有向无环图);但因为每一条需要增加的额外的信息都要求用户首先了解整个文档的历史内容——要么有它的快照,要么有权验证更新,于是,为验证每个新操 作,你就会积累很多不必要的数据。面对日益增多的用户,这样的算法并不是扩展去中心化应用的规模的最佳选项——虽然区块链确实非常棒,尤其是它奇妙的不可 更改性。ViU免费翻墙网

针对这 点,有个很棒的算法叫做CRDT,即“冲突避免可复制数据类型”。这个算法可以同时处理可变和不可变的数据,以更好地完成规模的扩展。以下是这个算法的工 作原理:在Alice和Bob的对话中,Alice会问Bob:“你喜欢蛋糕吗?”。Bob不从字面上来解释这句话,他明白在代词“我”到“你”或者是 “你”到“我”之间有一种决定性的变化,而这个问题是结合说话者的上下文来解释的。即使Bob收到或听到的实际短语是“你喜欢蛋糕吗?”,他也会把它理解 为为“我喜欢蛋糕吗?”,然后,Bob的回复就会是:“是的,我喜欢”。同理,Alice对这个短语的理解是“你”和“我”与实际陈述不一致,它们对应于 一个共同的现实模型。Alice和Bob都试图收敛这个短语,Alice提取了Bob说的“我”,这个“我”指向的是 Bob;Bob提取了与他相关的“我”,并明白“我”指的是他自己。“Bob喜欢蛋糕”这种类型的决定论使你会自动接受任何模棱两可的陈述并将其解释为与 接收者实际所说的相对或相反的意思,这就是一种收敛(convergence)。这给了我们一个共同的现实模型,我们都能理解并且是正确的收敛复制数据类 型,也称为冲突释放复制数据类型。ViU免费翻墙网

这会提 供一种“确定性的共识”而非“操作性的协调”,因为每一台机器都在运行相同的算法,而两台机器都会接收数据并根据确定性的规则分析数据。举个例子,在 GUN的系统中,我们使用字母排序以确保数据无论如何被发送(数据可能不是按字母顺序排列的)都是可被分类的。如果每台电脑都按字母顺序排列完成数据分 类,数据是如何发送的就无关紧要了,毕竟,不管数据如何接收,每台机器都将以相同的方式处理数据。这是“收敛复制数据类型”和“换算复制数据类型”运行的 示例。让我来解释一下收敛和换算分别是什么意思:“换算”的意思是:a+b=c和b+a=c的运算顺序虽然改变了,但它们最终得到的结果是相同的。而对就 减法来说,虽然5-3=2,但3-5=-2。也就是说,在减法中,运算顺序是很重要的。同样的,操作顺序在区块链和,向无环图和只追加日志中也很重要。然 而操作的顺序对CRDT这样的交换式复制数据类型来说就不重要。由于顺序不重要,那么,对之前例子里的Bob来说,“你”和“我”就代表同样的结果 (result)了。ViU免费翻墙网

我们在 GUN的系统中使用CRDT算法后,它的规模已经被扩展到每秒可以被大约5万个用户同时使用的程度了。如今,每个月大约有3000万人在使用我们的技术 ——这太不可思议了!除BitTorrent外,我还没⻅过任何其他的系统有这种可操作的去中心化网络扩展规模。2020年,我们的下载数突破了2亿次, 而2019年的数据是2200万。而当我们的下载量在今年7月突破1亿次时,我欣喜若狂,非常感激,这真是一个历史性的时刻!我们的下载量仅用4-5个月 就再次翻倍,这得归功于我们社区中令人难以置信的项目,网站及其团队——像Mask的怿斯,他们团队九在Twitter和Facebook以及其他应用程 序之上创建的加密通信。总之,我们的技术可以做到的事情真是令人难以置信。看到去中心化网络通过CRDT算法得到动力并扩展规模是无比令人兴奋的。ViU免费翻墙网

图二 Gun
图三 去中心化应用程序 “being paste tool”

我们所 使用的CRDT算法类型是GUN。GUN(详情请见gun.eco)是一个开源免费的去中心化数据库,内置网络安全协议,其数据是有安全保障的。接下来我 将演示如何用GUN简便地创建去中心化应用程序。首先,我们可以把两个浏览器看作两台设备,只需输入单词“Hello World”并在两个设备间进行运算,就能创建“Hello World”应用程序。你可能觉得,制作去中心化的应用程序一定需要复杂的代码,或一些特殊软件之类的;但对我来说,设计一个容易上手的工具至关重要。例 如,这个名为“being paste tool”(图三)去中心化的应用只有17行代码。我选用的javascript前端工具是jQuery,除此之外,你也可以用其他javascript 前端工具替代它。因为我已经在我的电脑本地安装了GUN,所以我可以直接在代码中引用(reference)它。ViU免费翻墙网

要启动 名为GUN的数据库,首先要确保它连接到网络中的各个节点。例如,因为GUN可以在用户电脑上和手机上运行,我的电脑本身首先就可以是一个结点。你可能认 为GUN结点就像一种比特币节点,但其实,因为使用CRDT算法的GUN设备负担很小(lightweight)且容易扩展规模,所以它不存在正在运行的 工作量证明。此外,我们还可以连接到互联网上其他的节点,例如你朋友的笔记本电脑——如果你知道他的IP地址的话。但是因为互联网防火墙,通常我们不能在 没有“协调结点(Coordinating Peer)”的情况下直接与其他计算机对话。ViU免费翻墙网

“协调 节点”或者所谓的“中继点(Relay Peer)”不是中心化的。任一GUN节点都是中继点,包括其他浏览器。在MASK.IO造成的大量的网络流量拥堵的故事中,浏览器将所有数据中继回其他 多个中继点,这些中继点由于数据暴增产生了拥堵。有机会我会把这则有趣的故事再细细告诉大家,但总而言之,这些中继点中因为互联网防火墙会自动连接到其他 节点,如果你有两个浏览器,可以将这两个浏览器通过web rtc彼此连结。Web rtc是一种“浏览器到浏览器”的技术,也是其他使用网络接口连接两个浏览器的技术通过中继点。总之,我们可以把中继点视为WiFi路由器,WiFi路由 器获取信息,将信息沿正确方向传递。如果你只有一个路由器,那么它就是中心化的,但是如果你有很多的话,它就是去中心化的。在去中心化的系统中,任何节点 都可以掉线,即使掉线,系统的其余部分仍可以正常工作。总之,我们的第一步是连接到一个去中心化网络,而下一个步则是交互代码。ViU免费翻墙网

这个例子中,我使用的是jQuery,它会捕捉到文本区域内发生的所有更改。当有人输入一条新消息时,它不会要求我们去数据库中查找,而是查找“测试”记录(“test record”)后遍“测试”记录并获得“paste”属性 。 我们正在尝试构建一个简单的复制粘贴工具,它可以让我们轻松地在不同的设备上复制信息。一旦进入了我们想要放在GUN数据库记录内的数据,一旦我们在所有 连接了去中心化应用的计算机上调用下一行,所有设备都将自动被调用。他们会说:“嘿,我想听从对应粘贴连接测试的所有数据变化”。那么,我们就可以将接收 到的数据通过去中心化网络进行同步,再将其放回文本区——创建一个分散的应用程序就是这么简单。ViU免费翻墙网

图四 待办事项的实时更新

接下 来,我要在这里创建一个用户。用户注册后我的后台出现了任务清单,一旦我添加待办事项,它就会自动识别,让同一帐户下的其他登录用户后台也出现该待办事 项。这真是太棒了!因为,请看,密码错误就不能登录该系统,而用不同的用户登录则会得到一个不同的用户列表。也许我们都以为创建一个像这样的去中心化应用 程序非常困难和复杂,但它其实只包含52行代码。如果你使用 UI 库,代码可能会更少。在这个新的 UI 库(图五)中,有一些基本的 HTML用于创建和登录用户的登录表单,以及用于输入待办事项的表单,也有我想要展示的列表。这里现在包含了GUN,也包括了SEA——它代表安全,加 密,授权。SEA包含的代码让我们只需几行代码就可以创建经过加密验证的端对端加密用户。ViU免费翻墙网

图五 UI库

我们现 在再过一遍像之前那样初始化数据库。gun.user(图六)提供了一个我们能使用的账户。当有人点击注册表单时,屏幕会显示“创建一个新用户”。我们通 过了这个用户名和密码——这可能会让很多习惯在其他系统中使用区块链的人感到有些困惑,因为大家都认为用户名和密码是不安全的,你是对的,它们是不安全 的;然而这种技术非常酷的一点是,它在加密安全的基础上为你创建了一个公钥,它是加密且安全的。然后,系统尝试将其与正常的用户名和密码组合进行分别的关 联。ViU免费翻墙网

图六 gun.user(选中处)

我们保 证安全的方法是记录密码。拿到密码后,我们使用三种加密方法来确保它受到保护。有一种名为PBDK2的算法,它会使用一个普通密码并将其与salt结合。 生成此密钥需要大量的时间和计算机资源,这就是现在用来加密的密码,类似于对称加密中的AES密钥(图七)或非对称加密中的私钥。PBDK2接受任何正常 的,我们认为不安全的密码,它对它们进行运算,以创建用于保护和登录到我们系统密钥的加密安全系统。之所以说它安全,是因为如果黑客试图使用gas暴力攻击我们的系统 ,他们将花费50到100年的时间来猜出这个密码。因为在额外的时间里,系统为每一个gas增加了额外的工作量。我们制作了一个卡通视频来展示这些加密算法是如何工作的,你可以去gun.eco/docs/SEA查看视频。ViU免费翻墙网

然后是 快速查看此应用程序的案例“user.auth”,它有登录功能。现在我们想要通过用户名和密码登录到我们中心化的加密安全帐户,所以在登录后,我们要隐 藏我们的登录表单。你可以通过.map转换数据来得到.map待办事项列表,但我们希望保持数据不变,将其传递给UI输出并显示到屏幕上。当用户提交待办 事项(To Do)时,我们希望确保找到该用户,访问该数据库上的“Set”属性或“To Do”属性,然后我们可以“set”这些内容。“set”像数学集合(mathematical set),它的工作原理就像一张桌子或一个集合体,我们可以把一个项目或某组东⻄添加到表中。只需53行代码,你就可以创建加密安全的多用户协同应用。ViU免费翻墙网

图七 AES密钥

最后我想展示的是克隆TikTok项目。我现在要把“A Big Bunny”这支视频放进数据库里,它不仅可以在标签上同步,还可以拖放视频、照片和歌曲到数据库中,在应用程序之间同步。你可能认为这个简单的例子要求大量的代码,但其实只需34行代码就可以实现它。大家可以在我们的网站和Github上和我们讨论这个项目。ViU免费翻墙网

图八 克隆TikTok项目

总而言 之,我们已经回顾和演示了加密算法的运作,解释了这项技术背后算法。最后,我还想说一说我们未来的发展方向。既然我们已经创建了一个可扩展到数千万用户的 去中心化网络,现在急需被关注的就不只是技术,还有系统的心理学或经济学。我们的计划是创造一系列电子游戏,让人们在一种新型的社交网络上一起玩。这一系 列的电子游戏本身将会是去中心化的。如果你有兴趣帮助我们构建去中心化网络的未来并参与其中,就请加入我们的社区吧!ViU免费翻墙网

谢谢!我是Mark Nadal,GUN数据库的作者和创建者。作为一家试图为每个人创造更好的去中心化未来的公司,我们希望创造一个全新的纪元。谢谢各位!ViU免费翻墙网

来顶一下
返回首页
返回首页
欢迎评论:免登录,输入验证码即可匿名评论 共有条评论
用户名: 密码:
验证码: 匿名发表

推荐资讯

自由浏览器FreeBrowser5.1.2下载
自由浏览器FreeBrowse
原子网络加速器 - 免费高速VPN 一键链接 方便快捷
原子网络加速器 - 免费
foxovpn绿狐VPN——即连即用、快速、安全
foxovpn绿狐VPN——即
Dubai VPN - Free, Fast & Secure VPN下载
Dubai VPN - Free, Fa
相关文章
栏目更新
栏目热门
墙外新闻
读者文摘

你可以访问真正的互联网了。You can access the real Internet.

管理员精中特别提醒:本网站域名、主机和管理员都在美国,且本站内容仅为非中国大陆网友服务。禁止中国大陆网友浏览本站!若中国大陆网友因错误操作打开本站网页,请立即关闭!中国大陆网友浏览本站存在法律风险,恳请立即关闭本站所有页面!对于您因浏览本站所遭遇的法律问题、安全问题和其他所有问题,本站均无法负责也概不负责。

特别警告:本站推荐各种免费科学上网软件、app和方法,不建议各位网友购买收费账号或服务。若您因付费购买而遭遇骗局,没有得到想要的服务,请把苦水往自己肚子里咽,本站无法承担也概不承担任何责任!

本站严正声明:各位翻墙的网友切勿将本站介绍的翻墙方法运用于违反当地法律法规的活动,本站对网友的遵纪守法行为表示支持,对网友的违法犯罪行为表示反对!

网站管理员定居美国,因此本站所推荐的翻墙软件及翻墙方法都未经测试,发布仅供网友测试和参考,但你懂的——翻墙软件或方法随时有可能失效,因此本站信息具有极强时效性,想要更多有效免费翻墙方法敬请阅读本站最新信息,建议收藏本站!本站为纯粹技术网站,支持科学与民主,支持宗教信仰自由,反对恐怖主义、邪教、伪科学与专制,不支持或反对任何极端主义的政治观点或宗教信仰。有注明出处的信息均为转载文章,转载信息仅供参考,并不表明本站支持其观点或行为。未注明出处的信息为本站原创,转载时也请注明来自本站。

鉴于各种免费翻墙软件甚至是收费翻墙软件可能存在的安全风险及个人隐私泄漏可能,本站提醒各位网友做好各方面的安全防护措施!本站无法对推荐的翻墙软件、应用或服务等进行全面而严格的安全测试,因此无法对其安全性做保证,无法对您因为安全问题或隐私泄漏等问题造成的任何损失承担任何责任!

S. Grand Ave.,Suite 3910,Los Angeles,CA 90071

知识共享许可协议
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。