比特币和区块链技术的发明为下一代Web应用程序奠定了基础。使用现有网络和路由协议将在对等网络模型上运行的应用程序。集中式服务器将被淘汰且数据将由其所属实体(即用户)控制的应用程序。

从Web 1.0到Web 2.0

众所周知,Web 1.0是静态Web,并且大多数信息是静态且平坦的。当用户生成的内容成为主流时,发生了重大转变。诸如WordPress,Facebook,Twitter,YouTube等项目被提名为Web 2.0网站,我们在其中生产和使用内容真实的内容,如视频,音频,图像等。

然而,问题不在于内容。那是建筑。 网页的集中化性质带来了无数安全威胁,恶意目的数据收集,隐私入侵和成本。

的发明 比特币 成功地使用去中心化,对等安全的去中心化网络,提供了退后一步并重新设计我们的网络工作方式的机会。区块链正在成为新Web(即Web 3.0)的骨干。

区块链的历史

在2018年比特币繁荣之后,区块链的发明成为主流。比特币的峰值价格约为20000美元。

比特币价格生命周期

 

但是推动 区块链 网络并不是什么新鲜事物。这些概念是在90年代研发的。看看这个时间表。

区块链历史

工作证明,对等网络,公共密钥密码学和为区块链提供支持的分布式计算的共识算法等概念已在90年代由多家大学和计算机科学家研发。

这些算法和概念已经成熟,并经过各种组织的测试。中本聪将这些技术和思想结合在一起,建立了一个分散的,不可变的,对等的数据库,主要用于财务目的。

最初,我们都认为区块链仅适用于 加密货币 不适用于其他应用程序。这个想法在什么时候受到挑战 Vitalik Buterin 开发了 以太坊加密货币 用新的 智能合约 特征。

智能合约改变了一切。评论家们认为,能够编写自己的应用程序并在区块链之上运行的能力是批评者的答案。 区块链 仅用于货币。

“加密货币是区块链的一小部分,就像互联网的电子邮件一样。”

智能合约开启了新应用程序的浪潮。病毒游戏 加密猫 展示了区块链可以处理游戏等大型最终应用程序。

智能合约以Solidity语言编写,可以在Etherum网络上执行。以太坊的协议和设计激发了工程师们构建一个开源和区块链不可知的平台来构建去中心化的应用程序。

DApps协议

正如我之前提到的,以太坊智能合约是最早可用于对分散式应用程序进行编程的此类技术之一。问题在于,智能合约是通过牢记交易或金钱来编写的。

开发人员需要多种工具来构建功能完善的Web应用程序,例如存储(数据库,文件,索引等),消息队列或事件队列,以促进通信。以太坊通过引入以解决这些问题 以太群 以太耳语 项目。

以太坊堆栈

如您在上图中所看到的,使用Etherum Smart合约来编写合约并大量存储可以与合约相关联的文件。为了使分散的应用程序彼此通信,可以使用Whisper。所有这些都可以在分散的浏览器中运行,例如 浏览器.

Swarm是用于以太坊堆栈的分布式存储平台。 Swarm的核心目标是为以太坊公共记录提供分散存储。 Swarm应该保存DApps代码库和与其关联的数据。

Swarm允许公共参与者集中他们的存储和带宽资源,以使网络健壮并获得以太坊奖励。公平交易。

简而言之,以太坊耳语是一种协议,用于在以太坊区块链上运行的DApp相互通信,类似于消息队列或事件队列。 Whisper提供了低级API,以支持DApp之间的通信。您可以了解更多 这里.

但是,您是否感觉到这里的局限性?好吧,主要问题是这完全与Etherum无关,即所有应用程序都在Etherum区块链之上编写并运行。此更改将显着增加链的大小,而可伸缩性将成为一个问题。

除了可伸缩性之外,适应性也是一个问题。我们需要从集中式网络平稳过渡到分散式网络。大众无需为了分散网络而改变一切的转变。

这是我们的新协议出现的地方,被协议实验室称为IPFS(星际文件系统)堆栈。

