ピアツヌピアbase.network

base.network

「 自由は2倍の2が4であるず蚀う機䌚です。 これが蚱可されおいる堎合、ここから他のすべおが続きたす。 」

ゞョヌゞ・オヌりェル-1984



珟代の䞖界では、さたざたな分散技術が掻発に開発されおいたす。 数幎にわたり、Bitcoinピアツヌピア支払いシステム、分散マむクロブログTwister、分散メッセンゞャヌToxなどなどのプロゞェクトが正垞に機胜しおいたす。 本栌的な分散サむトになりたした。



郚分的に、分散サむトの機胜はすでにFreenetやI2Pなどのプロゞェクトに実装されおいたす。 ただし、このようなプロゞェクトにはいく぀かの欠点がありたす。 たずえば、珟時点では、Freenetを䜿甚しお、デヌタベヌスやスクリプトを䜿甚するなどの動的コンテンツを䜜成たたは配垃するこずはできたせん。 このようなネットワヌクにアクセスするには、特別な゜フトりェアをむンストヌルするか、巚倧なデヌタベヌスをダりンロヌドする必芁がしばしばありたす。 倚くのピアツヌピアネットワヌクの応答時間は長くなりたす。 情報の公開から他のナヌザヌがそれを芋るたで、倚くの時間がかかりたす。



提案されたbase.networkシステムは 、ピアツヌピアネットワヌクのこのような䞍利な点を排陀し、集䞭型システムのすべおの技術的利点ず分散ネットワヌクでの情報亀換の自由を結合するように蚭蚈されおいたす。

これは、短い応答時間ず、自埋性、フォヌルトトレランス、およびスケヌラビリティの特性を備えた安党な分散ネットワヌクを䜜成するための䞀皮の詊みです。 このプロゞェクトの䞻な目暙は、むンタヌネット䞊の情報ぞのアクセスを制限するだけでなく、公開を制埡、抑制する組織からの圧力の䞋でも機胜する胜力です。 プロゞェクトのすべおの偎面は、オヌプン゜ヌスずしお無料で利甚できたす。 これにより、゜フトりェアが芁求されたずおりに動䜜するこずを確認でき、すべおの開発者が情報の自由な流れを制限する詊みからネットワヌクの保護を改善できたす。





base.network-それは䜕ですか



これは、怜閲の可胜性なしにデヌタの分散分散ストレヌゞ甚に蚭蚈されたピアツヌピアネットワヌクです。 システムには䞭倮サヌバヌがなく、個人や組織の管理䞋にはありたせん。 ナヌザヌにオンラむン空間での蚀論の自由を提䟛するように蚭蚈されおいたす。 システムは、ネットワヌクメンバヌが無償で提䟛する共通のクラスタヌにサヌバヌノヌドを結合するこずで機胜したす。 すべおのデヌタはサヌバヌノヌド間で均等に分散され、䞭倮ストレヌゞを必芁ずしたせん。 参加者は、Web䞊でさたざたな皮類の情報を公開たたは受信するために、サヌバヌの垯域幅ずディスク容量を提䟛したす。 たずえば、ファむル、デヌタ構造、順序付きリスト。



その結果、このようなデヌタストレヌゞスキヌムを䜿甚するず、ブログ、ニュヌスチャネル、コメント、プラむベヌトグルヌプ通信、メディアリスト、怜玢むンデックス、ディレクトリなどの動的なアプリケヌションを実装できたす。 これらのアプリケヌションの特城は、システムの分散型アヌキテクチャによる䞭断抵抗です。 もう1぀の重芁な機胜は、アプリケヌション開発者を含む第䞉者による怜閲が䞍可胜であるこずです。



システムにアップロヌドされるすべおのデヌタは、公開鍵暗号システムを䜿甚しお䜜成者が眲名する必芁がありたす。 䜜成者の公開キヌを知るこずにより、特定のデヌタの䜜成者をい぀でも確認できたす。 デゞタル眲名ずデヌタ暗号化を䜜成するための暗号化アルゎリズムずしお、システムはECDSA楕円曲線デゞタル眲名アルゎリズムに基づいたキヌ長が256ビットの非察称公開キヌ暗号化アルゎリズム特に、secp256k1曲線が䜿甚されたすずSHA-256ハッシュ関数を䜿甚したす。



ネットワヌクの仕組み



このシステムでは、他のピアツヌピアネットワヌクずは異なり、サヌバヌずクラむアントの抂念が共有されたす。 クラむアント゜フトりェアは通垞のブラりザであり、他の倚くのピアツヌピアネットワヌクず比范しお、通垞のナヌザヌがネットワヌクにアクセスしやすくなりたす。



すべおのネットワヌクデヌタは、参加者が無料で提䟛するサヌバヌに保存されたす。 理想的には、専甚サヌバヌノヌドが適切なむンタヌネットチャネルにアクセスできるため、ナヌザヌはネットワヌクリ゜ヌスにすばやくアクセスできたす。



したがっお、ネットワヌクを維持するシステムの参加者は、サヌバヌリ゜ヌスを提䟛したす。 これを行うために、圌らは特別なサヌバヌ゜フトりェアをむンストヌルしたす。これは、本質的に1人の小さなWebサヌバヌずデヌタベヌス、いわゆるサヌバヌノヌドです。 ノヌドを機胜させるには、倖郚IPアドレスv4ず空きポヌトを割り圓おる必芁がありたす。



デヌタ保存



たず、デヌタストレヌゞの構成を理解するために、ネットワヌクスペヌス党䜓が厳密に指定されたボリュヌム、たずえば32 GBによっお制限されおいるこずを想像しおください。 したがっお、ネットワヌクは巚倧なハッシュテヌブルになり、そのハッシュアドレスにある各ドキュメントは、仮想ネットワヌク空間に厳密に配眮されたす。 1぀の物理マシンにすべおのネットワヌクデヌタを保存しないようにたずえば、Bitcoinシステムで行われるように、仮想空間党䜓をいく぀かのセグメントに分割したす。 たず、たずえば8぀のセグメントに分割したす。 各セグメントは4GBです。 珟圚、専甚の物理マシンは、デヌタベヌスの完党なコピヌを保存する必芁はなく、その䞀郚のみを保存するこずなく、個別のセグメントに個別に察応できたす。 このような各サヌバヌノヌドは、耇数のネットワヌクセグメントをサポヌトできたす。 1぀のセグメントに耇数の独立したノヌドが察応したす。 マシンの物理アドレスを把握し、どのマシンがどのセグメントにサヌビスを提䟛しおいるかに぀いおの情報があれば、そのアドレスでい぀でも別のドキュメントにアクセスできたす。 ノヌドぞのアクセスは、暙準のhttpプロトコルを䜿甚しお実行されたす。



ナヌザヌがノヌドの1぀にデヌタを远加するず、同じhttpプロトコルを䜿甚しお、同じセグメントにサヌビスを提䟛するすべおのノヌド間で情報が盎ちに同期されたす。



base.network-スキヌム



指茪



ネットワヌクスペヌスは䞀定の量32 GBに制限されおいるため、ネットワヌクは巚倧なハッシュテヌブルのように機胜するこずが䞊で述べられたした。 これはすべお、仮想空間の堎合に圓おはたり、いわゆるリングのフレヌムワヌク内で制限されたす。



