IPFS

Filecoin逻辑梳理及源代码导读

戏子无情 提交于 2020-04-15 07:55:58
【推荐阅读】微服务还能火多久?>>> Filecoin的源代码可以从Github下载:https://github.com/filecoin-project/go-filecoin。 在阅读源代码之前,强烈建议看两份对阅读代码有益的文档: Filecoin的设计文档 https://github.com/filecoin-project/specs 设计文档,从设计的角度,分别介绍数据结构,挖矿机制,共识机制,支付方式,虚拟机执行,状态机,存储角色等等。 CODEWALK.md https://github.com/filecoin-project/go-filecoin/blob/master/CODEWALK.md CODEWALK也是高屋建瓴的讲述了Filecoin的代码历史,框架,以及各个模块的功能。 总的来说,这两份文档篇幅都不长,对理解Filecoin的项目以及代码很有帮助。建议大家有空看看。注意的是,这些文档也不是实时更新,和代码有些出入的。闲话不多说,我整理了一下Filecoin源代码的一些理解,方便对Filecoin代码感兴趣的小伙伴,可以更快的理解Filecoin的设计以及现状。文章比较长,请耐心阅读 :) 在该导读中使用的Filecoin代码的最后一个commit信息如下: commit

IPFS & FileCoin

这一生的挚爱 提交于 2020-04-15 07:55:32
【推荐阅读】微服务还能火多久?>>> 区块链在2017年爆发,很多项目都在用去中心化的思路去重塑。存储是很多人想去重塑的一个方向,用去中心化的存储代替中心化的存储。2015年,IPFS设计提出了一个点对点的分布式媒体发布协议。IPFS被认为是最有可能取代HTTP的新一代互联网协议。FileCoin在IPFS协议基础上,设计自己的区块链,激励更多的存储服务以及用户参与IPFS协议。 IPFS以及FileCoin的白皮书相对来说,知识量很大,读懂需要花一点时间。我总结一下FileCoin中设计的PoRep以及PoSt算法的原理,方便理解。 1)PoRep算法 PoRep 算法是用来证明一个存储系统确实存储了某一份数据的拷贝,而且每一份拷贝使用不同的物理存储。 PoRep 需要抵抗的三种攻击: 1) 女巫攻击(多份数据使用同一物理存储) 2) 外包攻击(用其他存储,而不是自己的存储进行数据存储) 3) 生成攻击(及时生成检验数据) *) 解决女巫攻击的方法是数据编码,引入混淆因子: RDek = Encode(D, ek) RDek 是编码后的数据,D 是原数据,ek是混淆因子。 *)解决外包攻击或者生成攻击的方法是:Encode 的时间要足够长 (a) T honest = RTTV→P→V + Time(PoRep.Prove(SP, RD ek, c)) (b) T attack

深度专访 | 老冯:镜像网络MW不只是IPFS商用激励层

自古美人都是妖i 提交于 2020-04-14 01:53:35
【今日推荐】:为什么一到面试就懵逼!>>> 比特币早期玩家为何会玩MW?为何区块链+分布式存储是唯一可以将挖矿与实用相结合的行业?人类怎样在大量消耗资源的同时,也可以做有益于社会存储的事?特邀嘉宾老冯:早期比特币信仰者、镜像网络MW联合发起人,为我们一一解惑! 一 、自我介绍: 大家好,我是老冯,我在2012年进入比特币圈子创业,是早期比特币的信仰者,中间沉静了二年,在一帮朋友的协助下,重回圈子。这期间对分布式存储做了很多研究包括IPFS,所以这次选择创业的项目也是关于分布式存储领域,我认为区块链+分布式存储是唯一可以将挖矿与实用相结合的行业,在人类大量消耗资源的同时,也可以做有益于社会的商用存储网络。镜像网络MW就是一个已成熟将IPFS技术运用于实际存储的落地项目,同时为区块链行业落地打造了可行的解决方案。 二、 提问环节: 1、相信在您进行自我介绍之后,很多观众朋友都在关心镜像网络最近在做什么,您可以同观众朋友们分享一下嘛?镜像网络这些年又取得了哪些成绩呢? 镜像网络MW正在构建一个易用、可用的分布式存储网络,开创了一种在不可信的竞争环境中,低成本建立信任的新型计算范式和协作模式。我们有三年的技术沉淀,吸取了 IPFS、阿里云 OSS、Stoij等国内外技术经验,目前代码库接近90万行,未来也会开源,之前较稳定的运行了内测网络,有很多朋友已经参与。接下来的三至四个月

