Group Details Private

administrators

Member List

  • Author: @laser

    Proofs Walkthrough

    For infra (Part One):

    What artifacts are built and how are they distributed and consumed?
    What artifacts are accessed at runtime?
    What does "use small sectors" actually do?
    What is the status of PoRep and PoSt?

    For everybody else (Part Two):

    What is a sector base
    What responsibilities & code are in Rust
    Major APIs and how they are used
    Identifiers in use
    Metadata that needs to be kept
    What dials we have on performance of proofs
    What if any big changes are coming down the pipe

    Part One: Stuff Infra Cares About

    Build and Distribution

    libfilecoin_proofs

    When the master branch of rust-proofs-fil builds successfully in CircleCI, a gzipped-tarball gets pushed to GitHub releases (https://github.com/filecoin-project/rust-fil-proofs/releases). We build once in CircleCI using an OSX container and once using a Linux container. A release is identified (tagged) by the first 16 characters of the build's Git SHA.

    This tarball contains:

    libfilecoin_proofs.a (a "static library")
    libfilecoin_proofs.h (corresponding C-header file)
    libfilecoin_proofs.pc (a pkg-config manifest, used to specify linker dependencies)
    paramcache (populates Groth parameter-cache - typically /tmp/filecoin-proof-parameters)
    paramfetch (fetches Groth parameters from IPFS gateway into cache)
    parameters.json (contains the most recently-published Groth parameters)

    Groth Parameters

    On occasion, a rust-fil-proof developer will want to publish new Groth parameters. They might do this because we changed some aspect of VDF PoSt or ZigZag PoRep setup or public parameters which obsoletes the previously-published parameters.

    To do this, the developer first runs paramcache, which populates the Groth parameter-directory on their computer with parameters which reflect the state of the rust-fil-proofs proofs code. Then, the developer runs parampublish. The parampublish program facilitates the process of adding the parameters to a local IPFS node and adds the new parameters to the parameters.json file in the root of rust-fil-proofs which is tracked by Git.

    Finally, the developer messages the pinbot with the cid of the Groth parameters which have been pinned at the IPFS gateway.

    Consuming Distributed Artifacts

    libfilecoin_proofs

    go-filecoin depends on rust-fil-proofs as a submodule. At any time, the specific Git SHA of rust-fil-proofs which is consumed by go-filecoin can be determined by running the following command from the root of go-filecoin:

    git ls-tree master proofs/rust-proofs
    

    When the deps command is run (either in the CircleCI or on a developer computer), the install-rust-proofs.sh script is run.

    If both of the FILECOIN_USE_PRECOMPILED_RUST_PROOFS and GITHUB_TOKEN environment variables are set, the script attempts to download an OS-appropriate release tarball from rust-fil-proofs (GitHub) releases. The tarball, as previously mentioned, is identified by the first 16 characters of the Git SHA from which it was created. go-filecoin uses the SHA of its rust-fil-proofs submodule to construct a release URL and requests assets via cURL. Once downloaded, the precompiled assets are unpacked to locations hard-coded into the various go-filecoin Go files which consume them (e.g. rustverifier.go, rustsectorbuilder.go).

    If the aforementioned environment variables are not set or no matching release can be found, rust-fil-proofs is built from source from within the submodule directory. Once built, assets are unpacked to locations hard-coded into the various go-filecoin Go files which consume them (e.g. rustverifier.go, rustsectorbuilder.go).

    Groth Parameters

    Groth parameters can be fetched from IPFS using the paramfetch program or can be built using the paramcache program. These programs are part of rust-fil-proofs, and are available to go-filecoin developers who have downloaded a prebuilt rust-fil-proofs build. These programs can alternatively be built from source using the install-rust-proofs.sh script which is run by the deps subcommand.

    The paramfetch program is provided with a path to the parameters.json which is part of the rust-fil-proofs submodule. Groth parameters in this JSON file are downloaded (via cURL) from the IPFS gateway and placed into the Groth parameter directory (typically /tmp/filecoin-proofs-parameters).

    What Artifacts are Accessed At Runtime?

    A short list:

    Groth parameters are accessed by rust-fil-proofs PoSt and PoRep generation and verification routines at runtime.
    params.out (loaded once, at startup - @laser to research why this exists)
    parameters.json is accessed by paramfetch at runtime.

    What is the status of PoRep and PoSt?

    PoRep

    ZigZag PoRep is used in the nightly and user clusters today. @dignifiedquire is working on an alternative to ZigZag ("boring") PoRep which involves something called accumulators. He and @porcuquine are meeting on Friday to make a go/no-go decision on accumulators. Lots of math involved.

    PoSt

    VDF PoSt is neither complete (from a math-and-science standpoint) nor integrated into go-filecoin. According to @porcuquine, "There are parts of the circuit which haven't been implemented." In short, there are "theory problems" which prevent PoSt from being completed.

    I, Sir @laser, am working to integrate our current, incomplete PoSt implementation with go-filecoin today. There are some challenges which have emerged over the last few weeks which prevent this from being a straightforward process:

    We didn't until recently have a way to sample the blockchain for the randomness required by the challenge seed-generation process.
    Our mechanism for sampling the chain only works from within the state machine.
    A VDF PoSt can be created over a fixed number of sectors (currently 2), which means that I need to modify go-filecoin to call the PoSt generator in a loop (in the case of a miner needing to prove more than 2 sectors in a proving period).

    What Does "Use Small Sectors" Actually Do?

    Every call through CGO from go-filecoin to rust-fil-proofs includes a configuration value. This value is either Live or Test.

    When the FIL_USE_SMALL_SECTORS environment variable is set to true, go-filecoin will pass the Test value on all CGO calls to rust-fil-proofs. Otherwise, Live will be passed.

    When rust-fil-proofs operations run with the Live configuration, sectors are configured to hold 266338304 bytes (254MiB). When Test is provided, sectors are configured to hold 1016 bytes of user data.

    Sealing time is the sum of replication time (scales linearly with sector size) and proof-generation time (grows logarithmically with sector size). So: Environments (and tests) which want to seal in the smallest amount of time possible should use the Test configuration, AKA "small" sectors.

    Each configuration (sector size) uses its own circuit, and each circuit its own Groth parameters. Today, we publish both parameters (in parameters.json) to IPFS.

    Part Two: WTF is a Sector Base?

    What is a Sector Base?

    Today, the "Sector Base" is a grab-bag of functions and classes (traits) scattered across 3 Rust crates in the rust-proofs repository. These crates make up 19% of the of the 32446 lines of Rust in the rust-fil-proofs repository.

    Bundled up in libfilecoin_proofs, these crates are used by go-filecoin to:

    Write (and "preprocess") user piece-bytes to disk
    Schedules seal (proof-of-replication) jobs
    Schedules proof-of-spacetime generation jobs
    Schedules unseal (retrieval) jobs
    Provides an interface to proof-of-spacetime and proof-of-replication-verification tools (called from within the FIL state machine)
    Map between replica commitment and sealed sector-bytes
    Map between piece key (base-58 or base-58BTC-encoded CID of user piece) and sealed sector-bytes

    How does go-filecoin interact with the rust-fil-proofs Sector Base?

    The go-filecoin codebase contains two Go interfaces which are used to interact with the Sector Base:

    type Verifier interface {
    	VerifyPoST(VerifyPoSTRequest) (VerifyPoSTResponse, error)
    	VerifySeal(VerifySealRequest) (VerifySealResponse, error)
    }
    
    type SectorBuilder interface {
    	AddPiece(ctx context.Context, pi *PieceInfo) (sectorID uint64, err error)
    	ReadPieceFromSealedSector(pieceCid cid.Cid) (io.Reader, error)
    	SealAllStagedSectors(ctx context.Context) error
    	SectorSealResults() <-chan SectorSealResult
    	GetMaxUserBytesPerStagedSector() (uint64, error)
    	GeneratePoST(GeneratePoSTRequest) (GeneratePoSTResponse, error)
    	Close() error
    }
    

    The Verifier interface is satisfied by the RustVerifier struct, and the SectorBuilder interface is satisfied with the RustSectorBuilder struct.

    Both the RustVerifier and RustSectorBuilder struct use CGO to call Rust code directly (in-process) in the Sector Base. CGO functions like C.CBytes are used to move bytes across CGO from Go to Rust; Go allocates in the Rust heap through CGO and then provides Rust with pointers from which it can reconstitute arrays, structs, and so forth.

    Lifecycle

    go-filecoin controls the lifecycle of the rust-fil-proofs SectorBuilder. When the node starts, a CGO call is made to Rust in order to construct a rust-fil-proofs SectorBuilder. Rust returns through its FFI system a pointer to the rust-fil-proofs SectorBuilder which go-filecoin holds on to. When go-filecoin is done with its RustSectorBuilder, it calls its destructor method which returns the pointer to Rust, allowing it to be freed.

    Calls through CGO

    Each method on RustSectorBuilder struct has a rust-fil-proofs SectorBuilder equivalent. When a method on the RustSectorBuilder is called, Go makes a CGO call to the Rust equivalent, passing along a pointer to the Rust-allocated, rust-fil-proofs SectorBuilder.

    For example, the go-filecoin SectorBuilder interface contains a method:

    AddPiece(ctx context.Context, pi *PieceInfo) (sectorID uint64, err error)
    

    which RustSectorBuilder turns into a CGO call to the following function in rust-fil-proofs:

    pub unsafe extern "C" fn add_piece(
        ptr: *mut SectorBuilder,
        piece_key: *const libc::c_char,
        piece_ptr: *const u8,
        piece_len: libc::size_t,
    ) -> *mut responses::AddPieceResponse
    

    Identifiers

    Sealed sector path
    Yet-to-be-sealed ("unsealed") path
    Piece key (base-58 encoded CID of user piece-bytes)

    Metadata

    The rust-fil-proofs SectorBuilder stores some mappings in its metadata:

    base-58(BTC) encoded piece CID to sealed sector
    sealed and yet-to-be-sealed sector to file path
    replica commitment to file path

    Dials on Performance

    For now, go-filecoin has none.

    Problems

    go-filecoin and rust-fil-proofs must live in same process
    go-filecoin does long polling to learn when sector has been sealed
    Can't scale rust-fil-proofs SectorBuilder to multiple machines
    No easy way for a miner to add more storage to an already in-use rust-fil-proofs SectorBuilder
    All rust-fil-proofs SectorBuilder metadata always buffered into memory
    A zillion other things

    Plans for the Future

    Our short-term plans include:

    Integrate our half-baked PoSt into go-filecoin
    Design PoRep and PoSt configuration
    Allow go-filecoin to make tradeoffs between time/space
    Support multiple sector sizes
    Brian V. involved in convos with @porcuquine
    @porcuquine has design in head but needs spec proposal
    NOTE: more sector sizes means more Groth parameters to be generated

    posted in Blogs(博客)
  • 本指南概述了挖矿原理,以及如何在Filecoin网络挖矿。

    什么是采矿?

    在大多数区块链协议中,“矿工”是网络上的参与者,他们做必要的工作来保持区块链的有效性和安全性。为了提供这些服务,矿工得到本机加密货币的补偿。“矿工”一词的出现,是为了将确保区块链的工作与为扩大黄金供应而消耗资源的黄金矿商的工作进行比较。

    Filecoin网络将有多种类型的矿工:
    • 存储矿工
    • 检索矿工
    • 修复矿工
    在当前,我们主要关注存储矿工。存储矿工出售存储容量以换取filecoin。

    开始挖矿

    首先在Filecoin节点上运行Go-filecoin进程,默认情况下,Filecoin节点不会自动建立挖矿,您可以先创建一个矿工。

    1.建立一个矿工,承诺10个扇区(目前每个256 MIB)的储存和100 FIL作为抵押品,信息gas价格为0 FIL/单位,并限制为1000个gas上限。成功后,它返回新创建的矿工地址。
    注意:此步骤可能需要大约一分钟的时间处理,但如果时间过长,请再次检查。gas价格和gas上限。

    go-filecoin miner create 10 100 --price=0 --limit=1000 --peerid `go-filecoin id | jq -r '.ID'`   # this may take a minute
    

    一旦创建了矿工,我们就可以运行以下操作来开始挖掘:

    go-filecoin mining start
    

    恭喜,你们现在正在挖掘FIL代币!现在,您正在挖掘包含网络上的块。

    探索已经挖出来的块
    您可以使用Filecoin块资源管理器,或者通过命令行来探索。例如,让我们获得blockID区块链的第一个区块,我们称他为创世块。

    1.显示创世块并复制块ID(可能有多个):

    go-filecoin chain head # returns JSON including the <blockID> of the chain head
    

    2.然后观察他的目录

    go-filecoin show block <blockID>
    

    许多命令还支持--enc=json机器可读输出选项。

    如何创建存储申请
    在Filecoin存储市场上,客户提出一个文件存储的需求,矿工们接受了需求订单,并向他们提供了一些关于其可用存储空间的详细信息。发起存储申请需要以下几点:

    1. 您的矿工地址(在本教程前面创建)启动挖矿时创建)
    2. 矿工所有者地址(启动守护进程时自动创建)
    3. 你愿意出售这么多存储的价格(以FIL/字节/块为单位)
    4. 此要价有效的块数。
    5. 每一个天然气gas消耗单位所支付的价格,以挖掘这条信息(以FIL计价)
    6. 此消息要消耗的最大gas单位数。
      举例说明:
      1.获取矿工地址,并将其导出到一个变量中:
    export MINER_ADDR=`go-filecoin config mining.minerAddress | tr -d \"`
    

    2.获取矿工所有者地址,并将其导出到一个变量中:

    export MINER_OWNER_ADDR=`go-filecoin miner owner $MINER_ADDR`
    

    添加一个需求订单,其价格为0.000000001 FIL/字节/块,有效期为2880个区块,消息gas价格为0 FIL/单位,限制为1000个gas单位:

    go-filecoin miner set-price --from=$MINER_OWNER_ADDR --miner=$MINER_ADDR --price=0 --limit=1000 0.000000001 2880 # output: CID of the ask
    

    4.一旦您下了订单,等待您的请求的块被处理(大约30秒),然后检查client list-asks确认您的请求已被添加(请查找您的$miner_addr):

    go-filecoin client list-asks --enc=json | jq 
    

    接受交易并得到报酬
    客户向储量充足、价格低于其支付意愿的矿商提出储存协议。
    关于截至2018年12月目前执行情况的几个说明:
    • 目前,矿商以足够的资金接受客户向他们提出的所有交易。付款确认是自动完成的,所以你不需要采取任何行动来接受交易。
    • 交易付款和支付渠道被已经完成。因此,在整个交易期内,矿商都会定期通过付款渠道贷记资金。
    停止开采
    如果在任何时候想停止开采,都可以停止:

    go-filecoin mining stop
    

    还可以删除与Filecoin节点实例关联的所有数据:

    rm -rf ~/.filecoin
    
    posted in Blogs(博客)
  • 0_1550470167080_51f82963-8806-4c58-8d79-0181b3f013c8-image.png

    运行Filecoin节点指南

    1.如果您以前运行过Go-filecoin,请删除现有的Filecoin初始化数据:

    rm -rf ~/.filecoin
    

    初始化Go-filecoin。devnet-user会把你连接到我们的主网。

    go-filecoin init --devnet-user --genesisfile=http://user.kittyhawk.wtf:8020/genesis.car
    

    3.启动你的go- filecoin守护进程

    go-filecoin daemon	
    

    系统将会返回我的peer ID(<peerID>),peer ID是一个以QM开头的很长的字符串
    注意:如果您是一个开发人员,并且希望连接到构建网络而不是用户网络时,必须将节点配置为使用小领域扇区,并从devnet-nightly标签下构建。

    env FIL_USE_SMALL_SECTORS=true go-filecoin daemon
    

    4.检查是否连接

    go-filecoin swarm peers                  # lists addresses of peers to which you're connected
    

    这个段落的最后一部分peer地址就是你的peer ID,用这个测试你的peer是否连接

    go-filecoin ping <peerID>                # Pings the peer and displays round-trip latency.
    

    恭喜!您现在正在运行Filecoin节点并连接到网络。这是一个基本节点的解剖结构(再加上一个矿工,您将在下一步创建该节点)

    注意:这个进程将会在终端中无限期地运行(Ctrl + C退出)。运行其他go-filecoin命令,则需要打开第二个终端选项卡或窗口(Cmd + T在Mac上)。
    您的节点可能需要几分钟来同步和验证现有的块,在此期间,您的CPU将会高负荷运行。
    Filecoin节点的命名
    默认情况下,节点由长的字母数字节点ID引用。你可以给你的节点换一个昵称。

    昵称只能包含字母字符(没有数字、空格或其他特殊字符)。
    1.打开一个新的终端窗口并设置节点昵称(直接替换Pizzanode即可):

    go-filecoin config heartbeat.nickname "Pizzanode"
    

    2.新名称立即生效,无需重新启动。您可以使用以下方法检查配置的名称:

    go-filecoin config heartbeat.nickname
    

    开始节点工作流
    我们有一些可视化工具来了解Filecoin网络的运行状况:网络统计和块资源管理器。

    要查看网络统计数据上的节点,您需要选择使用流节点的日志。打开一个新的终端窗口并运行:

    go-filecoin config heartbeat.beatTarget "/dns4/stats-infra.kittyhawk.wtf/tcp/8080/ipfs/QmUWmZnpZb6xFryNDeNU7KcJ1Af5oHy7fB9npU67sseEjR"
    

    现在你可以去网络统计并观察您的节点与其他节点达的状态,不需要重新启动节点。

    从Filecoin网络中获取代币Fil

    在Filecoin节点正式运行之前,它们需要一些启动代币(FIL)。矿工们在最初向网络保证存储时使用FIL作为抵押币。客户需要在自己的账户中与矿工达成储存协议。

    在早期测试中,您可以从Filecoin网络获得模拟代币FIL。使用模拟FIL可以对市场动态进行初步测试,而不需要任何资金来实际交换。
    所有的FIL余额都储存在钱包里。当一个节点是新创建的,它将有一个Filecoin钱包,余额为0 FIL。

    1.如果想获得Fil,找到你的钱包地址:

    go-filecoin wallet addrs ls
    

    2.输出应该是一个长字母数字字符串。转到用户Devnet http://user.kittyhawk.wtf:9797并提交钱包地址。大约需要等待一分钟。
    或者你可以输入代码执行命令:

    export WALLET_ADDR=`go-filecoin wallet addrs ls`    # fetch your wallet address into a handy variable
    MESSAGE_CID=`curl -X POST -F "target=${WALLET_ADDR}" "http://user.kittyhawk.wtf:9797/tap" | cut -d" " -f4`
    

    网络很快将为您提供一个消息CID。但是如果您想要核实,可以运行以下命令等待其处理,并在完成后返回一个确认:

    go-filecoin message wait ${MESSAGE_CID}
    

    4.若要验证代币是否已转入在您的钱包中,请检查您的钱包余额:

    go-filecoin wallet balance ${WALLET_ADDR}
    

    恭喜,您现在已经连接到Filecoin,并且可以开始在Filecoin网络上挖掘或存储数据!

    posted in Blogs(博客)
  • 如果安装时候出现任何问题,请大家添加文章末尾微信交流

    Filecoin的实现,将世界上未使用的存储变成了一个算法市场。

    什么是filecoin?

    Filecoin是一个分散存储网络,它将世界上未使用的存储变成一个算法市场,为网络创造一个永久的、分散的未来。矿工通过提供数据存储或检索来获取本机协议代币(也称为“filecoin”)。客户向矿工支付存储或分发数据并检索数据的费用。

    系统要求

    Filecoin可以在大多数Linux和MacOS系统上构建和运行。还不支持Windows。

    代码库链接:

    mkdir -p ${GOPATH}/src/github.com/filecoin-project

    git clone git@github.com:filecoin-project/go-filecoin.git ${GOPATH}/src/github.com/filecoin-project/go-filecoin

    现在安装下面列出的工具和必选项。如果你有什么问题,见疑难解答与常见问题。

    安装Go和Rust

    Go-filecoin的构建过程需要:

    Go语言版本不低于v1.11.2。

    如果你是第一次安装Go语言,我们建议观看本教程,其中包括环境设置。

    RUST语言版本不低于v1.31.0和cargo工具

    pkg-config用于go-filecoin处理生成链接器标志。

    苹果系统可以通过brew来安装pkg-config

    由于我们使用的是cgo语言,无论您是使用预先构建的libfilecoin_ips(我们的cgo兼容的Rust-proof库)还是自己从源代码构建它,都需要一个C编译器来构建go-filecoin。如果你想用gcc(如:export CC=gcc),在构建go-filecoin时,需要使用V7.4.0或更高版本。

    您必须有libclang在您的链接搜索路径,以建立Rust-proof的来源。在大多数环境中,您可以通过使用您最喜欢的包管理器安装Clang来满足这一要求。

    安装必选项

    go-filecoin依赖于用Rust编写的一些示例代码,这些代码包含在Rus-proof作为子模块使用。你需要提前安装Rust和cargo。

    go-filecoin的运行还需要gx。若要安装gx、gmetalinter以及其他构建和测试必选项,请运行:

    cd ${GOPATH}/src/github.com/filecoin-project/go-filecoin

    go run ./build/*.go deps

    生成、运行测试和安装

    First, build the binary...

    go run ./build/*.go build

    Install go-filecoin to ${GOPATH}/bin (necessary for tests)

    go run ./build/*.go install

    Then, run the tests.

    go run ./build/*.go test

    Build and test can be combined!

    go run ./build/*.go best

    其他方便的构建命令包括:

    Check the code for style and correctness issues

    go run ./build/*.go lint

    Test with a coverage report

    go run ./build/*.go test -cover

    Test with Go's race-condition instrumentation and warnings (see https://blog.golang.org/race-detector)

    go run ./build/*.go test -race

    Deps, Lint, Build, Test (any args will be passed to test)

    go run ./build/*.go all

    注意:任何传递给go run ./build/*.go test(如:-cover)都将传递给go test.

    如果你有其他问题,请看疑难解答与常见问题。

    手动管理子模块(可选)

    如果你在编辑Rust-proof,您需要手动管理子模块。如果你不编辑Rust-proof你可以忽略这个,deps将自动为你完成。如果子模块是由其他人更新的(它将出现在git status)你需要再跑一遍deps.

    若要初始化子模块,请执行以下操作:

    cd ${GOPATH}/src/github.com/filecoin-project/go-filecoin

    git submodule update --init

    当头部的Rust-proof master分支更改,您可能要更新go-filecoin,请执行以下操作:

    git submodule update --remote

    注意,更新Rust-proof这样的子模块将需要提交到go-filecoin(更改子模块哈希)。

    使用

    那个开始Wiki页面包含一个简单的序列,可以让您的Filecoin节点启动并运行,并连接到一个devnet。

    那个命令页面包含有关特定命令和环境变量的更多详细信息,以及设置矿工和进行交易的脚本。

    若要查看命令的完整列表,请运行go-filecoin --help.

    高级选项

    使用IPTB运行多个节点

    那个localfilecoinIPTB插件提供一个自动化层,使运行多个文件中节点变得容易。例如,它使您能够轻松地在计算机上本地启动10个挖掘节点。

    贡献者

    感谢支持我们项目的贡献者,没有你们就没有这个项目。

    社区

    以下是获得帮助并与Filecoin社区的几个地方:

    文件Wiki-关于教程、故障排除和常见问题

    #fil-dev onFilecoin项目板现场帮助和一些开发讨论

    Filecoin社区论坛-用于讨论设计决策、用例、实现建议和更长时间的对话。

    GitHub问题-目前,只用于报告bug,查看或促进正在进行的开发。欢迎!请看我们的贡献指南.

    开发人员网络

    目前有3个开发人员网络(又名开发网)可用于开发和测试。这些都是受频繁停机和中断更改。在wiki中描述这些开发人员网络,并说明如何将您的节点连接到它们。

    (识别二维码进入Filecoin社群)

    原文地址:https://github.com/filecoin-project/go-filecoin#install-from-source

    posted in Blogs(博客)
  • 0_1550132873759_408b2bfb-5fbd-46eb-880e-a94ed5668fd8-image.png


    星际文件系统IPFS)是一种新的超媒体分发协议,通过内容和身份进行寻址。IPFS支持创建完全分布式应用程序,它的目的是使网络更快、更安全、更开放。

    由于这是一个相当大的范围,我们会跟进整个生态系统的开发,并在每周进行发布。


    最新资讯

    --


    认识布莱恩·霍夫曼

    --
    IPFS每周电话会议的下一位嘉宾,是布莱恩·霍夫曼(Brian Hoffman)。Brian在2014年从多伦多哈克顿奖的DarkMarket中获得了开源代码,然后开始了OpenBazaar,并从著名的风险投资公司Union Square Ventures和Andreessen Horowitz募集了100万美元,创建了OB1。

    将日历标记为"星期一下午5点"UTC,可以参与下周的会议。

    会议链接:
    https://github.com/ipfs/team-mgmt/issues/866


    相关文章

    --
    以下是最近一周发表,与IPFS有关的文章

    • 《IPFS和分布式文件存储》,发表于2019年2月11日

    • 《IPFS网关问题》,2019年2月7日 发表于Pinata

    • 《为什么选择libp2p?》,2019年2月6日 发表于Parity Technologies

    • 《纺织品更新 2019年1月》,发表于2019年2月6日

    • 《什么是以太坊的Infura?可扩展访问以太坊和IPFS》,发表于2019年2月6日

    • 《开发更新》,2019年2月,发表于Peergos

    • 《什么是IPFS:概述和用例》,发表于2018年12月20日


    社区中的提问🤔

    --
    以下是人们在IPFS生态系统中讨论的一些问题。


    IPFS工具与项目

    --
    Awesome IPFS 是一个用于社区维护和更新的项目、工具清单,任何与IPFS相关的东西都能够在其中找到。如果想要查找相关信息,可以访问GitHub上的Awesome IPFS,然后将要查到的内容添加到搜索列表中。

    • Prattle Network 是一个社交网络,它将内容完全存储在用户设备上,无法进行审查。
      网络地址https://prattle.tk/discover

    • 如果你仍想使用oasis.direct,可以通过DAppNode进行操作!已将它部署到http://oasis.dappnode.eth(使用以太坊+ IPFS),它将永远存在!欢迎来到一个去中心化的世界,没有人可以关闭一个伟大的服务了。😀


    社区活动

    --
    IPFS在discuss.ipfs.io上有一个论坛,注册之后可以看到IPFS在上面发布的公告,同时能够了解到社区即将举行的交流活动。

    --
    ☺️感谢阅读!


    识别二维码进入IPFS社群

    0_1550133344197_f58bb400-4f41-482c-a5f6-7b70a7a55331-image.png

    posted in Blogs(博客)
  • 谢大炮:其实,IPFS目前还是比较火热的,大家在各个群里或多或少都能看到IPFS相关的信息。可能听别人说起来只能知道IPFS是很好的技术,颠覆了一些ZP类的模式。我今天主要跟大家介绍一下IPFS是什么,它到底好在哪里,未来会如何。

    与传统的HTTP(超文本传输协议)相比,IPFS获取内容的方式不一样,并且能防止数据重复存储和被篡改,所以这就是为什么大家说IPFS是一项新技术。IPFS与传统HTTP的请求方式不一样,在IPFS网络里面,所有文件根据内容会生成唯一的哈希值。大家可以理解为每个文件根据内容会生成一个指纹,这个指纹是唯一的,跟身份证号码一样。如果文件内容经过修改,哈希值会随之改变。到时候,只要拿着哈希值就能获取相应的唯一文件了。所以说,IPFS相对传统的HTTP技术区别在哪里?就是它能保证文件的唯一性。传统的,我们能在电脑上或服务器上放很多相同的文件,我们可以拷贝一百份甚至上万份相同的文件存在服务器上或电脑上,但IPFS保证文件的唯一性,相同内容的文件生成的哈希值是一样的,就能保证文件不会被重复存储。如果将存在IPFS网络里的文件进行修改,哈希值立即会随之改变,这样就能做到防止文件内容被篡改。举例来说,如果有两份一模一样PDF版本的合同存到IPFS网络里,其中一份进行了修改,哈希值就变了,大家马上就能发现合同被修改了。

    我们平时说的IPFS挖矿,挖的币是Filecoin而不是IPFS。那么我们想想IPFS到底是什么?IPFS全称是星际文件系统(InterPlanetary File System),本质是一种新的网络文件获取方式,获取方式是按内容寻址。大家可能第一时间还听不懂什么叫按内容寻址。假设你现在登录一个网页,比如说打开百度,这就是一个普通的HTTP请求,是比较正常的一个socket请求方式,就是我们先要去百度的服务器看他的主页,服务器会进行应答,把百度的主页的页面文件找到,再反馈给我们。相当于用URL(域名)访问百度(www.baidu.com)一样,请求百度服务器看他们的主页,百度就会给你应答,把文件上传到浏览器里,你就能看到他们的页面了。

    IPFS的想象空间在哪呢?我们大家可以一起探讨。现在很多区块链技术想要解决分布式存储技术的话,会首先考虑把内容存储到IPFS网络里。我认为IPFS网络将来会成为所有主流的区块链存储的解决方案,或者说分布式文件系统的解决方案。

    从IPFS的想象空间出发,我们引申出了Filecoin。就是为什么说IPFS从2014年到现在,项目代码开源了,网络搭建起来也已经有三四年的时间了,但还没有广泛投入应用呢?其本身有一点原因是节点还不够多,所以项目方想用代币去做激励,激励大家都去做IPFS的存储节点。这样,节点越多,IPFS网络就越强大,整个存储成本就会下降。等IPFS的网络效应提升之后,就能把所有的存储需求覆盖到。所以未来,我们主张从区块链项目本身,或者说公有链的需求出发,IPFS能够成为分布式文件系统的解决方案。

    第二点的想象空间是,IPFS的存储网络达到一定体量以后,是否会对现有的云计算厂商产生一定的冲击。IPFS底层是P2P网络,特性是节点越多,资源越多,体验速度和下载速度越快。举例来说,原本只有张三电脑上一部电影的资源,李四从张三电脑上下载了,王五也去张三电脑上下载了,这样就有3个节点,相比原来的1个节点,下载肯定是快的。所以,希望通过代币去激励大家成为节点,这样节点越多,速度就越快。如果达到一定节点,我不知道对现有的云计算厂商是否会有冲击,但是如果整体存储价格下降,存储体验提升,对现有的二级存储市场会带来一定的冲击。什么叫做二级存储市场?给大家简单介绍一下概念。存储市场分一级存储市场和二级存储市场。一级存储市场包括我们平时看的网页、发的短视频、更新的动态,这些数据都是热数据,存储在一级存储市场范围内。二级存储市场是哪些呢?比如马路上的交警大队的监控视频,医疗大数据等这些平时不太需要翻阅的数据,都是冷数据,存储在二级存储市场范围内,特点是对读取的要求不多,但是存储时间需要长达一至两年,需要付出巨大的存储成本。

    第三点想象空间,我认为IPFS整个网络很可能成为人类信息永久的数据库。人类的基因等个人信息可以永久的保存在IPFS网络上。因为它的存储方式是把一个文件打散了,各个节点随机存储。一是避免了受外界因素导致数据丢失,二是个人的数据不会受到外界破译,隐私能得到保障。因此,个人的信息可以永久的存储在IPFS网络上,可以永久的保存下来。

    第四点,IPFS的存储相对于一些公有链项目是很容易落地的。因为区块链智能合约爆发必须要有存储基础,如果没有存储的话,智能合约是很难爆发的。现在很多公有链说要加快交易速度,但是做一个区块链游戏,页面地方存在哪里呢?存在中心化服务器上吗?这还能算去中心化的应用吗?当然不算,肯定必须存储在一个分布式存储技术上。所以我认为,未来智能合约的爆发必须要有夯实的分布式存储基础作为铺垫,这时候才能迎来智能合约的爆发。我觉得这是最重要的地方,存储是所有公有链必备的,也是风口之一。

    我觉得大家对这些分布式存储方式的技术都可以保持关注,就看谁能最先落地,或者说主网上线,能快速把存储市场占有,就是最牛逼的公链了。

    【Bee问·三】烧鸡:IPFS是区块链行业新技术风口,未来或许可以替代HTTP,带来Web新一波的变革。这里请大炮为我们讲讲IPFS的商业应用前景。

    谢大炮:关于IPFS的商业场景,我们可以看看现有的哪些区块链项目,已经选用IPFS做商业场景了。首先我们看OpenBazzer这个项目,中文可以叫做开放集市,A轮的时候,比特大陆对它进行了投资。这个项目是一个去中心化的电商,大家都可以在这个上面进行买卖,利用比特币或者别的数字货币进行交易。但是每个卖家都需要有一个店铺页面,这个店铺页面需要存储在哪里呢?原来OpenBazzer的第一版需要在电脑上24小时跑动他们的程序,一旦下线,店铺也下线了,买家就看不到这个店铺了。第二版本他们就采用了IPFS技术,把卖家的页面存储在IPFS存储网络上,这样就不需要额外的24小时跑动程序。只要存在IPFS网络上,店面就可以24小时开张,大家都可以看到你店铺的访问页面。感兴趣的话,大家可以下载一下OpenBazzer,可以看到上面的搜索框,“OB://“后面就是哈希值,这也就是IPFS应用的雏形。这个就是去中心化的电商应用,就是目前IPFS比较成熟的商业应用场景。

    除此之外,我们看看还有哪些应用场景。之前我看到有个食物溯源项目,对三文鱼进行食物溯源,每条三文鱼通过流水线的时候,会有光学仪器对三文鱼进行生物特征的采集,比如蛋白质、脂肪含量如何,这时候就会产生大量的数据采集,这些数据就可以存储在IPFS上,每个生物的数据就有对应的哈希值。生物的样本数据就在区块链上,拿到哈希值就可以看到具体的数据了。这就是IPFS在食物溯源上的商业场景应用。

    再往后看看其他应用。Filecoin出来之后,它里面有个机制是共享你的内容供人下载可以获得收益,鼓励大家到IPFS上存储你的数据,并公开给别人下载,比如你有个很棒的美剧《权力的游戏》,你开放给大家下载,下载的人越多你的收益就越多,这样就可能会出现美剧的盗版影视的网站,这也是IPFS(Filecoin)的应用场景之一,也就是资源导航网站。

    还有像区块链游戏,做游戏的话,里面会有很多游戏图片、音效、动画资源,这些都需要存储空间,都可以存储在IPFS存储网络上,所以说区块链游戏也是IPFS的应用场景之一。其实,应用场景真的太多太多了,像之前说的二级存储市场的冷数据都是可以存储在IPFS存储网络上的。

    怎么基于IPFS和Filecoin去做应用呢?Filecoin白皮书里也说了,它跟以太坊(Eth)一样是一个公有链,不是代币。以太坊能发行智能合约,它也可以,而且它解决了以太坊目前还没有解决的存储问题。大家都可以基于Filecoin公有链去发行自己的DApp,发行自己的ICO,都是可以的。这是从怎么做应用层面去考虑的,那么从IPFS挖矿这个层面看,它的商业场景在哪里呢?从最底层的,就是矿工来看吧,Filecoin有三种收益。第一种是区块奖励收益,跟传统的比特币挖矿机制不一样,比特币挖矿更多追求的是使用计算资源碰撞随机数获得区块奖励,而Filecoin是从大家在自己贡献的存储空间时,有多少空间是能被有效存储的期望出发的。如果你有100T的空间,你有50T被人存储数据了,那么你就有50%的几率获得区块奖励,如果你的存储空间100%被人存储了,那么你的优势就显而易见了。在整个网络里面,能够被有效存储的占比越大就越有可能获得区块奖励,就是爆块,就跟比特币里面的爆块奖励一样。这跟POW还是不一样的,这是第一种收益。Filecoin的另外两种收益跟传统的爆块奖励不太一样,更像一种交易市场行为。一种叫存储市场。就是说,你成为一个存储矿工,你贡献的存储空间被人下载存储数据,别人需要付费给你存储数据,你就能获得出租空间获取的代币。还有一种就是假如你手上有一些优质的资源,存储在Filecoin里面,公开给大家使用,也能获得收益。

    综合这三种,大家可以知道去IPFS(Filecoin)挖矿,作为矿工能拿到的收益。而作为矿工就会对场地、资源产生需求,这也产生了另外的收益方式。一种是矿机托管的业务,比如传统的IDC机房有电源保证、机柜出租,假如有好的带宽资源和地理位置,这类托管服务也能赚取一些收益。另一种是,有些人有优势的硬盘资源,硬盘的价格具有竞争力,进行硬盘倒卖也能获取收益。所以说,不管是倒卖带宽、机房、硬盘资源,或者是做一个纯粹的矿工,或者是基于IPFS(Filecoin) 做上层应用,大家都是能从中分一杯羹的,商业应用场景还是很大的。

    【Bee问·四】烧鸡:我们知道,IPFS挖出来的是Filecoin。技术结构上,IPFS是协议层,Filecoin是共识层。Filecoin共识机制有别于POW,POS,DPOS,是区块链共识机制的又一次革新。请为我们讲讲这新的共识机制

    谢大炮:Filecoin的共识机制是一种新颖的共识机制。传统的共识机制,比如说POW,是一个比较耗费资源的形式,因为要不断碰撞,耗费芯片资源去计算,所以说会耗费大量的计算资源和能源资源。POS是一个权益证明,就是说谁手上的币多能拿到的分红就越多,这就存在一种资产垄断的行为。EOS是POS的一个变种,导出21个超级节点,每21个超级节点都有固定的分红权,但是需要大家去投票,根据票数竞选为超级节点。

    Filecoin的共识机制,是更基于一个存储证明的共识机制,它依赖于在存储网络里能被有效存储的能力是多少,如果在Filecoin存储网络里被有效存储的空间越多,就能优先有出块、爆块的奖励,这时候你的爆块能力就越强。它这种共识机制就更加有经济效应,并且能避免共识机制像传统机制一样产生垄断行为。Filecoin的共识机制如果一旦实现的话,我觉得它是一个相当具有创新性和革命性的共识机制。它是有别于POW这种需要消耗资源型的共识机制。它是能让存储是有效被利用的,当然不是说你有多大存储空间就有多大的挖矿能力,而是根据你在网络里能被有效存储的功率,

    功率=有效存储的空间/贡献的空间

    存储功率越大,就有优先出块的能力,最重要的是看你在网络里有效存储能力是多少。这种方式的结果是网络里存储空间都是被有效存储的,避免空间上的浪费,这就是这个共识机制创新的地方。

    【Bee问·五】烧鸡:IPFS激励算法一直难产,目前上主网还没有确切时间。目前IPFS技术团队遇到了什么技术难题?未来落地后其潜在风险有哪些?

    谢大炮:IPFS和Filecoin的主网上线时间还不确定,现在网上有各种流言版本,但还不确定具体上线时间。

    我跟他们交流过程中了解到目前最大的问题是时空证明机制(Proof of Space time),这块还存在性能上的问题,因为这里面需要用到零知识证明,就表示会消耗计算资源,需要做加解密,消耗大量的计算资源去做验证证明,在性能方面度计算资源会有一定的损耗,他们现在还在攻克。如果时空证明这块进行性能优化,那就能解决很多问题了。

    很多留言和传闻上线的时间都是不可信的。IPFS协议的代码是2014年就已经出来了,现在大家主要是在猜测Filecoin这个项目什么时候上线。

    潜在风险的话,一是万一没人往上存怎么办;二是安全加密和隐私性够不够;三是考虑到激励机制经济体系,代码有没有bug;还有一个是从监管层面出发,监管风险也是一个问题。

    Filecoin还是有很多技术难点的,要解决怎么去避免别人一些恶意攻击的行为的问题。比如我要存一个数据,0资费去恶意攻击;或者在节点上进行有效存储数据,存了很多马上删掉,骗取我在网络上的有效存储情况;又或者存了很多副本,真正的数据只有一份,这些都是不同的攻击方式,整个区域防攻击方式都是技术难题。还有的就是怎么去解决性能上的问题。

    烧鸡:OKcoin的徐明星说,比特币不是币,IPFS是未来的公链,也公开肯定了IPFS。

    【Bee问·六】烧鸡:为抓住早期红利,IPFS国内社区发展非常迅速。很多IPFS社区生产自家品牌矿机,飞尔科也有自己品牌矿机。市面的各品牌IPFS矿机区别大吗?飞尔科的IPFS矿机优势是什么?

    谢大炮:目前市面上IPFS矿机很多,鱼龙混杂。我在这里给大家支个招,如何辨别好坏。

    1. 是不是同时支持SATA和SAS?

    Filecoin挖矿对硬盘还是有要求的,为什么?Filecoin对节点要求必须要稳定,就是说你必须保持在线,电要稳定,硬盘故障率要低。因为硬盘要24小时全天运行,有些质量差一点的硬盘没用多久就故障了。挑盘还是很重要,SAS盘和SATA区别是,SAS盘寿命长,故障率低,但是费用较高。SATA也分很多种,如果你要在希捷和西部数据做选择,我选择西部数据。因为西数的故障率要比希捷低。西部数据又分很多型号的盘,蓝盘最垃圾。监控盘质量也不行。你肯定想用来存监控视频的硬盘,质量怎么会差?因为存监控视频是线性存储,磁盘只需一圈一圈地写盘。不像Filecoin存数据会跳块写数据。监控盘厂家一般用成品不太好的盘,转速慢,这种不适合挖Filecoin。所以到底那种盘好呢?绿盘和金盘(HGST日立SAS盘),西部数据绿盘和HGST日立SAS氦气盘。目前市面上很多机器还不大支持SAS盘。

    1. 电源

    为什么机器电源很重要?因为电源信号不稳定,会导致电压不稳,影响磁盘磁头,影响硬盘寿命。可能寿命缩短,发生故障,被Filecoin惩罚代币。

    1. 有没有热拔插

    2. 有没有I/O优化

    3. 磁盘控制卡能不能把硬盘带宽跑满

    我们飞尔科机器有点是①自主研发设计定制化线路板;②定制化ASIC芯片,优化I/O处理,把硬盘带宽跑满,为CPU减负;③应用SDS分层存储。

    1. 优质电源

    【Bee问·七】烧鸡:IPFS某社区曾发表过观点:“我们的立足点是IPFS而不是Filecoin。目前大部分矿机厂商和相应的社区所说的IPFS其实就是Filecoin,但是Filecoin其实只是一个区块链项目,IPFS才是那个可以改变世界的魔盒。”你怎么理解这句话,IPFS和Filecoin的关系是不是可以堪称是区块链和Token的关系?他们可以分开存在吗?

    谢大炮: 最开始我分享的时候也讲到这点,IPFS和Filecoin是两个分离的项目。IPFS是个

    协议层,是比较基础的底层技术,Filecoin是Token,是激励的代币,激励大家成为IPFS存储节点。IPFS大家都可以去用,是开源项目,代码可以自行拷贝过去使用。它有一个私有的IPFS存储网络。其实IPFS是可以独立存在的,很多项目方,可以把它的代码拷贝过来自己运行,做出一个公共场所,因为它是开源的嘛。

    为什么说Filecoin对IPFS有很大的促进作用呢?大家可以看到,IPFS从2014年开发到现在,并没有被广泛的应用,一是因为节点数不多,现在很多想借IPFS做上层应用的人,自愿成为IPFS的存储节点,IPFS目前主要依赖志愿者去支撑着,但是志愿者缺利润嘛,为什么要免费提供存储空间呢?

    Filecoin的项目对IPFS是有很大的促进作用的,可以激励矿工,因为矿工缺利润的嘛,大家争先恐后的成为存储节点。如果没有Filecoin做激励的话,IPFS往后的路不一定会特别顺利,因为它依赖节点的数量。我觉得Filecoin落地的话,会对IPFS网络有很大的帮助,Filecoin的落地是很值得大家期待的。

    再举个例子,就像家里有很多空房间,你说行善把空间给流浪汉去住,但是大家都是缺利润的,为什么不把空间租给游客赚取收益呢?整个区块链世界都是冲着利益去走的,大家都获得利益的话,这个网络才能壮大下去,单方面志愿者去贡献存储空间的话,IPFS网络不一定能够继续壮大起来。我对Filecoin还是寄予厚望的。

    【Bee问·八】烧鸡:我们知道主网还未上线,IPFS矿机还只是期货。有人说,卖的是信念,赚的是硬件的销售。当下的IPFS挖矿是一个伪命题嘛?

    谢大炮:IPFS的挖矿,参与门槛跟之前挖比特一样,普通电脑都是可以去挖矿的。很多人会想挖矿门槛这么低,矿机是有必要的吗?这么考虑,如果用普通工作的笔记本电脑的话——举个例子吧,当初迅雷做了一个玩客云,在玩客云之前还做了一个叫赚钱跑的东西,是一个客户端,下载到电脑上,共享你的带宽资源,就能赚取收益,但是后来为什么没有火起来呢?因为很多人工作的时候习惯把电脑关了,软件下线了。随意性的上线下线,对整个网络会造成不确定性。Filecoin里面有个机制,会定期检查矿工是否在线。第一次检查不在线,就会多次来检查在线的情况,如果一直不在线会从代币里扣除币,可能币还没挖到反而被扣了很多。挖矿和和存储之前都需要先押一部分币。这就要求电脑必须要24小时在线。普通的笔记本电脑不像服务器一样是为了24小时在线而设计的。因此,专业性的机器就应运而生了,它能保证24小时在线,保证硬盘故障率低,并能处理好I/O的优化。

    能应对各种特殊情况设计的机器就是矿机。IPFS挖矿的话,为什么现在很多人都说,比如徐明星还有很多大佬对IPFS表示高期望呢,因为已见到的比特币挖矿就是门槛低,收益高。谁的电费低,谁就能拿到更多的利益。IPFS(Filecoin)是一个新的挖矿机制,是一个全新的赛道,具有一定的不确定性,大家都希望能在里面找到一个新天地,跑出一个新赛道。

    Filecoin挖矿大家可以多去学习、了解一下,保持关注。买不买矿机是要看自己的选择,看个人的投资意向,看是过早介入,还是测试网上了以后依据整个数据跑出来之后看效果。总的来说,大家作为投资者,要多方面的去考虑自己的投资情况。

    现阶段IPFS(Filecoin)挖矿情况是这样的,测试网还没上,现在还是挖不了矿的,买矿也是买期货。这里也是提醒一下大家风险点,就是可能前期需要资金的投入。但是提前有个认知,再做深入了解,随着认知再看需要做什么准备,越早做好准备就能比别人抢先一步。不过我还是建议大家保守的循序渐进的做好准备,不要一股脑热的就去做一些投资。

    【Bee问·九】烧鸡:区块链技术目前正处在早期阶段,未来前景已成共识,任何人都有机会,all in区块链成为某些人进场的口号。除了币圈顶层的资本投资,我们更在意草根的崛起。币圈底层人群主要参与的方式有:撸羊毛、炒币、挖矿、运营社区套现流量等,在你看来,基层的群众应该怎么参与到区块链行业中,你有什么建议?

    谢大炮:怎么切入区块链呢?我们来看整个行业的分层,最底层的就是挖矿形式。挖矿里面就分成普通矿工,就是自己买机器、找场地、找电、找资源,自己挖矿,挖到了到二级市场套现,这就是普通的矿工。还有一些是自己不需要挖矿,只提供场地给矿工,做矿场托管,还有人做比矿场更底层,做卖电方,把便宜的电卖给矿场托管的人,让矿场托管的人收取挖矿的人费用。还有有些人连矿机也不用买了,算力合约也行吧。

    从挖矿的切入点出发,制造矿机也可以,矿机生产商也是一个切入点,就是门槛比较高。或者说给矿机做配件,比如说提供电源、做电路板啊,但是门槛比较高,这里面最简单的是买一些算力合约吧,这也是最轻松方便的一个方式。

    当然有些人可能也需要买一些矿机,托管给矿场去挖币获取收益。我思考了一下最轻松介入的就是买几台机器,找别人托管、维护。或者我机器也不想买了,就只买算力合约,这也是最简单最轻松介入的方式。

    挖币的上一层的话就是做项目方,发行ICO。但是普通用户发行项目的话,门槛还是挺高的,因为这里面涉及到市值管理、社群营销、跟公关媒体打交道、配备人员等。普通用户有能力的话,可以参与到一些项目方,一起创业或者工作,也可以学习到区块链行业的东西,对自身的投资也有一定的帮助。想深入了解区块链行业,加入区块链创业公司,对普通人来说学习和帮助还是很大的。

    针对IPFS(Filecoin)的方向,这是一个很大的生态,Filecoin的挖矿只是一部分,不要把眼光局限在这一个地方。比如你要做视频网站,你手上有很多媒体资源,可以成为内容矿工,把资源放在Filecoin网络上进行变现;或者说你是一个艺术家,有吸引人的艺术作品,也可以放在Filecoin网络上公开供人付费下载;还有就是基于Filecoin做应用,比如做导航网站,把内容资源搜集好,罗列在一起,让大家去点去看,也是一个很好的方向。IPFS(Filecoin)网络的发展趋势就跟2000年的时候互联网泡沫一样,相当于把互联网的发展历史再走一遍。可以基于IPFS(Filecoin)重新做一个类似雅虎、新浪门户、腾讯新闻的东西,或者基于IPFS做一个浏览器,通过浏览器可以浏览IPFS上所有的内容。

    如果你是程序开发人员的话,可以基于IPFS(Filecoin)做很多应用;如果你是普通用户的话,手头有优质资源的话可以放在上面售卖,让人下载付费。

    Filecoin是公有链,可以基于这个平台发布ICO,也可以成立一个基金专门投资基于Filecoin发行的ICO的项目,这也是一个参与方式。

    如果说你是一个有能力的程序员,也可以参与到IPFS&Filecoin的开发中来,这也是一个参与的方式。

    以上说的就是几个维度的参与方式,一是挖矿,二是基于IPFS(Filecoin)做一些生态应用,三是做IPFS的内容生态应用,做内容生态上的参与者,四是基于Filecoin做投资方面的参与者。

    有人问IPFS是不是互联网3.0,我觉得是的。其实它是把互联网基于区块链重新走一遍,所以它的爆发前景、参与方式实在太多了,所以需要大家一起把蛋糕做大,把IPFS技术进行推广,让更多人能参与进来,才能使整个技术蓬勃发展,大家都能借着IPFS(Filecoin)的红利找到自身的定位,我觉得根据自身的因素都能切人参与进去。

    讲到社区参与的话,如果真想简单参与的话,也可以加入我们的IPFS(Filecoin)社区,一起探讨、建设整个生态。我们目前也在各个地区都在找城市合伙人,在各个城市去发展IPFS社区,我们对社区带头人会提供一是技术上的帮助,二是媒体上的推广,还有一些利益的互惠。感兴趣成为城市合伙人的小伙伴,可以加我好友私信我,大家一起把IPFS的生态做大,未来一起分一杯羹。诚邀各位对IPFS感兴趣的小伙伴,在各个城市作为IPFS的节点,在当地运营自己的社区,关于这些节点的负责人,我们都会有很好的优惠政策。

    烧鸡:深圳有社区吗?深圳我带头去!

    谢大炮:目前深圳还没有发展,如果深圳的小伙伴有意向的话可以找我,大家一起发展深圳的IPFS社区。

    【Bee问·十】烧鸡:这一题是趣味单项选择题。请从选项中选一个您更中意的答案,并说说观点。

    EOS超级节点竞争非常激烈,各超级节点使出浑身解数争取选票。如果超级节点向你邀票,你会更倾向选择哪一个类型?

    A. 币圈大佬参选节点 B.交易所参选节点 C.财经媒体参选节点 D.矿池参选节点

    这个问题,很多朋友给了自己的答案,这是Bee问的互动问、趣味问。

    谢大炮:关于整个超级节点的话,我更倾向于矿池参选节点吧。我是这样去理解的,想成为EOS的超级节点的话,需要具备的,一是社区的影响力,币圈的影响力很重要,决定大家投票要投给你。二是超级节点对服务器的运维能力是有一定的要求的,首先超级节点硬件要达到一定的标准,另外,如果21个超级节点被黑客进行DDOS攻击,需要进行黑客攻防,所以说要有一定的运维能力。矿池在防止黑客DDOS攻击上有一定的优势,能保证超级节点的稳定性,所以我选择D矿池。

    【Bee问·特别提问嘉宾】烧鸡:感谢大炮的精彩分享,下面我们到了提问环节。首先是嘉宾传继问,上期嘉宾向本期嘉宾提问。Krash创始人祝雪娇:与比特币时代的挖矿相比,现在有种说法是“行为即挖矿”,而以此产生的挖矿产品也非常多,游戏挖矿、内存挖矿……甚至之前有个视频段子,恶搞“shit”币。对此你怎么看?IPFS的经济效应是什么?这是上周五嘉宾的传继问。

    谢大炮:的确现在有很多以挖矿的名义做了很多没有实际意义的挖矿行文。比如说之前美国有个项目是大家一起走路做计步数量,通过计步数量进行奖励代币。我觉得挖矿的经济体系设计一定要从实际出发,真正解决落地的问题。那么,IPFS(Filecoin)这个挖矿的机制到底解决了什么实际的问题呢?我们可以看一下传统的存储有哪些不足的地方。

    第一点我认为,IPFS(Filecoin)的挖矿行为解决的经济意义一是在于传统的数据中心,开启的打法是对存储需求是尽可能广的铺设数据中心,尽可能把所有需求给覆盖上。而有些存储没有真正的被存上,带宽资源闲置未被利用。有些地方存储需求并不多,还在铺设数据中心。偶尔会有缓存的东西缓存到整个数据中心里面,数据活跃度并不高,这就会导致资源的浪费。而IPFS(Filecoin)的挖矿经济体系的设计,迫使矿工跟着存储需求走的。哪里存储数据多,矿工就要往哪里布,因为需求多的地方能挖到的币就越多,这样就能对存储需求进行精准覆盖。

    第二点是对传统的二级存储市场的经济意义。就像我刚才讲到的很多二级存储市场存储的东西,不需要经常性的读取,那这些数据为什么不存储在分布式存储这种存储成本更低的地方呢?所以IPFS(Filecoin)挖矿带来的意义是可以解决现有存储市场存储成本高的问题,但是这得等IPFS(Filecoin)网络足够大了之后,能够把成本压下来,这样才有竞争力。

    还有一点是,就是我刚说的现在很多区块链项目的公有链是没有能力是研发分布式存储技术的,所以,IPFS(Filecoin)现在成为这些区块链项目的解决方案。存储矿工出租自己的存储空间,可以存这些公有链需要的存储数据。所以IPFS(Filecoin)的存储行为是有一定的经济意义的,是有可行性的,是可以实际落地的。

    去看一下Filecoin整个代币激励体系的设计,我认为是有一定的经济意义的,这个代币是能够激励IPFS存储节点足够多,因为P2P网络节点越多,网络体验越好,并能真正的做到整体的存储网络无上限,可以不断地扩容。

    posted in Blogs(博客)
  • 0_1548901133955_ebf516d1-6e6a-4f70-828d-b4f0d632b245-image.png


    早在去年10月,IPFS、IPLD和libp2p项目的Go 核心开发团队,在伦敦一起度过了一个黑客周。整个黑客周是令人愉快的,因为这是许多核心贡献者第一次有机会亲自见面。

    --
    我们一起探讨了项目的目标,以及用户需求和谁在推动他们。这是一次精彩的聚会,接下来将与你分享这次聚会的最终结果和录音。


    这次聚会的形式非常有趣,几乎可以进入Async Team Management书籍(作为为分布式团队创建同步时间的一种方式)。对所发生的事情的简单概述:

    --
    星期一:协作明确项目的首要任务。

    我们对项目进行了明确的定义,并与IPFS项目工作组合作,根据IPFS路线图确定了它们的优先级。

    --
    星期二:大量的黑客攻击模拟讨论。让黑客自由!

    --
    星期三:目标和关键结果(OKR)检查

    我们从“自上而下”(少数到多数)OKR方法进入“分而治之”。确定了3个主要关注领域(数据交换、数据存储和供应商),并将go-ipfs团队分为3个小组,分别工作60分钟进行审查,并对我们会面之前定义的初始OKR进行了重大改进。

    --
    星期四:我们有一个“给我看看你有什么”的节目(链接如下),并举办了IPFS伦敦聚会。

    有关聚会的更多细节会很快发布在博客上面。

    节目视频https://www.youtube.com/watch?v=LEUGPEVRDmU

    聚会详情https://www.meetup.com/london-ipfs/

    --
    星期五:对OKR的最终检查。

    作为对我们一周成果的奖励,我们组织去了大英博物馆,看了罗塞塔石碑和许多其他有趣的东西。

    --
    最后,我们进行了一次回顾,并确定了“下一次黑客周的时间!😄”


    0_1548901168037_a54475ab-aebb-4598-ba60-3875229503c0-image.png

    --
    成果呈现🗿

    --
    这是IPFS社区最喜欢的,汇报一周内所取得的重大成果!我们把整个汇报的过程录制成了视频,以下是此次会谈的名单(可以通过链接了解详细内容):


    IPFS伦敦聚会-展示&说明l

    --
    如果没有IPFS伦敦聚会,这种乐趣是不完整的。在伦敦聚会上,Juan Benet(胡安-贝内特)本人进行了精彩的演讲,以及让人惊喜的展示。通过展示让我们看到一个,建立在对等基础之上的,基于p2p的国际象棋游戏!

    --
    替代文字

    --
    一篇记录此次聚会的文章很快就会发表。同时,你可以通过以下链接查看此次活动的照片,并加入IPFS伦敦聚会。

    活动详情:
    https://www.meetup.com/london-ipfs/photos/29361158/

    --
    感谢@858Heather、@jamiejn、@angiemaguire、@olizilla和@alanshaw帮助我们举办此次 “黑客周+IPFS伦敦聚会” 活动!

    通过大家的共同努力,此次聚会取得了巨大的成功!感谢所有加入我们的人,同时为这次没能来的人感到抱歉。希望在下一个Hack Week上见到你!

    --
    祝你一切顺利

    --
    大卫-迪亚斯

    --
    文章发表于IPFS官方博客,经Filecoin中国社区翻译整理。


    识别二维码进入IPFS社群

    0_1548901856774_da2f905d-5200-4092-a244-0d8aa70432ea-image.png

    posted in Blogs(博客)
  • 0_1548658062761_8074e2b2-d2fa-48c3-bd69-2eb9fad7b40c-image.png


    星际文件系统IPFS)是一种新的超媒体分发协议,通过内容和身份进行寻址。IPFS支持创建完全分布式应用程序,它的目的是使网络更快、更安全、更开放。

    由于这是一个相当大的范围,我们会跟进整个生态系统的开发,并在每周进行发布。


    最新资讯

    --


    认识 Matt Ober😸

    --
    马特·奥伯(Matt Ober),来自内布拉斯加州的奥马哈(Omaha),他大部分时间都在奥马哈编写Pinata的所有代码。Pinata是IPFS生态系统的固定服务,通过各种工具和API端点,可以轻松管理IPFS上的内容。Matt在开发Pinata的空闲时间,通常会和他的狗Winston一起出去玩,或者尝试做一些他在网上找到的各种晚餐食谱。


    相关文章

    --
    以下是最近一周发表,与IPFS有关的文章

    • 《区块链技术如何帮助大麻在自然灾害中的恢复》,2019年1月21日,发表于Forbes

    • 《Torrent Paradise通过IPFS创建分布式的”海盗湾“》,2019年1月20日,发表于Torrent Freak

    • 《建立世界上第一个IPFS数据中心 - 第1部分》,2019年1月18日发表

    • 《IPFS与HTTP:分布式网络如何使互联网再次发展》,2019年1月11日,发表于Crypto Insider

    • 《在Ubuntu上部署私有IPFS网络的5个步骤》,2019年1月11日发表

    • 埃及公司Elkrem在CES2018展出其顶尖技术,2019年1月10日

    0_1548658295654_66ced06a-e93b-4405-8b56-be18312d3c25-image.png


    版本更新

    --
    查看整个生态系统中最新版本的IPFS工具和项目。

    • IPFS Cluster 0.8.0 版本发布!

    • Textile Photos 0.5.0 版本发布

    • IPFS桌面客户端:Orion v1.0 版本发布

    • OneLoveDTube IPFS 0.8.3 版本发布:移动优化、多分辨率上传支持等!


    IPFS工具与项目

    --
    Awesome IPFS 是一个用于社区维护和更新的项目、工具清单,任何与IPFS相关的东西都能够在其中找到。如果想要查找相关信息,可以访问GitHub上的Awesome IPFS,然后将要查到的内容添加到搜索列表中。

    • 有人在IPFS上创建了一个Udemy课程!

    • 2read - 将当前标签中的文章转换为可读形式,并将其上传到P2P网络(IPFS)。

    • Haven - 是ob1的一个新应用,允许用户私下聊天、购物和发送加密。

    • PirlTube WebView 测试版发布!通过浏览器访问PirlTube上共享的不可变分布式视频内容!最分散的视频共享平台没有SPF,完全托管在Pirl基础设施上

    • Nile - 是一个分散的、免佣金、以地方经济为中心的在线购物平台。


    社区活动

    --
    IPFS在discuss.ipfs.io上有一个论坛,注册之后可以看到IPFS在上面发布的公告,同时能够了解到社区即将举行的交流活动。

    --

    ☺️感谢阅读!


    识别二维码进入IPFS社群/矿机群

    --
    ![0_1548658543494_8152f84c-dc9e-4eff-b31d-9da87d9cdb20-image.png](正在上传 100%) 0_1548658484430_316ca0e5-8fb2-43d3-a078-e2b7f5a24734-image.png

    posted in Blogs(博客)
  • 0_1548317175415_13d266a5-49d4-4b5a-83bc-0cefa870d352-image.png


    星际文件系统IPFS)上的节点通过garbage collector(垃圾回收站)下载缓存资源,并使这些资源可以上传到其他节点,从而在此过程中创建分布式分发网络。该系统依赖于有意愿的、能够进行缓存的、同时与网络共享资源的节点。但是,存储空间不是无限的,因此节点需要清除部分缓存,为新的资源腾出空间。

    --

    本文主要讨论ipfs-go 0.4.18版本中的缓存垃圾收集实现,以及特定于该实现的默认行为

    --

    描述IPFS的博客文章延续了一个常见的说法,IPFS节点的整个资源缓存每小时都会进行垃圾回收和删除。但是,默认情况下甚至不启用垃圾回收站,除非手动运行垃圾回收或按计划运行,否则缓存可以无限制地增长。

    --

    当启用10 GB默认最大缓存存储空间(由storagemax选项配置)时,存储库垃圾回收站将每小时运行一次(由gcperiod选项配置)。

    --

    当垃圾回收站运行时,将一次性删除整个缓存;它不仅能够删除足够的数据,还可以将总大小降低到可用大小的90%。垃圾回收站永远不会删除固定资源。

    --

    单个用户用于网络浏览的节点,不太可能超过每小时的最大存储量;并且启用垃圾回收后,缓存资源可以保留数小时、数天或数周,具体取决于使用情况。一个流行的公共网关节点,可能比单个用户使用的节点,更频繁地被清除。但是,公共网关可以使用自己的垃圾回收处理。

    --

    ipfs-go 0.4.4 版本(2016年10月10日)和更高版本有一个任意限制,允许垃圾收回收站在达到允许缓存时间的90%后,每GB剩余的缓存空间只运行一分钟。这将在允许的时间内删除不确定数量的数据,并且可能不足以使缓存低于StorageGCWatermark。在0.4.5版本中删除此方法之后,在ipfs-go master中没有看到限制缓存清除行为的其他尝试,因此可以确定的是此方法已被删除。

    --

    IPFS的缓存处理肯定有改进的空间。当节点超过配置存储容量的一个字节时,节点不应删除整个缓存,而是应该更智能地开始清除内容。例如,它可以首先删除缓存中一些很早的和最不频繁访问的内容。它可以潜在的查询网络,并删除由共享该资源节点数决定的最广泛分布的资源。甚至在释放足够的存储空间之前随机进行资源删除也是一种改进。


    【往期文章】

    -全球最大盗版资源网站“海盗湾” 上线IPFS!

    -2019年五大最期待的区块链项目

    -IPFS最新动态-25

    --
    本文由Daniel 发表于ctrl博客,经由Filecoin中国社区翻译整理。


    识别二维码进入IPFS社群

    0_1548317371175_1edfb018-1819-4c4b-81dd-3033dda57262-image.png

    posted in Blogs(博客)

Looks like your connection to Filecoin.cn中国爱好者社区 was lost, please wait while we try to reconnect.