リングシステムは、ネットワヌクの仮想ストレヌゞを自由にスケヌリングし、そのスペヌスを厳密に制限しないために開発されたした。 珟圚のリングがデヌタでいっぱいになるず、ネットワヌクは次の仮想リングを䜿甚したす。 埌続の各リングのセグメント数は8倍増加し、セグメントのサむズも数倍増加したす。 より正確には、それは2倍の倍数であり、異なるタむプのストレヌゞでは、この数は異なりたす以䞋のストレヌゞタむプを参照。 したがっお、次の各リングの合蚈ボリュヌムは前のリングのサむズよりも1桁倧きく、より倚くのデヌタを配眮できたす。 ネットワヌクの人気の朜圚的な成長ず、その結果ずしお、マシンの数の増加により、次のリングのサヌビスが可胜になり、ネットワヌクは本質的に無制限の成長を実行できたす。



たずえば、ファむルを保存する堎合、最初のリングのセグメント数は8です。2番目のリングでは64などです。 セグメントのサむズは2倍に増加したす。 したがっお、埌続の各リングの音量は16倍になりたす。 たた、たずえば、3番目のリングでは16 TBになりたす。 そしお、5日目はすでに4 PBです



base.network-リング



れロリングには垞に1぀のセグメントがありたす。 通垞、ネットワヌクの重芁な情報が含たれおいたす。



ノヌド



前述のように、ノヌドは専甚のIPアドレスずポヌトを持぀小さなWebサヌバヌです。 各ネットワヌクノヌドには、他の参加者に関する情報がありたす。 任意のノヌドに特別なhttp-requestを行うこずにより、ネットワヌク党䜓のマップを取埗できたす。



curl http://5.9.123.140:8080/-/nodes {"nid":"5.9.123.140/8080","ver":1,"seg":"D,N,F,P,D0,D1,D2,D3,D4,D5,D6,D7,F0,F1,F2,F3,F4,F5,F6,F7,P0,P1,P2,P3,P4,P5,P6,P7,D06,D64,F50,P00,P55,P77"} {"nid":"46.4.76.98/8081","ver":1,"seg":"D,N,F,P,D0,D1,D2,D3,D4,D5,D6,D7,F0,F1,F2,F3,F4,F5,F6,F7,P0,P1,P2,P3,P4,P5,P6,P7,D57,D66,F41,F54,P04"}
      
      





システムに初めお接続するずき、ノヌドは最初のリストで指定されたノヌドの少なくずも1぀に連絡するこずにより、ネットワヌクマップを取埗しようずしたす。

特定のノヌドのサヌバヌ゜フトりェアバヌゞョン、サヌビスを提䟛するセグメント、それらがどの皋床いっぱいであるかは、次のhttp-requestを実行しお取埗するこずもできたす。



 curl http://5.9.123.140:8080/-/about {"ver":1,"nid":"5.9.123.140/8080","segments":{"D":{"usage":0},"N":{"usage":0},"F":{"usage":0},"P":{"usage":0},"D0":{"usage":0},"D1":{"usage":0},"D2":{"usage":0},"D3":{"usage":0}," ... , "updated":1441639911027}
      
      





情報を同期した埌、ノヌドは残りの参加者に自身に぀いお通知したす。 次に、新しいノヌドが正しいこずを確認しお、ネットワヌクマップを曎新したす。



ドキュメントのアドレス指定



ネットワヌク䞊でドキュメントを受信たたは保存するには、そのアドレスを知る必芁がありたす。 アドレスには任意の文字列識別子を䜿甚できたす。 ハッシュは、この文字列アドレスSHA-256アルゎリズムを䜿甚から蚈算されたす-いわゆるuidドキュメントの䞀意の識別子。 ファむルの堎合、ファむルのコンテンツからのハッシュは同様の識別子ずしお機胜したす。 受信したハッシュの最初のビットは、ドキュメントが配眮されおいるセグメントの番号を瀺したす。 䟋えば



ドキュメントURI



  D2/my-domain.base/path/document.txt
      
      





パス



  my-domain.base/path/document
      
      





uid-sha256パス16進数



  49ea72cbd1de7f2d...3cf23d49778
      
      





uidoct



  2236516262750736...44365113570
      
      





ドキュメントの座暙



  storage: D ring: 2 uid: 49ea72cbd1de7f...f23d49778 segment: D22
      
      





これで、セグメント番号ず、このセグメントにサヌビスを提䟛するノヌドのリスト、およびそれらの倖郚IPアドレスずポヌトがわかれば、任意の物理マシンにアクセスしお、通垞のhttp芁求を䜿甚しおドキュメントを芁求できたす。 このようなリク゚ストを䜜成するために、ナヌザヌは特別な゜フトりェアをむンストヌルする必芁はありたせん。 クラむアント゜フトりェアは、通垞のブラりザにするこずができたす。



すべおのネットワヌクデヌタが䜜成されたす。 公開時には、各ドキュメントには独自のデゞタル眲名が必芁です。デゞタル眲名は、䜜成者の秘密キヌによっお圢成されたす。 その埌、公開鍵を䜿甚しお各ドキュメントの䜜成者を確認できたす。



システム内のすべおの文曞は、次のパラメヌタヌによっお特城付けられたす。



䞀般に、単䞀のドキュメントたたはデヌタリストぞのリンクは次のようになりたす。



  <storage:char><ring:int>/<uid:hex64>
      
      







ファむルストレヌゞなど、䞀郚のタむプのストレヌゞでは、オプションのリストが若干広くなりたす。 䟋



リンクの䟋



 F1/ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0.txt D4/930bbc0fa952dcc8eb7e8a711ac953c61f76f86fecd1ba7b0b5c4e74834e12bf?aid=Ipf8SOrpxbgYnNMXszFk
      
      





ストレヌゞの皮類



珟圚、システムには4皮類のデヌタストレヌゞが実装されおおり、それぞれ異なる情報構造を保存できたす。



それぞれに぀いおもう少し説明したす。



ファむルストレヌゞストレヌゞタむプF



ファむルは、文字列デヌタずは異なり、アドレス指定にいく぀かの詳现がありたす。 ファむルアドレスそのuidは、そのコンテンツからのsha-256ハッシュです。 したがっお、異なるナヌザヌがネットワヌクにアップロヌドした同じファむルは同じアドレスになりたす。 ハッシュをチェックしお、正しいコンテンツが指定されたアドレスに返されるこずを確認しおください。 ファむルのコンテンツタむプContent-Typeは、リンク内で拡匵子拡匵ずしお盎接瀺されたす。



たずえば、次のリンク
  F1/ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0.txt
      
      



パラメヌタを含むドキュメントは察応したす



uidが䞎えられ、8進数のシステムに倉換されるず、最初の桁でセグメント番号が取埗されたす。 「7」がそれに察応したす。 これで、「F7」ずいう名前のセグメントにサヌビスを提䟛するすべおのノヌドずノヌドの物理アドレスがわかったので、ドキュメント自䜓を取埗できたす。



 curl -i http://5.9.123.140:8080/-/F7/data/ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0.txt HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Cache-Control: max-age=315360000, public Expires: Sun, 17 Aug 2025 15:18:30 GMT Access-Control-Expose-Headers: x-base-author x-base-author: AA3Evvx1AR...i8UONOm92Q== Connection: keep-alive Transfer-Encoding: chunked TEST FILE
      
      





次に、受信したドキュメントのコンテンツからハッシュを確認したす。



 curl http://5.9.123.140:8080/-/F7/data/ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0.txt|shasum -a 256 ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0 -
      
      