Web 3.0的3个革命

不问归期 提交于 2020-04-07 09:48:12
引言 这是Tony Aubé在WAQ19上关于Web 3.0演讲的书面版中文翻译,也可观看文末带英语字幕的YouTube视频。 Web简史 INTERNET WEB Web 1.0 Web 2.0 Web 3.0带来的三个主要变化 货币将成为互联网的原生功能 去中心化应用程序为用户提供了新功能 用户将对其数字身份和数据有更多的控制权 去年Web 30岁,其发明者蒂姆·伯纳斯·李(Tim Berners-Lee)借此机会宣布,他对近年来网络的发展方向不满意。 "At age 30, this is not the Web we wanted"“30岁时,这不是我们想要的网络” 要了解他的观点以及为什么这很重要,值得回顾一下Web的历史。 .01 Web 简史 在万维网(WEB)出现之前就有因特网(INTERNET),因特网是在60~70年代美苏冷战高峰时期发明的。 当时,美国有一台控制其核武器的中央计算机,美国政府担心攻击可能会破坏该系统并阻止其反击。因此,他们建立了一个分布式的系统,其中包含分布在全国各地的许多计算机。如果发生袭击,国防系统将保持运转,确保两国可毁灭彼此。 对于因特网来说,这是一个黑暗的开始,同时这也是去中心化思想的来源。 后来,在1990年,蒂姆·伯纳斯·李创建了万维网(World Wide Web)。WEB是INTERNET上最早的应用程序之一(译者注

ipfs filestore

≯℡__Kan透↙ 提交于 2020-03-02 11:11:04
版本: go-ipfs@v0.4.23 IPFS中的filestore作用类似于Git中的LFS,主要用于存储大文件,在blockstore只存储大文件的dag root,在FileManager存放文件的metadata, 避免大文件充斥blockstore,节省blockstore的空间。 Git LFS LFS全称Large File System,是git用来存放大文件的地方。它有几个优点: 1、在git仓库只存储了大文件的链接(主要存放文件的sha256),体积很小,方便clone和pull。 clone的时候只pull最新的版本,无需像其它object一样保存所有历史版本。 2、git diff基于文本行比较,而大文件大部分是二进制文件,diff不适用。 ipfs filestore filestore结构体如下 // Filestore implements a Blockstore by combining a standard Blockstore // to store regular blocks and a special Blockstore called // FileManager to store blocks which data exists in an external file. type Filestore struct { fm *

IPFS安装到应用

寵の児 提交于 2020-03-02 10:51:13
目录 1.IPFS安装 2.初始化IPFS 3.修改节点默认存储空间 4.查看节点 5.启动并同步数据 6.启动后,查看IPFS web界面 7.添加文件 8.查看文件 9.下载文件 10.创建文件夹 11.拷贝文件 12.读取文件 13.查看目录 14.上传整个文件夹目录到IPFS网络 15.查看文件 16.发布到IPNS 17.当文件修改时,需要重新上传发布 ----------------------------------【喜欢打赏】------------------------------------------- ----------------------------------【喜欢打赏】------------------------------------------- 1.IPFS安装 (1.)下载安装包 IPFS下载 (2.)解压当前文件,并将二进制文件ipfs移动到/usr/local/bin/目录下 tar -zxvf go-ipfs_v0.4.23_linux-amd64.tar.gz #将解压后的目录移动到/opt目录下 cd /opt/go-ipfs mv go-ipfs /opt/ #将二进制文件移动到/usr/local/bin目录 cp ipfs /usr/local/bin/ #验证ipfs是否安装成功 ipfs version 2

技术工坊|1小时入门IPFS开发(上海)

元气小坏坏 提交于 2020-02-28 13:33:00
最近常常在思考一个问题,区块链究竟能做什么?HiBlock区块链社区最近的公众号推文去中介化的租房DAPP似乎是一个尝试,也看到了有些项目推出与滴滴事件相关的区块链技术解决方案,似乎区块链无所不能。 区块链创业热度不减,我们看到最多的是传统互联网应用向区块链应用的迁移,利用区块链特性解决之前不能解决的问题,而技术本身的发展也呈现这个特点。 IPFS是一个点对点的分布式文件系统,目的在于补充甚至取代HTTP超文本传输协议,是区块链技术开发中不可或缺的一个重要技术点。 9月19日,HiBlock区块链社区联合创业股平台在上海发起第15期技术工坊,邀请美国区块链媒体BTC Media亚太区CTO古千峰老师分享IPFS入门开发,在1个小时的分享内介绍IPFS能力和入门开发技巧 ,分享后给与参与者30分钟充分交流讨论。 点击文末"阅读原文"即可参与活动报名。 1 时间地点 **时间:**9月19日 18:30 - 21:00 地点 :(上海徐汇)上海市市辖区徐汇区龙华中路596号A308室 线下分享+交流 9.8元/人 参会人员要求: 1) 技术背景人员,对区块链开发有兴趣; 2) 活动限额15人,报满截止; 3) 自带电脑 2 活动流程 18:30-19:30 签到,自我介绍 19:30-20:30 IPFS开发入门导入 20:30-21:00 嘉宾互动 3 分享主题及嘉宾 课程