协议实验室致力于建立 去中心化网络 与TCP / IP堆栈并行运行。这将使从现有Web到Web 3.0的转换非常顺畅,并且群众无需对Web进行重大更改。 使用网络3.0。

这是堆栈。

IPFS堆栈

摇铃?该堆栈看起来与TCP / IP协议层非常相似。让我们详细了解一下。

IPFS堆栈分为三个基本层:

  1. 网络层。
  2. 数据定义和命名层。
  3. 数据层。

让我们详细了解它们。

网络层

分散式网络中的核心挑战之一是对等网络和设计协议,这些协议可在与集中式系统并行的对等网络中工作。

Libp2p项目通过协议实验室解决了这一挑战。 Libp2p提供了模块化堆栈,可用于与现有协议(例如WebRTC或任何新的传输层协议)一起构建对等网络。因此,Libp2p是不可知论的。

libp2p的功能:

  • Libp2p是一个模块化的网络堆栈。您可以全部使用它,也可以使用堆栈的一部分来构建应用程序。
  • Libp2p提供传输和对等协议,以构建大型,健壮和可扩展的网络应用程序。
  • Libp2p是传输协议不可知论者。它可以与TCP,UDP,WebRTC,WebSockets和UDP一起使用。
  • Libp2p提供了许多模块,例如传输接口,发现,分布式哈希查找,对等发现和路由。
  • Libp2p提供了内置的加密功能以防止窃听。
  • Libp2p提供了内置的漫游功能,因此您的服务可以在没有任何干预和数据包丢失的情况下切换网络。

Libp2p是可以建立对等网络层的解决方案。

数据定义和命名层

通过散列进行内容寻址在分布式系统中被广泛使用。我们在Git,加密货币等中使用基于哈希的内容寻址。在点对点网络中也使用相同的内容。

IPLD为所有基于散列的协议提供统一的名称空间。使用IPLD,可以跨各种协议遍历数据,以浏览和查看分布在对等网络中的数据。

IPNS是一个为IPFS上存储的内容创建可变地址的系统。之所以可变,是因为内容的地址每次更改都会改变。

资料层

此堆栈中的最顶层是数据层。行星际文件系统或IPFS是对等超媒体协议。 IPFS提供了一种跨对等网络存储和检索数据的方法。

IPFS使用IPNS和Libp2p在对等网络之间创建,命名和分发内容。

任何人都可以成为IPFS对等方,并开始使用哈希查找内容。 IPFS对等点不需要存储所有数据;他们只需要存储他们创建的数据或他们过去搜索过的数据。

IPFS的功能:

  • IPFS为Web 3.0提供了对等超媒体协议。
  • IPFS可以与现有协议和浏览器一起使用。这使从集中式Web平滑过渡到Web 3.0。
  • IPFS使用Libp2p支持对等网络。
  • IPFS数据是加密安全的。
  • IPFS可以在流服务中节省大量带宽。有关详细信息,请阅读此白皮书。

IPFS正在开发中,并且开发人员在IPFS之上运行了一些出色的应用程序。我选择的应用之一是 d。管。这是YouTube的分散版,具有Steem区块链提供的内置激励和奖励功能。

IPFS也试图解决 激励 问题。我们不能期望每个连接到互联网的人都扮演同龄人的角色。为了激励那些参与网络并为网络贡献价值的人们,IPFS创建了一个硬币 文件币 用户可以将其支付给网络中的对等方。

结论

去中心化的Web或Web 3.0是未来。需要设计一个健壮,安全的对等网络来解决现有网络中的问题。 Etherum和IPFS引领着开发套件的开发之路,使像我们这样的开发人员可以开始开发核心应用程序,以实现从现有Web到分散式Web的平稳过渡。

沙希德·谢赫(Shahid Shaikh)

沙希德·谢赫(Shahid Shaikh)

区块链工程师。后端系统和集成专家。 Node.js专家。发表的作者。创办人 码forgeek。