すべおが正垞です芁求されたuidず䞀臎したす。



以䞋の衚は、ストレヌゞのファむルタむプの数に応じたセグメント数ずリングサむズの察応を瀺しおいたす。



f-storageのパラメヌタヌ

指茪





セグメントGBのサむズ





セグメントの数





リングの合蚈サむズ





デヌタパックの最倧サむズ、KB





レコヌドの最小数





0





2





1





2 GB





2





1.05E + 06





1





4





8





32 GB





16





2.10E + 06





2





8





64





512 GB





128





4.19E + 06





3





16





512





8 TB





1,024





8.39E + 06





4





32





4,096





128 TB





8 192





1.68E + 07





5





64





32,768





2 PB





65,536





3.36E + 07





6





128





262 144





32 PB





524,288





6.71E + 07





7





256





2,097 152





512 PB





4 194 304





1.34E + 08









各リングの1぀のファむルの蚱容サむズが特定のサむズに制限されおいるずいう事実に泚意する䟡倀がありたす。 これは、悪意のあるナヌザヌによる巚倧なファむルの充填によっおネットワヌクが「殺されない」ようにするためです。 衚からわかるように、ネットワヌクが拡倧し、新しいリングが新しいリングにキャプチャされるず、ファむルサむズの制限が小さくなりたす。

たた、このタむプのストレヌゞは、登録ナヌザヌレゞストラの眲名を持぀蚌明曞を持぀ナヌザヌのみが蚘録に䜿甚でき、匿名蚌明曞を持぀ナヌザヌがファむルを远加できないこずも考慮する必芁がありたす。 この制限は、朜圚的なフラッドから保護し、誰にも䞍芁な情報でストレヌゞを詰たらせないために導入されおいたす。



ドメむン名ストレヌゞタむプN

このタむプのストレヌゞは、登録ナヌザヌのドメむン名、ドメむン所有者、公開蚌明曞に関する情報を保存するために必芁です。 このタむプのストレヌゞは、ドメむンレゞストラヌ専甚の蚘録に䜿甚できたす。 珟時点では、圌が唯䞀の人物です。これは.base仮想ドメむンゟヌンレゞストラヌです。 レゞストラの公開キヌは、すべおのネットワヌク参加者に知られおおり、クラむアントおよびサヌバヌ゜フトりェアに盎接ハヌドコヌディングされおいたす。

ストレヌゞリングのれロリングセグメントサむズは8 GBです。 理論的には、このサむズは、ドメむンず蚌明曞に関するすべおのデヌタをれロリングの1぀のセグメントに排他的に栌玍するのに十分な時間です。 したがっお、ドメむン名による情報の取埗は、異なるリングを怜玢するこずなく行われたす。

したがっお、タむプNストレヌゞは䞀皮の巚倧なハッシュテヌブルです。 ドメむン名によっお、ドメむン所有者ずその公開鍵に関する情報を芁求できたす。

たずえば、ドメむンtest.base.networkの堎合、次のデヌタが返されたす。



 curl 'http://5.9.123.140:8080/-/N/data/test.base' {"ver":0,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWw=","hash":"yU6mMInrZqN43/ggsj+0J/g1rpsMs+lFiO7LuoXGwRo=","sign":"vB00Eewv7hzVrvtGUhUtjOHvU8u7uM0KujyId+py6GvJdwBNkInw8FeUX1+DYYFtygFX5QyB70BShhDv9Gd9ZA==","data":"eyJvd25lciI6IkFBM0V2dngxQVJEVlZ5aVBXWjExOTdsM01BT1BlMlUxRlI3aGp4UXBMNlRRbXFmOGR4RUVvQi9BVjE5VW00OXU5VTdMYjhMeDl1algyTXVyVGQ2cW5XeHVFeHhhdExQb1BadWtPdS9iTktkZEVqbm9VeDljZ0UzMzlnWkdzQUJWRGMvWDFGS1dPMjJGOElJejVxamF5b2R2ZklZZHZ0WmRjUEdXVm1rWUxYdngifQ=="}
      
      





この情報はレゞストラのルヌト蚌明曞によっお眲名され、クラむアントは垞にその有効性を確認できたす。 base64からデヌタをデコヌドするず、次のドメむン情報がJSON圢匏で取埗されたす。 所有者はパブリックドメむン所有者蚌明曞です。

 {"owner":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx"}
      
      





ドメむン所有者の蚌明曞を知ったので、サむトのマニフェスト-サむトの蚭定、構造、゚ンゞン、名前に関する情報をリク゚ストできたす。



デヌタリストストレヌゞタむプD

ネットワヌクには、単䞀のドキュメントに加えお、デヌタのリストを操䜜しお、いわゆるテヌプを圢成する機胜がありたす。 リストは、単䞀のドキュメントのように、特定の䞀意の識別子uidによっお配眮されたす。 リストuidは、文字列アドレスからのsha256ハッシュです。 ただし、このタむプのストレヌゞでは、最初の2぀ずは異なり、特定の゜ヌト順ずオフセットを䜿甚しお、特定の著者のドキュメントのリストを芁求するこずができたす。 実際、このストアは、順序付けされたデヌタを返すこずができる単玔なむンデックスを実装しおいたす。

たずえば、リストtest.base.network/blogのアドレスは次のuidに察応したす

 sha256(“test.base/blog/”) -> e1d8f9c396164dbbb8debf9c0ce08805bcf4bd8d98c2cc462c8bc21c21f27438
      
      







これで、ドキュメントのリストを芁求できたす。この堎合、䜜成者はtest.base.networkサむトの所有者ですwith aid = Ipf8SOrpxbgYnNMXszFk。 デフォルトでは、レコヌドは远加された時間の逆順に゜ヌトされたす。



 curl -i 'http://5.9.123.140:8080/-/D7/data/e1d8f9c396164dbbb8debf9c0ce08805bcf4bd8d98c2cc462c8bc21c21f27438?aid=Ipf8SOrpxbgYnNMXszFk' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:38:44 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA3MTkwOTI1NDU5ODg=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"MWEyLxrkDosW2FU3+GTYXk045PN8TBhsiloovkxuTvA=","sign":"rgtR7qJXc5GMbm7TxZijbQiKOtH9gpWhUUt7z6L2yetEcRR7bUdVxmW9UvUPVaMfq1LpVEcZ4IF2CuQf4NVvHw==","data":"eyJ0aXRsZSI6...sbCJ9"} {"pos":"MjAxNTA3MTkwOTEzNTY0NzE=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"7r+ZfOVi+2/ZkRFeHwNytk20j6xTZKvJ73m1GCuXsFY=","sign":"ZpZBWLrUT1RZ/s+5ea8o6ckG2dfqqzUkKkQMUjAnVoC3pRzaGW4Q3lV8/rUjDpCdCWPum9juA2tDNBLG+qqL1g==","data":"eyJkZXNjcm...iYWxsIn0="} ...
      
      



"、 "版" curl -i 'http://5.9.123.140:8080/-/D7/data/e1d8f9c396164dbbb8debf9c0ce08805bcf4bd8d98c2cc462c8bc21c21f27438?aid=Ipf8SOrpxbgYnNMXszFk' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:38:44 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA3MTkwOTI1NDU5ODg=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"MWEyLxrkDosW2FU3+GTYXk045PN8TBhsiloovkxuTvA=","sign":"rgtR7qJXc5GMbm7TxZijbQiKOtH9gpWhUUt7z6L2yetEcRR7bUdVxmW9UvUPVaMfq1LpVEcZ4IF2CuQf4NVvHw==","data":"eyJ0aXRsZSI6...sbCJ9"} {"pos":"MjAxNTA3MTkwOTEzNTY0NzE=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"7r+ZfOVi+2/ZkRFeHwNytk20j6xTZKvJ73m1GCuXsFY=","sign":"ZpZBWLrUT1RZ/s+5ea8o6ckG2dfqqzUkKkQMUjAnVoC3pRzaGW4Q3lV8/rUjDpCdCWPum9juA2tDNBLG+qqL1g==","data":"eyJkZXNjcm...iYWxsIn0="} ...



AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu / bNKddEjnoUx9cgE339gZGsABVDc / X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx"、 "ハッシュ" "MWEyLxrkDosW2FU3 + GTYXk045PN8TBhsiloovkxuTvA ="、 "サむン" "rgtR7qJXc5GMbm7TxZijbQiKOtH9gpWhUUt7z6L2yetEcRR7bUdVxmW9UvUPVaMfq1LpVEcZ4IF2CuQf4NVvHw ==" curl -i 'http://5.9.123.140:8080/-/D7/data/e1d8f9c396164dbbb8debf9c0ce08805bcf4bd8d98c2cc462c8bc21c21f27438?aid=Ipf8SOrpxbgYnNMXszFk' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:38:44 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA3MTkwOTI1NDU5ODg=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"MWEyLxrkDosW2FU3+GTYXk045PN8TBhsiloovkxuTvA=","sign":"rgtR7qJXc5GMbm7TxZijbQiKOtH9gpWhUUt7z6L2yetEcRR7bUdVxmW9UvUPVaMfq1LpVEcZ4IF2CuQf4NVvHw==","data":"eyJ0aXRsZSI6...sbCJ9"} {"pos":"MjAxNTA3MTkwOTEzNTY0NzE=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"7r+ZfOVi+2/ZkRFeHwNytk20j6xTZKvJ73m1GCuXsFY=","sign":"ZpZBWLrUT1RZ/s+5ea8o6ckG2dfqqzUkKkQMUjAnVoC3pRzaGW4Q3lV8/rUjDpCdCWPum9juA2tDNBLG+qqL1g==","data":"eyJkZXNjcm...iYWxsIn0="} ...



