讨论一下IPFS如何提高网站体验
DAPP,即去中心化应用,在某种程度上比现在的APP更加安全高效。
它的出现为悬在半空的区块链找到了一条通往现实世界的大道,一度被认为是开启区块链3.0的钥匙。
目前在以太坊上已有上千款DAPP。而作为以太坊上第一现象级的DAPP——加密猫,一经问世就迅速火爆全球。上线仅几小时就占据了以太坊超过15%的网络,贡献了ETH 30%的交易量,甚至造成了以太坊网络的拥堵。
加密猫的成功迅速引来了国内的众多模仿者,毕竟搞山寨还是我们在行,于是乎百度上线了“莱茨狗”,小米推出“加密兔”,公信宝上线了“万利马”......
火爆程度可见一斑。
一切看起来很美好,我们可以开发去中心化应用DApp解决信任问题,由此也确实产生了很多的博彩类DApp游戏。
Dapps在以下几个方面拥有优势:
去中心化:没有单点故障,政府或者个人很难控制整个网络。
持续工作:依靠P2P系统,即使个人的电脑或者一部分网络瘫痪,Dapp依然可以运行。
区块链基石:通过智能合约可以轻松将加密货币整合到Dapp的基本功能中。
源代码公开:促进Dapp生态系统的广泛开发,促使开发者开发出更多有用和有趣的功能。
虽然DApp的后台逻辑(智能合约)是在无中心的节点上运行的透明的规则,但是由当前互联网规则-超文本媒体传输协议(HTTP)决定了我们看到内容却来自于一台无信任的中心化服务器。
当我们在浏览器输入一个网址时,在这个协议下,总是会先找到这个网址(域名)对应的服务器IP地址,然后请求服务器,并把服务器的响应显示在浏览器。
服务器也许会关闭、内容获取被篡改或删除,对用户都无法保证。这种方式下文件能否访问,完全取决于服务器,Web3.0一个p2p网络,全员自发出资购置设备(计算设备例如arm开发板,存储设备例如外接硬盘,网络连接设备例如wifi),
通过开源的软件,自动连接成网,并贡献计算资源、存储资源与网络资源,这些资源供任何人有偿调用。
产生的收益,去除掉其他费用,根据每个人在网时间所贡献的资源来分配。
从而让全员受益,我们称之为web3.0 。
web3.0 的核心是任何人都有权参与科技发展,并享受其产生的收益。
web3.0 的目的是公平。 我们将通过web3.0,让任何普通人有足够的上升空间!
我们强调的是每个人的个人努力,都可以在web3.0 的网络中带来改变自己命运的结果!
在Web3.0中,我们需要重新定义数据结构,因为我们生活在一个互联的世界中。
区块链只是这个分布式技术栈中众多技术中的一个。虽然区块链是一种很好的P2P方式,它记录了谁做了什么,什么时候做什么。
但它目前还不适合存储海量的数据,其原因有两个:
(1)可扩展性:区块链太慢;
(2)不允许进行隐私设计:永远不要在区块链上存储私人数据。
IPFS怎样解决问题
IPFS - InterPlanetary File System 星际文件系统,其目标是取代HTTP,成为Web3.0时代的基础协议。其实IPFS想要做的远不只存储,多数人谈到IPFS都只讲到它的去中心化存储,但我们从其官网对IPFS的定义就可以看到:
尽管Web3.0目前没有明确定义,从2014年以太坊联合创始人Gavin Wood提出分布式网络的Web3.0概念开始,业界普遍认为特征应该是 分布式、可信任。Web3.0的浏览器也许不叫浏览器, 它更可能是数字钱包和浏览器的组合体,现在浏览器上发起交易也同样需要依靠钱包插件进行签名。所以这样一个形态的产品也是大家的机会,这是一个全新的超大入口级产品。
从客户机/服务器的互联网到分布式网络的过渡是渐进的,而不是激进的。
随着分布式网络技术栈的不断成熟,转型将从集中式转向部分分布式再转变为完全分布式。
我们讨论过HTTP问题(还有过度集中化的问题),现在讨论一下IPFS如何提高网站体验。IPFS从根本上改变了我们寻找东西的方式,这是它的关键性能。使用HTTP时,搜索的是位置,而IPFS搜索的是内容。
举个例子:笔者在服务器上运行的一个文件如下:https://neocities.org/img/neocitieslogo.svg, 浏览器首先找到服务器的位置(IP地址),然后请求我方服务器使用路径名。在这种设计中,只有网站的拥有者能够确定这就是对方寻找的文件,而寻找者是被动的,他需要相信拥有者并未挪动文件或者关闭服务器。
我们不再寻找一个被集中化控制的位置,并询问它/img/neocitieslogo.svg是什么,取而代之我们向数百万电脑组成的分布式网络请求文件时不通过文件名,而是通过文件所包含的内容,这正是IPFS所做的事情。
在将neocitieslogo.svg添加到IPFS节点时,它获得了一个新名字:QmXGTaGWTT1uUtfSb2sBAvArMEVLK4rQEcQg5bv7wwdzwU。这个名字实际上是一个加密哈希,从文件的内容中计算得来。这个哈希通过加密确保永久显示该文件的内容。如果文件被修改了哪怕一个比特,哈希都会面目全非。
如果向IPFS分布式网络请求该哈希,它会通过分布式哈希表,有效地找到文件所在节点,取到内容并使用哈希验证数据的正确性。早期的DHT设计曾出现Sybil攻击的问题,不过现在已经有了新的解决办法。
小结IPFS是一项非常激动人心的技术,尽管它仍在发展的早期(区块链也是),还有很多问题需要我们一起解决,如NAT穿透问题,浏览器支持问题,内容存储激励问题,存储数据安全与隐私保护问题。 但是通过 IPFS 区块链将真正创建Web3.0时代的应用,这是一个完全可信的、自运转(不停机)的应用,我们对未来充满期待。