“各大公司都关闭了自家网盘”是前两个月国内互联网公司的一大新闻,这个事件对于网盘用户来说是影响极大的,一方面用户存储的大量数据需要迁移到其他地方,另一方面我们在选择网盘类产品时会留下后遗症,因为剩下的为数不多的几家公司将来被关闭的不确定性很大。
在此之前,我们对于网盘类产品是又爱又恨的,爱是因为这种应用的使用场景处处可见,它是你电子设备空间的扩展,你可以把平时拍的照片传到网盘上,如果你手机的容量足够,这种做法可以帮你备份,但假设你只有16GB,它还可以帮你腾出额外的空间;它还是连接你公司电脑和家庭电脑的桥梁,通过数据同步你可以无缝在不同环境间切换……
谈到恨,不可避免的会提到隐私上的担忧,这种担忧来自两方面,一是网盘公司可能被黑客攻击,导致自己的数据外流,二是公司为了获得更多利润开始滥用用户的隐私权——例如分析数据来做用户画像等。再加上被关闭的可能性很大,我们好像不能愉快的使用网盘了。
这个世界肯定是在不断变好的,垄断和恶性竞争给用户带来的潜在伤害在互联网世界终将得到解决,区块链技术的爆发是一个明显的趋势,它可以让两个用户间的信任传递不需要通过第三方来保证,它更接近于真实世界,Sia则是区块链应用中的网盘产品,Sia网络是一个去中心化的p2p网络,你上传到Sia中的文件都会被加密,从而保证了数据的隐私性,而Sia通过区块链实现的智能合约,保证了你上传的文件具有99.99%的可用性,从而再也不用担心它会“倒闭”,让你蒙受数据丢失的风险。
看到Sia这个项目时,我是异常兴奋的,不仅因为它是一个“美好的世界”,同时它让我产生了诸多回忆,我曾经在迅雷工作长达5年时间,如果让我评价这家公司,它一定是一家极具创意的公司,我在迅雷做的第一个项目,其实就是“Sia”,我们叫它DCDN(Distributed CDN),意味着在09年以前,也就是比特币诞生之前,迅雷就有这样“宏伟”想法:我们希望把世界上的所有空闲磁盘利用起来供大家使用。你可以理解为在共享经济如日中天的今天,我们在10年前已经开始做一个共享磁盘的事情了。
这个项目在我手上启动过两次,都已失败告终,同时这也是我心里的一块阴影,以至在第三次启动时,我已经逃得远远的,不敢触碰,害怕再次被打击。人类都有一个强大的能力,就是容易忘记过去的伤痛,我们常说“好了伤疤忘了疼”就是这个原因,所以最近当我回忆自己这十年的工作生涯时,我问自己有没有遇到过难以逾越的困难,我会毫不犹豫的回答“没有”,因为打心底我认为所谓的技术问题,其实就是一张纸,你不知道它,是因为你还没有把它捅破而已。但发现Sia后,我发现自己错了,我不应该丢弃过去这段失败的经历,不正视它,我就无法从中获得成长,也无法认识到Sia真正的价值。
通过对Sia的认识,我总结到之前项目的失败,主要原因有两点:
- 用户之间缺乏一个“智能合约”
- 当时用户还没有形成付费的习惯
智能合约是区块链应用中的核心,在Sia中,这个合约主要包括
- 空间贡献者下载一个文件,会形成一个合约:在指定时间内保存该文件,可以获得一定的报酬
- 贡献者需要提交一定的押金:如果他没有完成合约,他不仅得不到支付款,而且还会失去押金。
- 贡献者弄虚作假或伪造数据将会受到很大的金钱惩罚。
- 如果在线率低于95%,贡献者要受到惩罚
- 使用者每月需要交纳一定的空间费用,用来支付给空间贡献者
区块链技术保证了合约的正确执行,这样空间贡献者就会按照规定来“经营”,使用者才会放心的把私有文件存储在网络中。p2p文件系统中最大的挑战在于如何保证文件的可用性,因为你无法预知一个存储节点的在线时长,如果一个节点下线,那么就代表存储在其中的数据在那个时刻不可用,为了提升可用性,就必须做冗余备份,和中心化存储系统的差别在于,冗余备份的时间一般很长,所以p2p文件系统要提前冗余,或做更多冗余。
但如果在线率高的话,整个结果会不一样,智能合约保证了这一点,所以Sia号称自己的可用性达到99.99%,如果你懂一点技术,你可能会认为他们在吹牛,因为在中心化系统中达到99.99%都不是件容易的事情,去中心化怎么可能做到?为了求证,我昨天还真算了一遍,结果是,从概率角度,确实可以达到这么高的可用性,下面是推导过程,如果你认为比较枯燥,可以直接跳到后面的表格看结论
默认的,Sia会把一个文件分成10小块,每块复制2份,也就是一个文件在Sia网络中会有30小块,它采用erasure coding的加密技术,这种加密技术的特点是,任意取其中10个块,就可以把整个文件还原回来,换句话说,30个节点中,只要有10个在线的话,就可以下载这个文件。说到这里,文件的可用性问题变成了一个概率问题,要求这个概率,先分类,再对每一类分步求它的概率
分类的意思是,“至少10个在线”,意味着我们需要分别求出10、11、12、……、30个节点同时在线的概率,然后对它们求和;分步的意思是,在求每一个概率时,要用到以下步骤,以10个节点为例
- 在30个节点中选10个节点
- 求出10个节点同时在线的概率
- 求出另外20个节点同时不在线的概率
到了这一步,我们就可以按照分类求和,分步求积的原则,列出这个概率的公式(这里假设智能合约能使在线率达到90%):
由于不知道如何简单计算这个式子,最后我是用Numbers(windows用户可以理解为excel)来算的,结果如下:
以上为我对Sia的理解,我认为它具有长期持有的价值,偷偷告诉你,这个产品自去年发布以来,已经增长超过100倍,如果你也认可,可以买一点作为投资(请记住,最后的决定权在你),可别怪我没告诉你喔。
最后,欢迎交流。