"、 "版" curl -i 'http://5.9.123.140:8080/-/D7/data/e1d8f9c396164dbbb8debf9c0ce08805bcf4bd8d98c2cc462c8bc21c21f27438?aid=Ipf8SOrpxbgYnNMXszFk' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:38:44 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA3MTkwOTI1NDU5ODg=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"MWEyLxrkDosW2FU3+GTYXk045PN8TBhsiloovkxuTvA=","sign":"rgtR7qJXc5GMbm7TxZijbQiKOtH9gpWhUUt7z6L2yetEcRR7bUdVxmW9UvUPVaMfq1LpVEcZ4IF2CuQf4NVvHw==","data":"eyJ0aXRsZSI6...sbCJ9"} {"pos":"MjAxNTA3MTkwOTEzNTY0NzE=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"7r+ZfOVi+2/ZkRFeHwNytk20j6xTZKvJ73m1GCuXsFY=","sign":"ZpZBWLrUT1RZ/s+5ea8o6ckG2dfqqzUkKkQMUjAnVoC3pRzaGW4Q3lV8/rUjDpCdCWPum9juA2tDNBLG+qqL1g==","data":"eyJkZXNjcm...iYWxsIn0="} ...



AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu / bNKddEjnoUx9cgE339gZGsABVDc / X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx"、 "ハッシュ" "7R + ZfOVi + curl -i 'http://5.9.123.140:8080/-/D7/data/e1d8f9c396164dbbb8debf9c0ce08805bcf4bd8d98c2cc462c8bc21c21f27438?aid=Ipf8SOrpxbgYnNMXszFk' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:38:44 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA3MTkwOTI1NDU5ODg=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"MWEyLxrkDosW2FU3+GTYXk045PN8TBhsiloovkxuTvA=","sign":"rgtR7qJXc5GMbm7TxZijbQiKOtH9gpWhUUt7z6L2yetEcRR7bUdVxmW9UvUPVaMfq1LpVEcZ4IF2CuQf4NVvHw==","data":"eyJ0aXRsZSI6...sbCJ9"} {"pos":"MjAxNTA3MTkwOTEzNTY0NzE=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"7r+ZfOVi+2/ZkRFeHwNytk20j6xTZKvJ73m1GCuXsFY=","sign":"ZpZBWLrUT1RZ/s+5ea8o6ckG2dfqqzUkKkQMUjAnVoC3pRzaGW4Q3lV8/rUjDpCdCWPum9juA2tDNBLG+qqL1g==","data":"eyJkZXNjcm...iYWxsIn0="} ...



 " curl -i 'http://5.9.123.140:8080/-/D7/data/e1d8f9c396164dbbb8debf9c0ce08805bcf4bd8d98c2cc462c8bc21c21f27438?aid=Ipf8SOrpxbgYnNMXszFk' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:38:44 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA3MTkwOTI1NDU5ODg=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"MWEyLxrkDosW2FU3+GTYXk045PN8TBhsiloovkxuTvA=","sign":"rgtR7qJXc5GMbm7TxZijbQiKOtH9gpWhUUt7z6L2yetEcRR7bUdVxmW9UvUPVaMfq1LpVEcZ4IF2CuQf4NVvHw==","data":"eyJ0aXRsZSI6...sbCJ9"} {"pos":"MjAxNTA3MTkwOTEzNTY0NzE=","ver":3,"author":"AA3Evvx1ARDVVyiPWZ1197l3MAOPe2U1FR7hjxQpL6TQmqf8dxEEoB/AV19Um49u9U7Lb8Lx9ujX2MurTd6qnWxuExxatLPoPZukOu/bNKddEjnoUx9cgE339gZGsABVDc/X1FKWO22F8IIz5qjayodvfIYdvtZdcPGWVmkYLXvx","hash":"7r+ZfOVi+2/ZkRFeHwNytk20j6xTZKvJ73m1GCuXsFY=","sign":"ZpZBWLrUT1RZ/s+5ea8o6ckG2dfqqzUkKkQMUjAnVoC3pRzaGW4Q3lV8/rUjDpCdCWPum9juA2tDNBLG+qqL1g==","data":"eyJkZXNjcm...iYWxsIn0="} ...







このような各レコヌドの有効性ず䜜成者は、ドキュメントを远加するずきに䜜成者が生成したハッシュハッシュず眲名眲名によっお確認できたす。



さらに、タむプDおよびPのストレヌゞは、SSEサヌバヌ送信むベントテクノロゞヌを䜿甚しおテヌプに゚ントリを远加するためにサブスクラむブする機䌚を顧客に提䟛したす。 たずえば、次のリク゚ストを䜿甚するず、フィヌドにデヌタを远加するためにサブスクラむブできたす。 クラむアントは接続を開き、サヌバヌむベントが発生するのを埅ちたす。

 http://5.9.123.140:8080/-/D7/listen/e1d8f9c396164dbbb8debf9c0ce08805bcf4bd8d98c2cc462c8bc21c21f27438?aid=Ipf8SOrpxbgYnNMXszFk
      
      





ファむルず同様に、匿名ナヌザヌは独自のフィヌドを䜜成できず、登録ナヌザヌレゞストラによっお眲名された蚌明曞を持぀のみが新しいアむテムをリストに远加できたす。

結論ずしお、このタむプのストレヌゞでは、リングの特性が瀺されおいたす。 ファむルず同様に、最初は1぀のレコヌドのサむズは非垞に制限されおいたす。 最初のリングでは、それらはわずか16 KBです。 ただし、これは、投皿、ブログ、ディレクトリ、プレむリスト、さたざたな皮類のリストなどの動的サヌビスを開発するのに十分なはずです。



パブリックデヌタリストストレヌゞタむプP



このタむプのストレヌゞは前のものず非垞に䌌おいたすが、匿名ナヌザヌを含む異なるナヌザヌが同じリストにアむテムを远加できる点が異なりたす。 このようなリポゞトリを䜿甚するず、コメント、レビュヌ、グルヌプ、2人以䞊のナヌザヌの個人的なやり取りのシステムを敎理できたす。



たずえば、リストhttp://test.base.network/chat/のhttp-addressは、次のuid= SHA256“ test.base / chat /”に察応したす

be977147bd78d5a4db7d09aa3a48b3f24c8578c3ea06806d8ff4210f08a2c5a4









 curl -i 'http://5.9.123.140:8080/-/P5/data/be977147bd78d5a4db7d09aa3a48b3f24c8578c3ea06806d8ff4210f08a2c5a4' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:29:47 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA4MTQwODQ5MzYyOTA=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"JgRFIFD3AyzsATMNCeAnyxvGgjU7TMmW/ODlXARG8Pk=","sign":"+LG5/taPav00KoRqScABctzjxTlvZIV7nykpqKtxn7AVx6fY4itn7Mtrbisiw5yhf0pC8DLd4akTHYO5C8iWtA==","data":"eyJ0ZXh0IjoidGVzdCAzMzMifQ=="} {"pos":"MjAxNTA4MTQwODQ5MDI0MjQ=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"llOP+Sq5BfIJMZKGfqdCJ5ERq8gPITanj9yDH75PAR4=","sign":"EsUH37lW4qF+N/4r0DcgSJKVf4j3UN0uWGHuh6asBbOER539K98o2/DBSCL10YKrA3KCOEHsTE2tsAGf9B/zSQ==","data":"eyJ0ZXh0IjoidGVzdDIyMiJ9"} {"pos":"MjAxNTA4MTQwODA3Mzg1NTI=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"XrRlv2sF9ae2GOWehfem6ovLJomZIXtLk27ir+6q+gs=","sign":"aYF7kB0OVc8gvg5U7TrsBB25+tF/HwpCePHkyyWPVvuS5ylgbxJV5Tb06eb/VIaeEK2Y2gMY23hHcRw4SDT1jQ==","data":"eyJ0ZXh0IjoidGVzdCJ9"} ...
      
      



