場所: サービスネットワークの場所を表します HostID = ハッシュ(公開キー || 場所)
type Multihash []byte // 自己記述型暗号ハッシュサマリー 型 PublicKey []byte type PrivateKey []byte // 自己記述型秘密鍵 型 Node 構造体 { ノードID ノードID 公開鍵 公開鍵 PriKey プライベートキー } n = ノード{} する { n.公開キー、n.秘密キー = PKI.genKeyPair() n.NodeId = ハッシュ(n.PubKey) p = count_preceding_zero_bits(ハッシュ(n.NodeId)) } (p < 難易度) 1
IPFS は、基盤となるネットワークでの使用を容易にするために、バイト文字列で構成された多層アドレスとしてアドレスを保存します。マルチレイヤー アドレスは、アドレスとそのプロトコルを解析しやすい形式で表現する方法を提供します。例えば: # SCTP/IPv4 接続 /ip4/10.20.30.40/sctp/1234/ # TCP/IPv4 経由でプロキシされた SCTP/IPv4 接続 タイプIPFSルーティングインターフェース{ FindPeer(node NodeId) // 特定のNodeIdのネットワークアドレスを取得します。 SetValue(key []bytes, value []bytes) // 小さなメタデータを DHT に保存します。 GetValue(key []bytes) // DHTからメタデータを取得します。 ProvideValue(key Multihash) //このノードが大きなデータを提供できることを宣言します。 FindValuePeers(key Multihash, min int) // ビッグデータを提供するノードを取得します。 } 物々交換システムの概念は仮想通貨の作成が可能であることを意味しますが、そのためには通貨の所有権と移転を追跡するためのグローバルな台帳が必要になります。これは BitSwap 戦略として実装することができ、今後の論文で検討される予定です。
元帳構造体型{ 所有者ノードID パートナー NodeId 送信バイト数 バイト受信整数 タイムスタンプ タイムスタンプ } BitSwap構造体型{ ledgers map[NodeId]Ledger // このノードに知られている元帳(非アクティブを含む) アクティブマップ[NodeId]ピア // 現在他のノードへの接続が開いている need_list []Multihash // このノードに必要なブロックのチェックサム have_list []Multihash // このノードが持つブロックのチェックサム } ピア構造体型{ ノードID ledger 元帳 // ノードとこのピア間の元帳 last_seen Timestamp // 最後に受信したメッセージのタイムスタンプ want_list []Multihash // ピアが要求するすべてのブロックのチェックサム // ピアのピアが要求するブロックを含む } // プロトコルインターフェース: インターフェース ピア { オープン (nodeid: NodeId、ledger: Ledger); send_want_list (want_list : WantList); send_block(ブロック: Block) -> (complete:Bool); 閉じる(最終: Bool); }
ピア.send_want_list(WantList) want_list を受信すると、ノードはそれを保存します。次に、必要なブロックを所有しているかどうかを確認します。そうであれば、want_list で必要なブロックは、上記の BitSwap 戦略に従って送信されます。 Peer.send_block(ブロック)
注記:
名前文字列 // このリンクのエイリアス ハッシュ マルチハッシュ // 対象の暗号化ハッシュ Size int // ターゲットの合計サイズ } IPFSObject構造体型{ links []IPFSLink //リンク配列 data []byte //不透明なコンテンツデータ }
XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x 189458 以下 XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5 19441 スクリプト XLF4hwVHsVuZ78FZK6fozf8Jj9WEURMbCX4 5286 テンプレート
/XLZ1625Jjn7SubMDgEyeaynFuR84ginqvzb さん 翻訳: XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5 XLWVQDqxo9Km9zLyquoC9gAP8CL1gWnHZ7z
# フォーマット ipfs の ipfs の オブジェクト[]バイト//暗号化された元のオブジェクトデータ タグ[]バイト//オプションの暗号化タグ タイプSignedObject struct { オブジェクト[]バイト//署名された生のオブジェクトデータ 署名[]バイト// HMAC署名 publicKey [] multihash //複数のハッシュアイデンティティキー }
Gitオブジェクト形式と一致するモデルを使用したいと思っていましたが、分散ファイルシステムに役立つ特定の機能を導入するには、ある程度の分離が必要だったでしょう。
{ 「データ」:「ここにあるデータ」、//ブロブにはリンクがありません } { 'data':['blob'、 'list'、 'blob']、//リストには、データとしてオブジェクトタイプの配列があります 「リンク」:[ {'hash': 'xlykgq61dyaq8nhkcqyu7rlcnsa7dshq16x'、 「サイズ」:189458}、 {'hash': 'xlhbnmrq5sjjrdmpuu48pzeyttro39tndr5'、 「サイズ」:19441}、 {'hash': 'xlwvqdqxo9km9zlyquoc9gap8cl1gwnhz7z'、 「サイズ」:5286} //リンクリストには名前がありません ] { 「データ」:['Blob'、 'list'、 'blob']、//ツリーには、データとしてオブジェクトタイプの配列があります 「リンク」:[ {'hash': 'xlykgq61dyaq8nhkcqyu7rlcnsa7dshq16x'、 'name': 'less'、 'size':189458}、 {'hash': 'xlhbnmrq5sjjrdmpuu48pzeyttro39tndr5'、 「名前」:「スクリプト」、「サイズ」:19441}、 {'hash': 'xlwvqdqxo9km9zlyquoc9gap8cl1gwnhz7z'、 「名前」:「テンプレート」、「サイズ」:5286} //木には名前があります ] }
{ 'データ': ['ツリー'、「ブロブ」、「ツリー」、 'list'、 'blob' 'blob']、 「リンク」:[ {'Hash': ' 'name': 'ttt222-name'}、 {'Hash': ' 'name': 'ttt222-name/bbb111-name'} {'Hash': ' 'name': 'ttt333-name'}、 {'Hash': ' 'name': 'ttt333-name/lll111-name'}、 {'Hash': ' 'name': 'ttt333-name/lll111-name/bbb222-name'}、 {'Hash': ' 'name': 'bbb222-name'} ]} これは、最終的な不安定なデータが必要な場合、不変のマークルダグの構築に多くの努力を払う理由について詳しく説明する価値があります。 IPFをMerkle DAGの特徴として扱うだけです。オブジェクトは、(a) ハッシュ値、(b)整合性チェック、(c)他のオブジェクトをリンクし、(d)無限のキャッシュを介して取得できます。 ある意味で: オブジェクトは永遠です。
IPFSリンク//友達 /ボブ / #イブがアリスへのリンク IPFS link /<eve-pk-hash /friends /alice / #イブもボブにアクセスできます /<eve-pk-hash/friends/alice/friends/bob #Verisign認証ドメインにアクセスしてください / #DNSTXTレコード ipfs.benet.ai。 txt 'ipfs = xlf2ipq4jd3u ...' #シンボリックリンクとして動作します LN -S /IPNS /XLF2IPQ4JD3U /IPNS/FS.BENET.AI #proquitステートメント /ipns/dahih-dolij-sozuk-vosah-luvar-fuluh #次の形式に分解します /IPNS/KHAWNPRXYVXKQPDZ #ユーザーは、下からリンクを取得できます /ipns/shorten.er/foobar #次に、名前空間に入れます
|
<<: [上級小規模教室] IPFS の関係系譜、技術アーキテクチャ、動作原理
>>: データは嘘をつかない、ビットコイン急騰の原動力は機関投資家
2015年も残り1か月を切ったが、デジタル通貨の世界では画期的な新しい規制の進展はあまり見られない...
カナダのケベック州は木曜日、新たなブロックチェーンマイニングプロジェクトの運営を一時停止し、まずは電...
最近、浙江省発展改革委員会は「仮想通貨「マイニング」設備の規制に関する省発展改革委員会と省司法部の通...
Coinbaseの共同創設者フレッド・アーサム氏への最近のブルームバーグのインタビューで、次のような...
欧州決済評議会による最近の世論調査では、メンバーの 90% が、ブロックチェーンが 2025 年まで...
3月11日、[Miyoulun]オンラインフォーラムが正式に開催されました。Miyou Finan...
新年、人生への情熱を失ってしまったら、ビットコインで遊んでみましょう。満足できない場合は、レバレッジ...
すでにビットコイン決済をサポートしているオンライン旅行大手のエクスペディアは、世界的な拡大計画を加速...
まとめ:国内の仮想通貨「マイニング」活動は、2021年9月24日に国家発展改革委員会と各省庁が共同で...
スマート コントラクトは、今後 10 年間で最も重要なプログラミング言語になりつつあります。その登場...
水曜日、コインベースは世間の注目を浴びながら予定通りナスダックに上場した。これまで、Coinbase...
Innosilicon T3 ビットコイン マイナーは 43T を標準として設計されています。実際...
概要: 10 月 31 日、CME グループは、関連するすべての規制審査が完了することを待って、20...
[要約] 正式な ICO プロジェクトでは、計画が現実的であること、資金の出所と使用が現実的で透明...
金投外為ネットワークによると、最高値の1,200ドル以上から現在の200ドル以上まで下落し、かつては...