proto school tutorial: blog: lesson 1

让人想犯罪 __ 提交于 2020-02-14 11:35:18
https://proto.school/#/blog/01 我们现在希望:把一个post 和他的作者联系起来。 从之前的教程 here 中,你可以知道, 一个cid 就是代表一个link 比如: { linkToAwesomeNode: awesomeCid //字段: cid } 总结就是: 当我们给一个字段赋值一个cid的时候,这个字段其实按照惯例,称为: named link 如下所示:(我们新加了 tt1 and tt2 , they are so called named link ) /* globals ipfs */ const run = async () => { const natCid = await ipfs.dag.put({ author: "Nat" }) const samCid = await ipfs.dag.put({ author: "Sam" }) const treePostCid = await ipfs.dag.put({ content: "trees", author: samCid//tt1 }) const computerPostCid = await ipfs.dag.put({ content: "computers", author: natCid//tt2 }) return [treePostCid,

ipfs camp course c demo exercise 1

心不动则不痛 提交于 2020-02-08 12:15:40
目录 aim: my bugs 解决ipfs 的 cros 问题的方法 result final code for c1 aim: 首先咱们把 broswer 和 自己的api 连接起来(要显示出来自己的本地ipfs id) my bugs CROS How to do cross-origin requests on IPFS https://github.com/INFURA/tutorials/wiki/IPFS-and-CORS 参考: No 'Access-Control-Allow-Origin' header is present on the requested resource.'Ajax跨域访问解决方案 https://blog.csdn.net/zhoucheng05_13/article/details/53580683 No 'Access-Control-Allow-Origin' header is present on the requested resource. 当使用ajax访问远程服务器时,请求失败,浏览器报如上错误。这是出于安全的考虑,默认禁止跨域访问导致的。 在A网站中,我们希望使用Ajax来获得B网站中的特定内容。如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。你可以理解为两个域名之间不能跨过域名来发送请求或者请求数据