"、 "版" curl -i 'http://5.9.123.140:8080/-/P5/data/be977147bd78d5a4db7d09aa3a48b3f24c8578c3ea06806d8ff4210f08a2c5a4' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:29:47 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA4MTQwODQ5MzYyOTA=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"JgRFIFD3AyzsATMNCeAnyxvGgjU7TMmW/ODlXARG8Pk=","sign":"+LG5/taPav00KoRqScABctzjxTlvZIV7nykpqKtxn7AVx6fY4itn7Mtrbisiw5yhf0pC8DLd4akTHYO5C8iWtA==","data":"eyJ0ZXh0IjoidGVzdCAzMzMifQ=="} {"pos":"MjAxNTA4MTQwODQ5MDI0MjQ=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"llOP+Sq5BfIJMZKGfqdCJ5ERq8gPITanj9yDH75PAR4=","sign":"EsUH37lW4qF+N/4r0DcgSJKVf4j3UN0uWGHuh6asBbOER539K98o2/DBSCL10YKrA3KCOEHsTE2tsAGf9B/zSQ==","data":"eyJ0ZXh0IjoidGVzdDIyMiJ9"} {"pos":"MjAxNTA4MTQwODA3Mzg1NTI=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"XrRlv2sF9ae2GOWehfem6ovLJomZIXtLk27ir+6q+gs=","sign":"aYF7kB0OVc8gvg5U7TrsBB25+tF/HwpCePHkyyWPVvuS5ylgbxJV5Tb06eb/VIaeEK2Y2gMY23hHcRw4SDT1jQ==","data":"eyJ0ZXh0IjoidGVzdCJ9"} ...



/ BL naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp + fQty6fHcjU ="、 "ハッシュ" "JgRFIFD3AyzsATMNCeAnyxvGgjU7TMmW / ODlXARG8Pk ="、 "サむン"「+ LG5 / curl -i 'http://5.9.123.140:8080/-/P5/data/be977147bd78d5a4db7d09aa3a48b3f24c8578c3ea06806d8ff4210f08a2c5a4' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:29:47 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA4MTQwODQ5MzYyOTA=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"JgRFIFD3AyzsATMNCeAnyxvGgjU7TMmW/ODlXARG8Pk=","sign":"+LG5/taPav00KoRqScABctzjxTlvZIV7nykpqKtxn7AVx6fY4itn7Mtrbisiw5yhf0pC8DLd4akTHYO5C8iWtA==","data":"eyJ0ZXh0IjoidGVzdCAzMzMifQ=="} {"pos":"MjAxNTA4MTQwODQ5MDI0MjQ=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"llOP+Sq5BfIJMZKGfqdCJ5ERq8gPITanj9yDH75PAR4=","sign":"EsUH37lW4qF+N/4r0DcgSJKVf4j3UN0uWGHuh6asBbOER539K98o2/DBSCL10YKrA3KCOEHsTE2tsAGf9B/zSQ==","data":"eyJ0ZXh0IjoidGVzdDIyMiJ9"} {"pos":"MjAxNTA4MTQwODA3Mzg1NTI=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"XrRlv2sF9ae2GOWehfem6ovLJomZIXtLk27ir+6q+gs=","sign":"aYF7kB0OVc8gvg5U7TrsBB25+tF/HwpCePHkyyWPVvuS5ylgbxJV5Tb06eb/VIaeEK2Y2gMY23hHcRw4SDT1jQ==","data":"eyJ0ZXh0IjoidGVzdCJ9"} ...



"、 "版" curl -i 'http://5.9.123.140:8080/-/P5/data/be977147bd78d5a4db7d09aa3a48b3f24c8578c3ea06806d8ff4210f08a2c5a4' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:29:47 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA4MTQwODQ5MzYyOTA=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"JgRFIFD3AyzsATMNCeAnyxvGgjU7TMmW/ODlXARG8Pk=","sign":"+LG5/taPav00KoRqScABctzjxTlvZIV7nykpqKtxn7AVx6fY4itn7Mtrbisiw5yhf0pC8DLd4akTHYO5C8iWtA==","data":"eyJ0ZXh0IjoidGVzdCAzMzMifQ=="} {"pos":"MjAxNTA4MTQwODQ5MDI0MjQ=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"llOP+Sq5BfIJMZKGfqdCJ5ERq8gPITanj9yDH75PAR4=","sign":"EsUH37lW4qF+N/4r0DcgSJKVf4j3UN0uWGHuh6asBbOER539K98o2/DBSCL10YKrA3KCOEHsTE2tsAGf9B/zSQ==","data":"eyJ0ZXh0IjoidGVzdDIyMiJ9"} {"pos":"MjAxNTA4MTQwODA3Mzg1NTI=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"XrRlv2sF9ae2GOWehfem6ovLJomZIXtLk27ir+6q+gs=","sign":"aYF7kB0OVc8gvg5U7TrsBB25+tF/HwpCePHkyyWPVvuS5ylgbxJV5Tb06eb/VIaeEK2Y2gMY23hHcRw4SDT1jQ==","data":"eyJ0ZXh0IjoidGVzdCJ9"} ...



/ BL naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp + fQty6fHcjU ="、 "ハッシュ" "llOP + Sq5BfIJMZKGfqdCJ5ERq8gPITanj9yDH75PAR4 ="、 "サむン"「EsUH37lW4qF + N curl -i 'http://5.9.123.140:8080/-/P5/data/be977147bd78d5a4db7d09aa3a48b3f24c8578c3ea06806d8ff4210f08a2c5a4' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:29:47 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA4MTQwODQ5MzYyOTA=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"JgRFIFD3AyzsATMNCeAnyxvGgjU7TMmW/ODlXARG8Pk=","sign":"+LG5/taPav00KoRqScABctzjxTlvZIV7nykpqKtxn7AVx6fY4itn7Mtrbisiw5yhf0pC8DLd4akTHYO5C8iWtA==","data":"eyJ0ZXh0IjoidGVzdCAzMzMifQ=="} {"pos":"MjAxNTA4MTQwODQ5MDI0MjQ=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"llOP+Sq5BfIJMZKGfqdCJ5ERq8gPITanj9yDH75PAR4=","sign":"EsUH37lW4qF+N/4r0DcgSJKVf4j3UN0uWGHuh6asBbOER539K98o2/DBSCL10YKrA3KCOEHsTE2tsAGf9B/zSQ==","data":"eyJ0ZXh0IjoidGVzdDIyMiJ9"} {"pos":"MjAxNTA4MTQwODA3Mzg1NTI=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"XrRlv2sF9ae2GOWehfem6ovLJomZIXtLk27ir+6q+gs=","sign":"aYF7kB0OVc8gvg5U7TrsBB25+tF/HwpCePHkyyWPVvuS5ylgbxJV5Tb06eb/VIaeEK2Y2gMY23hHcRw4SDT1jQ==","data":"eyJ0ZXh0IjoidGVzdCJ9"} ...



"、 "版" curl -i 'http://5.9.123.140:8080/-/P5/data/be977147bd78d5a4db7d09aa3a48b3f24c8578c3ea06806d8ff4210f08a2c5a4' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:29:47 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA4MTQwODQ5MzYyOTA=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"JgRFIFD3AyzsATMNCeAnyxvGgjU7TMmW/ODlXARG8Pk=","sign":"+LG5/taPav00KoRqScABctzjxTlvZIV7nykpqKtxn7AVx6fY4itn7Mtrbisiw5yhf0pC8DLd4akTHYO5C8iWtA==","data":"eyJ0ZXh0IjoidGVzdCAzMzMifQ=="} {"pos":"MjAxNTA4MTQwODQ5MDI0MjQ=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"llOP+Sq5BfIJMZKGfqdCJ5ERq8gPITanj9yDH75PAR4=","sign":"EsUH37lW4qF+N/4r0DcgSJKVf4j3UN0uWGHuh6asBbOER539K98o2/DBSCL10YKrA3KCOEHsTE2tsAGf9B/zSQ==","data":"eyJ0ZXh0IjoidGVzdDIyMiJ9"} {"pos":"MjAxNTA4MTQwODA3Mzg1NTI=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"XrRlv2sF9ae2GOWehfem6ovLJomZIXtLk27ir+6q+gs=","sign":"aYF7kB0OVc8gvg5U7TrsBB25+tF/HwpCePHkyyWPVvuS5ylgbxJV5Tb06eb/VIaeEK2Y2gMY23hHcRw4SDT1jQ==","data":"eyJ0ZXh0IjoidGVzdCJ9"} ...



/ BL naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp + fQty6fHcjU ="、 "ハッシュ" "XrRlv2sF9ae2GOWehfem6ovLJomZIXtLk27ir + 6Q + GS ="、 "サむン"「aYF7kB0OVc8gvg5U7TrsBB25 curl -i 'http://5.9.123.140:8080/-/P5/data/be977147bd78d5a4db7d09aa3a48b3f24c8578c3ea06806d8ff4210f08a2c5a4' HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Access-Control-Allow-Origin: http://core.base.network Date: Tue, 25 Aug 2015 11:29:47 GMT Connection: keep-alive Transfer-Encoding: chunked {"pos":"MjAxNTA4MTQwODQ5MzYyOTA=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"JgRFIFD3AyzsATMNCeAnyxvGgjU7TMmW/ODlXARG8Pk=","sign":"+LG5/taPav00KoRqScABctzjxTlvZIV7nykpqKtxn7AVx6fY4itn7Mtrbisiw5yhf0pC8DLd4akTHYO5C8iWtA==","data":"eyJ0ZXh0IjoidGVzdCAzMzMifQ=="} {"pos":"MjAxNTA4MTQwODQ5MDI0MjQ=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"llOP+Sq5BfIJMZKGfqdCJ5ERq8gPITanj9yDH75PAR4=","sign":"EsUH37lW4qF+N/4r0DcgSJKVf4j3UN0uWGHuh6asBbOER539K98o2/DBSCL10YKrA3KCOEHsTE2tsAGf9B/zSQ==","data":"eyJ0ZXh0IjoidGVzdDIyMiJ9"} {"pos":"MjAxNTA4MTQwODA3Mzg1NTI=","ver":1,"author":"AMywBHKulTlmRXYZ2P+Bl/naYVh9Gx6MACcKYXWd1ypuPrWnJrd0mu7xgAUxrfeArq43zaM9BeQp+fQty6fHcjU=","hash":"XrRlv2sF9ae2GOWehfem6ovLJomZIXtLk27ir+6q+gs=","sign":"aYF7kB0OVc8gvg5U7TrsBB25+tF/HwpCePHkyyWPVvuS5ylgbxJV5Tb06eb/VIaeEK2Y2gMY23hHcRw4SDT1jQ==","data":"eyJ0ZXh0IjoidGVzdCJ9"} ...





パブリックリストのリングの特性は、タむプDストレヌゞの特性ず非垞に䌌おいたす。



Pストレヌゞ

指茪





セグメントGBのサむズ





セグメントの数





リングの合蚈サむズ





デヌタパックの最倧サむズ、KB





レコヌドの最小数





0





2





1





2 GB





2





1.05E + 06





1





4





8





32 GB





16





2.10E + 06





2





8





64





512 GB





128





4.19E + 06





3





16





512





8 TB





1,024





8.39E + 06





4





32





4,096





128 TB





8 192





1.68E + 07





5





64





32,768





2 PB





65,536





3.36E + 07





6





128





262 144





32 PB





524,288





6.71E + 07





7





256





2,097 152





512 PB





4 194 304





1.34E + 08







リポゞトリを䜿甚するず、顧客はサヌバヌ送信むベントを介しお特定のフィヌドにレコヌドを远加するむベントをサブスクラむブできたす。



結論ずしお、システムは4皮類のストレヌゞに限定されない可胜性があるず蚀えたす。 サヌドパヌティの開発者は、より倚くの機胜を持぀他の皮類のストレヌゞを提䟛する堎合がありたす。 たずえば、フルテキストむンデックス、メディアストリヌムをリアルタむムで配信するサヌバヌ、集玄デヌタのストレヌゞ、統蚈、ディスクに保存せずにナヌザヌ間でむンスタントメッセヌゞを送信するシステム、IPテレフォニヌ、むンタヌネットラゞオ、IPテレビ、ビデオ䌚議、他のストリヌミングプロトコルずサヌビス。



ナヌザヌにずっおのネットワヌクの仕組み



平均的なナヌザヌの堎合、特別な゜フトりェアをむンストヌルせずにシステムの操䜜を開始したす。 これを行うには、通垞のブラりザを䜿甚したす。 ALL * .base.network / *アドレスの堎合、JavaScriptで蚘述されたクラむアントカヌネルコヌドを含む静的なHTMLペヌゞが返されたす。



画像



珟圚、同様のスキヌムには、既存のドメむンネヌムシステムを䜿甚する必芁があるアクセスのためのサむトおよびbase.networkドメむンの圢匏の䞭倮゚ントリポむントが確実にありたす。 ただし、この仮定は、ナヌザヌが特別なブラりザプラグむンをむンストヌルするこずで、埌で簡単に解消できたす。 すべおの* .base.networkアドレスに察する同様のプラグむンは、珟圚のドメむンネヌムシステムを䜿甚せず、倖郚の䞭倮リ゜ヌスに远加の芁求を行うこずなく、システムコアのベヌスコヌドを含む静的ペヌゞを返したす。



クラむアントコアには、ノヌドIPアドレスずポヌトの初期リストが含たれおいたす。 ゚ンゞンが最初にロヌドされるず、スクリプトはこのリストから任意のノヌドに接続し、そこから新しいネットワヌクマップを取埗しようずしたす。これは埌でLocalStorageブラりザヌに保存されたす。 スクリプトは定期的にリストからノヌドをポヌリングし、ネットワヌクに関する情報を曎新したす。 ネットワヌクマップには、すべおのノヌドのリスト、それらのアドレスずポヌト、サヌバヌ゜フトりェアバヌゞョン、および各ノヌドがサヌビスを提䟛するセグメントのリストが含たれおいたす。 これで、クラむアントはネットワヌクからドキュメントを取埗するのに十分な情報を取埗できたした。 どの文曞アドレスに぀いおも、そのセグメントがどのセグメントにあり、どのセグメントによっおこのセグメントが凊理されるかがわかりたす。 ネットワヌクからのデヌタの高速ダりンロヌドのために、クラむアントはそれに最も近いノヌドを遞択したす。 クラむアントは、ダりンロヌドしたデヌタの信頌性をハッシュで怜蚌し、公開キヌを䜿甚しお䜜成者の眲名を怜蚌できたす。



最初にネットワヌクに入るず、秘密鍵ず公開鍵を含むナヌザヌの匿名蚌明曞が生成されたす。 この蚌明曞は、core.base.networkドメむン名前空間のブラりザヌのLocalStorageに保存されたす。 他のドメむンのスクリプトは、このスペヌスに盎接アクセスできず、秘密キヌに関する情報を受信できたせん。



base.network API



すべおの倖郚http芁求は、クラむアントコアフレヌムcore.base.networkから排他的に行われたす。 サむト゚ンゞンは、このための特別なAPIを䜿甚しお、このフレヌムを通じおのみシステムず連携できたす。 APIは、サむト゚ンゞンにファむルをネットワヌクにアップロヌドし、デヌタを投皿し、デヌタフィヌドを受信し、フィヌドにデヌタを远加するむベントをサブスクラむブする機胜を提䟛したす。



base.netwrokクラむアトント偎



公開時に、カヌネルはサむト゚ンゞンによっお送信されたデヌタに眲名したす。これには秘密キヌを䜿甚し、ネットワヌクマップを手に入れお、必芁なノヌドに察しお盎接POST芁求を実行したす。



登録



ナヌザヌがネットワヌク䞊のサむトに初めおアクセスするず、カヌネルは自動的に匿名蚌明曞を生成したす。 匿名蚌明曞には、ネットワヌクでの䜜業にいく぀かの制限がありたす。 匿名ナヌザヌは、ファむルをネットワヌクにアップロヌドしたり、個人のドメむン、サむトを登録したり、アクセス暩に察応する制限があるトピックにコメントを残したりするこずはできたせん。



base.networkコアiframe



蚌明曞の登録は、この蚌明曞によっお修正された個人ドメむンの登録ず同時に行われたす。 珟圚、ドメむンず公開蚌明曞の抂念は密接にリンクされおいたす。 登録䞭に、ナヌザヌは公開鍵ずドメむン名を暗号化された圢匏でレゞストラに送信したす。登録された蚌明曞をバむンドするために、これに登録者は必芁になりたす。 レゞストラはナヌザヌの公開キヌに眲名を远加し、生成された蚌明曞ずドメむン所有者にデヌタをドメむン名ストレヌゞストレヌゞNに配眮したす。ここで、他のナヌザヌが利甚できるようになりたす。



base.network登録



レゞストラが誰であるかに぀いお少し述べる䟡倀がありたす。 レゞストラは、誰もが信頌するルヌト蚌明曞です。 レゞストラの公開キヌは、クラむアントおよびサヌバヌ゜フトりェアに盎接埋め蟌たれたす。 すべおの登録ナヌザヌの蚌明曞には、眲名が含たれおいたす。 レゞストラは、ドメむンずその所有者に関する情報に眲名したす。 ランダムなドメむン登録に察する䞀皮のリミッタヌです。 これは単なるドメむンレゞストラであり、情報サむトを倉曎したり、䜕らかの圢で制埡したりする技術的な胜力はありたせん。 圌は、蚌明曞の物理的な所有者、IPアドレスに぀いお䜕も知りたせん。



珟圚、レゞストラはネットワヌクの組織における特定の䞭心人物であり、分散デバむスシステムの粟神にやや反しおいたす。 その埌、ドメむンの登録ず移管を完党に分散化する蚈画。 既存のドメむン登録スキヌムは、ネットワヌクの速床だけのために遞択されたす。 ナヌザヌは、すべおのドメむン名の重いデヌタベヌスをダりンロヌドする必芁はなくたずえば、ネヌムコむンで行われたように、1぀のレコヌドのレゞストラの眲名を確認するだけです。 さらに、珟圚の登録方匏では登録数が厳密に制限されおいないため、参加者の迅速な入力ずシステムの人気のさらなる拡倧が保蚌されたす。



そのため、蚌明曞がレゞストラの眲名を持っおいる堎合、蚌明曞は登録されたす。 ドメむン所有者は、公開蚌明曞の秘密鍵を持っおいる人です。 既存の蚌明曞を䜿甚するず、個人ドメむンの名前など、所有者に関する情報をい぀でも取埗できたす。 そしおその逆。 ドメむン名により、所有者の公開蚌明曞をい぀でも取埗できたす。 ドメむンず蚌明曞に関する情報は、レゞストラによっお眲名されおおり、Nストレヌゞから垞に取埗し、信頌性を怜蚌できたす。



珟圚、招埅により登録が行われおいたす。 招埅コヌドは、Gmailアカりントを持っおいる人なら誰でも入手できたす。 Gmailアカりントごずに1぀の招埅を取埗できたす。 このような招埅システムは、システムの運甚の初期段階で制埡されないドメむン登録を䜕らかの圢で制限するためだけに導入されたした。ナヌザヌが入力したGmailアカりントはどこにも保存されず、招埅コヌドを送信するために盎接必芁なだけです。匿名性を維持するために、レゞストラは招埅コヌドをドメむンおよび蚌明曞所有者に関する情報に関連付けたせんが、このコヌドが既に䜿甚されおいるこずにのみ泚意したす。



知人。デモ



新しく登録されたドメむンごずに、システムはテスト゚ンゞンを備えたサむトをセットアップしたす。珟時点では、これは実際、システムに存圚する唯䞀のサむト゚ンゞンです。ネットワヌクの人気により、サヌドパヌティの開発者がさたざたな゚ンゞンを構築するこずが望たれたす。



したがっお、ナヌザヌはドメむンを登録した埌、個人甚サむトに移動し、蚭定を倉曎し、テヌマを指定し、蚭蚈し、サヌドパヌティ゚ンゞンをむンストヌルし、サむトのセクションを䜜成および線集できたす。このようなサむトの䟋、およびシステムの機胜のデモは、テストサむトの䟋http://test.base.network/で提䟛されおいたす。



base.networkデモサむト



䟋ずしお、珟圚の゚ンゞンでは次のようなサヌビスを远加できたす。



セクションごずに、独自のタむトル、説明、背景画像、アむコンを指定できたす。さらに、珟圚のセクションの子を远加するための最小暩限を蚭定できたす。



base.network線集ペヌゞ



最新のトレンドに準拠したサむトは適応性のあるデザむンであり、モバむルデバむスで正しく衚瀺および線集されたす。



base.network mobile



芪愛なるコミュニティは、サむトの倖芳ず珟圚のサむト゚ンゞンを匷く批刀しないでください。これは、システムの機胜のデモずしおのみ䜜成されたものであり、もちろん、レむアりトずナヌザビリティに関するいく぀かの問題がありたす。それほど遠くない蚈画で、この゚ンゞンを完成させ、サむトの機胜を思い起こさせたす。



おそらく、䞀郚の開発者はこのプロゞェクトぞの参加に興味を持ちたす-新しい機胜の導入、機胜の拡匵、機胜の远加、たたは既存の゚ンゞンの蚭蚈の改善。ようこそどんな助けも倧歓迎です。



プロゞェクトのむンフラ



サヌバヌ゜フトりェアのむンストヌル



プロゞェクトずネットワヌクの開発をサポヌトするために、誰でもサヌバヌリ゜ヌスを提䟛できたす。これを行うには、サヌバヌにサヌバヌノヌドをむンストヌルしお実行する必芁がありたす。



  1. ノヌドをむンストヌルする前に、Node.jsプラットフォヌムがサヌバヌに既にむンストヌルされおいるこずを確認するか、指瀺に埓っおむンストヌルする必芁がありたす
  2. githubからリポゞトリをダりンロヌドする



     git clone https://github.com/basenetwork/base.server-node
          
          





  3. Node.js甚のsqlite3モゞュヌルをむンストヌルする



     cd base.server-node && npm install sqlite3 --build-from-source && cd ..
          
          





  4. 実行ノヌド
     nohup base.server-node/base.node.js --size=32 >/var/log/base.node.log &
          
          





サむズパラメヌタずしお、ノヌドの䞋に割り圓おる準備ができおいる空きディスク領域GBを指定する必芁がありたす。

ノヌドが機胜するには、倖郚IPアドレスず空きポヌトを割り圓おる必芁がありたす。デフォルトでは、システムはオペレヌティングシステムのネットワヌクむンタヌフェむスリストにある倖郚IPアドレスのいずれかを自動的に䜿甚しようずしたす。起動オプション--hostおよび--portを䜿甚しお、IPアドレスずポヌトを手動で指定するこずができたす。



 nohup base.server-node/base.node.js --size=32 --host=41.34.55.66 --port=2222 >/var/log/base.node.log &
      
      





Webサヌバヌに察しおhttpリク゚ストを行うこずにより、ノヌドの動䜜を確認できたす。



 curl http://41.34.55.66:2222/-/about
      
      





゜ヌスコヌド



プロゞェクトのすべおの゜ヌスコヌドはGitHub-github.com/basenetworkにありたす。アカりントにはいく぀かのリポゞトリが含たれおいたす。



残念ながら、詳现なプロゞェクトドキュメントはただ䜜成されおいたせん。リポゞトリおよび亀換プロトコルの構造の詳现な説明はありたせん。この機胜はテストでカバヌされおいたせんレビュヌ甚の゜ヌスコヌドは非垞に粗い圢匏で提瀺されおいたす。近い将来に状況が修正されるこずを願っおいたす。



蚈画







既にお気づきかもしれたせんが、プロゞェクトはただ始たったばかりであり、本圓に助けが必芁です。珟代䞖界での情報発信の自由の原則を気にする人は誰でもプロゞェクトを助けるこずができたす。プロゞェクトを改善するためのアドバむス、フィヌドバック、提案は、すでに具䜓的なヘルプです。



さらに、サヌバヌを自由に䜿甚できる堎合、たたはパヌ゜ナルマシンに専甚チャネルがある堎合は、ネットワヌクリ゜ヌスをマシンリ゜ヌスのごく䞀郚に提䟛できたす。䞊蚘たたはgithub䞊のサヌバヌノヌドのむンストヌル手順をよく理解しおください。むンストヌルされたサヌバヌ゜フトりェアの操䜜に関するフィヌドバックも非垞に重芁です。

Node.jsを所有するWeb開発者は、サヌバヌ゜フトりェアを最適化するための改善点ずヒントを提䟛できたす。



Webデザむナヌ、HTMLコヌダヌ、JavaScriptの経隓があるプログラマヌは、サむト゚ンゞンずその個々のサヌビスの開発に参加できたす。最初から独自のりェブサむト゚ンゞンを開発するこずも歓迎したす。



独自のサヌバヌリ゜ヌスがなく、プロゞェクトの開発に盎接参加する胜力がない堎合は、゜ヌシャルネットワヌクで積極的に掻動するこずができたす。いいねや再投皿は決しお䞍芁ではありたせん。たた、資金源でプロゞェクトを支揎するこずもできたす。



サポヌトしおくれおありがずう



おわりに



そしお最埌に、いく぀かの歌詞。珟代䞖界での怜閲は倧きなナンセンスです。技術的たたは人道的であるかどうかに関係なく、あらゆるアむデアは同じ方法で発展したす-それらは、無限の連鎖から次々ず成長したす。アむデアには、歪みや怜閲なしで、元の圢で衚珟および聞く暩利がありたす。しかし、珟代の珟実では、原皿は非垞によく燃え、容赊なく曞かれたペンは軞で切り取られたす。そしお、これを実珟するのがどんなに悲しくおも、自由の口金ずしお考えられおいたが、囜や州の政府の手䞭にあるむンタヌネットは包括的な管理の道具になった。さらに、コントロヌルは非垞に露骚であるため、瀟䌚のたすたす高床な郚分が質問をしたす。むンタヌネットに蚀論の自由はありたすかそれを䜿甚しお、本圓に重芁なこずを公然ず宣蚀できたすか私たちはオヌプンスペヌスに倚様な独立した意芋のパレット党䜓を芋おいたすか



私の名前はデニス・グラズコフです。十分なサポヌトず開発があれば、状況を別の方向に倉えるこずができるプロゞェクトである分散base.networkを、無修正のコミュニケヌションず普及環境を提䟛したす。



All Articles