場所: サービスネットワークの場所を表します 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 の関係系譜、技術アーキテクチャ、動作原理
>>: データは嘘をつかない、ビットコイン急騰の原動力は機関投資家
オランダの中央銀行であるオランダ銀行(DNB)は、ビットコインで使用されている分散型台帳システムであ...
コインテレグラフによると、ソフトバンクグループ広報室の湯浅健一氏は、ソフトバンクグループもソフトバン...
2018年、分散型ネットワークストレージプロトコル IPFS がブロックチェーン界で人気を博しました...
Coindeskによると、米国連邦保安官局(USMS)は、シルクロードから押収した残りの44341...
ネットワーク セキュリティ意識の継続的な向上により、SSL 証明書は Web サイト運用の標準になり...
ブロックチェーン研究会社Diarは最近、ビットコインやその他の暗号通貨のマイナーが取引を一切処理せず...
かなり長い間、私は賢者たちに同じ質問をしてきました。ビットコインとは実際何なのでしょうか?最近のSc...
Namecheap ドメイン登録およびホスティング サービスの完全ガイド1. Namecheap 会...
新しい投資であるビットコインは、2016年にその価格が1オンスあたりの国際金価格を上回った際立ったパ...
BlockBeats、聯鑫によると、今朝、四川省エネルギー監督管理局が主催した仮想通貨「マイニング」...
以前、ビットコインは58,000ドルの水準を超えたことがあったが、その後、ほぼ1年ぶりの週間最大の下...
9月30日、暗号通貨取引所CoinExは、中国政府の規制政策の要件に応じて、中国本土のユーザーを完全...
ビットコインの価格は今年これまでに180%近く上昇しているが、大手ヘッジファンドの平均収益はわずか3...
北京時間2022年10月18日の早朝、待望の新世代パブリックチェーンAptosがメインネットの立ち上...
過去 1 年間、デロイトのグローバル デジタル通貨コミュニティ (DC3) は、同社の戦略およびイノ...