【51CTO.com快译】比特币和区块链技术的发明为下一代网络应用奠定了基础。应用程序将运行在现有网络和路由协议的对等网络模型上。集中式服务器将被淘汰,数据将由其所属实体即用户控制。
从Web 1.0到Web 2.0
众所周知,Web 1.0是静态Web,而且大多数信息是静态的、扁平的。当用户定义内容成为主流时,站点发生了重大转变。WordPress、Facebook、Twitter、YouTube等项目被提名为Web 2.0,我们在这些站点上展现动态的、真实的内容,如视频、音频、图像等。
然而,问题不在于内容而是架构。Web的集中化特性带来了大量的安全威胁、恶意收集数据、侵犯隐私及成本等问题。
比特币的发明,分散式的、对等的、安全的网络的成功使用,为我们重新设计网络方式提供了机会。区块链正在成为新Web的骨干,即Web 3.0。
区块链的历史
比特币在2018年蓬勃发展之后,区块链的发明成为了主流。请看下图:
比特币的峰值在2万美元左右。
但是,支持区块链网络的技术并不新鲜。这些概念是在90年代研究和发展起来的。这是时间轴。
在20世纪90年代,许多大学和计算机科学家研究和开发了一些概念,如工作量证明、对等网络、公钥密码学和分布式一致性算法,这些概念为区块链提供了动力。
这些算法和概念是成熟的,并经过各种组织的实战检验。中本聪将这些技术和思想结合在一起,构建了一个分散的、不变的、主要用于财务目的的对等数据库。
最初,我们都认为区块链只适合加密数字货币,不适合其他应用。当Vitalik buterin开发出一种新的智能合约的以太坊加密货币时,这种想法受到了挑战。
智能合约改变了一切。能够编写自己的应用程序并运行在区块链之上,是对那些认为区块链只适用于货币的观点的有力反驳。
“加密数字货币是区块链的一个小子集,就像互联网上的电子邮件一样。”
智能合约开启了一波新的应用浪潮。病毒游戏Cryptokitties展示了区块链可以处理大型终端应用程序,如游戏。
智能合约是用可靠的语言编写的,可以在以太网络上执行。Ethereum的协议和设计启发了工程师们构建一个开源的、与区块链无关的平台来构建分散的应用程序。
DApps协议
正如前面提到的,以太坊货币智能合约是***批用于编程分散式应用程序的技术之一。
开发人员需要多种工具来构建完整的Web应用程序,如存储(数据库、文件、索引等)、消息队列或事件队列,以实现通信。以太坊货币(Ether)通过引入Ethereum Swarm和Ethereum Whisper项目来解决这些问题。
正如您在上面的图表中所看到的,使用Ethereum智能合约编写契约,并群集存储文件。为了使分散的应用程序彼此通信,可以使用Whisper。所有这些都可以在分布式浏览器(如DBrowser)中运行。
Swarm是一个分布式存储平台,用于以太层。云计算的核心目标是为以太坊的公共记录提供分散存储。Swarm是用来保存DApps的代码库和相关数据的。
Swarm允许公共参与者将他们的存储和带宽资源集中起来,使网络更加健壮,并通过以太奖励机制获得报酬,公平交易。
简单地说,Ethereum Whisper是一种协议,用于在Ethereum区块链上进行DApps通信,类似于消息队列或事件队列。Whisper提供了底层API来支持DApps之间的通信。
但是,您感觉到这里的局限性了吗?这完全是以太不可知论,所有应用程序都是在Ethereum区块链之上编写和运行的。这一更改将显著增加链的大小,而可伸缩性将成为一个问题。
除了可伸缩性,适应性也是一个问题。我们需要平稳地从集中式Web转向分散式Web。而大众不需要为了分散化的网络而改变原有的一切。
这就是新协议出现的原因,协议实验室称为IPFS(星际文件系统)栈。
协议实验室致力于构建与TCP/IP栈并行运行的分布式Web。这将使从现有Web到Web 3.0的转换非常顺利,而且使用Web 3.0不需要进行重大更改。
这是堆栈。
听起来耳熟吗?这个堆栈看起来非常类似于TCP/IP协议层。让我们详细了解一下。
IPFS堆栈分为三个基本层:
- 网络层。
- 数据定义和命名层。
- 数据层。
让我们详细了解一下它们。
网络层
分布式Web的核心挑战之一是对等网络以及设计并行于集中式系统的协议。
协议实验室Libp2p项目解决了这一挑战。Libp2p提供了模块化堆栈,可以使用它与现有协议(如WebRTC或任何新的传输层协议)一起构建对等网络。因此,Libp2p是传输不可知论者。
libp2p的特点:
- Libp2p是一个模块化的网络堆栈。您可以使用全部或部分堆栈来构建应用程序。
- Libp2p提供传输和对等协议来构建大型、健壮和可伸缩的网络应用程序。
- Libp2p是传输协议不可知论者。它可以使用TCP、UDP、WebRTC、WebSockets和UDP。
- Libp2p提供了许多模块,如传输、发现、分布式查找、路由。
- Libp2p提供内置加密,以防止窃听。
- Libp2p提供了内置的漫游功能,这样您的服务就可以在没有任何干预和数据包丢失的情况下切换网络。
Libp2p是建立对等网络层的解决方案。
数据定义和命名层
通过散列进行内容寻址在分布式系统中得到了广泛的应用。我们在Git、加密货币等中使用基于散列的内容寻址。在对等网络中也使用同样的方法。
IPLD为所有基于散列的原型提供了统一的命名空间。使用IPLD,数据可以跨各种协议进行遍历,以探索和查看跨对等网络传播的数据。
IPNS是一个为存储在IPFS上的内容创建可变地址的系统。之所以是可变的,是因为每次内容更改时,内容的地址都会更改。
数据层
此堆栈中的最顶层是数据层。星际文件系统是对等超媒体协议。它提供了一种跨对等网络存储和检索数据的方法。
IPFS使用IPNS和Libp2p跨对等网络创建、命名和分发内容。
任何人都可以成为IPFS对等体,并开始使用散列查找内容。IPFS peer不需要存储所有数据;它们只需要存储由它们创建的数据或它们过去搜索过的数据。
IPFS的特点:
- IPFS为Web 3.0提供了对等的超媒体协议。
- IPFS可以使用现有的协议和浏览器。这提供了从集中式Web到Web 3.0的平稳过渡。
- IPFS使用Libp2p支持对等网络。
- IPFS数据是加密安全的。
- IPFS可以在流媒体服务中节省大量带宽。
IPFS正在开发中,开发人员在IPFS之上构建了一些非常棒的应用程序。应用之一是 d.tube。这是一个分散式的YouTube版本,内置了由Steem区块链提供的激励和奖励功能。
IPFS还试图解决激励问题。我们不能期望每一个上网的人都是peer。为了激励那些参与并为网络贡献价值的人,IPFS创造了一种名为Filecoin的硬币,用户可以向网络中的 peers支付费用。
结论
分布式Web或Web 3.0是未来的发展方向。需要设计一个健壮、安全的对等网络来解决现有Web中的问题。Ethereum和IPFS正在为开发人员开发***道路,这些应用程序将实现从现有集中式Web到分布式Web的平稳过渡。
原文标题:Moving Towards web3.0 Using Blockchain as Core Tech,作者:Shahid Shaikh
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】