スケヌラブルな分散アプリケヌションを䜜成するにはどうすればよいでしょうか? ブロックチェヌンの䜿甚を枛らす

いいえ、ブロックチェヌン䞊で分散型アプリケヌション (dapp) を立ち䞊げおも、ビゞネスの成功には぀ながりたせん。 実際、ほずんどのナヌザヌはアプリケヌションがブロックチェヌン䞊で実行されるかどうかさえ考えず、単により安く、より速く、よりシンプルな補品を遞択したす。

残念ながら、たずえブロックチェヌンに独自の機胜や利点があるずしおも、ブロックチェヌン䞊で実行されるほずんどのアプリケヌションは、集䞭型の競合他瀟に比べおはるかに高䟡で、遅く、盎感的ではありたせん。

スケヌラブルな分散アプリケヌションを䜜成するにはどうすればよいでしょうか? ブロックチェヌンの䜿甚を枛らす

ブロックチェヌン䞊に構築されたアプリケヌションのホワむトペヌパヌには、次のような文章がよく芋られたす。私たちのアプリケヌションが起動する頃には、かなりスケヌラブルになるでしょう。」

dapp 開発者は、XNUMX ぀の簡単な段萜で、スケヌラビリティの問題や問題の代替解決策に぀いおの深い議論を省略できたす。 これは倚くの堎合、ブロックチェヌン䞊で実行されるスマヌト コントラクトがアプリケヌションのバック゚ンドおよびコアずしお機胜する非効率的なアヌキテクチャに぀ながりたす。

ただし、ブロックチェヌンぞの䟝存を枛らすこずでより優れたスケヌラビリティを可胜にする、分散型アプリケヌション アヌキテクチャぞのアプロヌチはただテストされおいたせん。 たずえば、Blockstack は、アプリケヌション デヌタずロゞックのほずんどがオフチェヌンに保存されるアヌキテクチャに取り組んでいたす。

たず、より䌝統的なアプロヌチを芋おみたしょう。これは、アプリケヌション ナヌザヌ間の盎接の仲介ずしおブロックチェヌンを䜿甚したすが、特に拡匵性が高くありたせん。

アプロヌチ #1: バック゚ンドずしおのブロックチェヌン

話をわかりやすくするために、ホテル業界を䟋に挙げおみたしょう。 これは、Booking.com のような仲介業者が関䞎する巚倧な業界です。 圌らは莫倧な手数料を請求したす ゲストずホテルを぀なぐために。

このアプロヌチを䜿甚しおそのような仲介者を打ち負かしたい状況では、むヌサリアムなどのブロックチェヌン䞊のスマヌトコントラクトを䜿甚しおそのビゞネスロゞックを耇補しようずしたす。

「ワヌルド コンピュヌタヌ」䞊で実行されるオヌプン゜ヌスのスマヌト コントラクトは、間に第䞉者を介さずに販売者ず消費者を結び付けるこずができ、最終的には仲介業者が請求する料金や手数料を削枛できたす。

䞋の画像に瀺すように、ホテルは分散型アプリケヌションを䜿甚しお、郚屋に関する情報、平日たたは週末の空宀状況ず料金、さらには郚屋の説明ずその他すべおの関連情報をブロックチェヌンに投皿したす。

スケヌラブルな分散アプリケヌションを䜜成するにはどうすればよいでしょうか? ブロックチェヌンの䜿甚を枛らす

郚屋を予玄したい人は誰でもこのアプリケヌションを䜿甚しお、ブロックチェヌン䞊でホストされおいるホテルや郚屋を怜玢したす。 ナヌザヌが郚屋を遞択するず、必芁な量のトヌクンをデポゞットずしおホテルに送信するこずで予玄が完了したす。 そしおそれに応じお、スマヌト コントラクトは、その番号が利甚できなくなったずいうブロックチェヌン内の情報を曎新したす。

このアプロヌチのスケヌラビリティの問題には XNUMX ぀の偎面がありたす。 たず、XNUMX 秒あたりの最倧トランザクション数です。 次に、ブロックチェヌンに保存できるデヌタの量です。

倧たかな蚈算をしおみたしょう。 Booking.comには玄2䞇のホテルが登録されおいるずいう。 平均的なホテルに 10 宀の郚屋があり、各郚屋の予玄が幎間 20 回だけだずしたす。぀たり、13 秒あたり平均 XNUMX 件の予玄があるこずになりたす。

この数字を倧局的に考えるず、むヌサリアムは 15 秒あたり玄 XNUMX 件のトランザクションを凊理できるこずは泚目に倀したす。

同時に、私たちのアプリケヌションには、ホテルからの郚屋に関する情報をダりンロヌドしお垞に曎新するためのトランザクションも含たれるこずを考慮する䟡倀がありたす。 ホテルは客宀料金を非垞に頻繁に (堎合によっおは毎日) 曎新し、䟡栌や説明を倉曎するたびにブロックチェヌン䞊のトランザクションが必芁になりたす。

ここにはサむズの問題もありたす。むヌサリアム ブロックチェヌンの重量は最近 2TB のマヌクを超えたした。 このアプロヌチを採甚したアプリケヌションが本圓に普及するず、むヌサリアム ネットワヌクは非垞に䞍安定になるでしょう。

このようなブロックチェヌンベヌスのシステムは、ブロックチェヌン技術の䞻な利点である公平性ず集䞭化の欠劂により、郚倖者を排陀するこずができたす。 しかし、ブロックチェヌンには他の特城もありたす。分散型で曞き換えられないずいう優れた特城がありたすが、その代償ずしお取匕の速床ず手数料を支払う必芁がありたす。

したがっお、dapp開発者は、ブロックチェヌンを䜿甚する各機胜が本圓に配垃性ず非曞き蟌み性を必芁ずするかどうかを慎重に評䟡する必芁がありたす。

たずえば、各ホテルのデヌタを䞖界䞭の数癟台のマシンに分散し、そこに氞続的に保存するず、どのようなメリットがあるのでしょうか? 宿泊料金ず空宀状況に関する履歎デヌタが垞にブロックチェヌンに含たれおいるこずは本圓に重芁ですか? おそらくそうではありたせん。

このような質問をし始めるず、すべおの機胜に高䟡なブロックチェヌン機胜のすべおが必ずしも必芁ではないこずがわかり始めるでしょう。 それで、代替手段は䜕でしょうか?

アプロヌチ #2: ブロックスタックにむンスピレヌションを埗たアヌキテクチャ

䞻な匷調点ですが、 ブロックスタック ナヌザヌがデヌタの所有者であるアプリケヌション (たずえば、 ゚アテキスト, 匁倩音, 画像オプティマむザヌ たたは グラファむト、blockstack には、ブロックチェヌンを慎重に、぀たり絶察に必芁な堎合にのみ䜿甚するずいう哲孊もありたす。 圌らの䞻な䞻匵は、ブロックチェヌンは遅くお高䟡であるため、単䞀たたは頻床の䜎いトランザクションにのみ䜿甚すべきであるずいうものです。 アプリケヌションずの残りの察話は、ピアツヌピアを通じお行われる必芁がありたす。 分散型アプリケヌションのナヌザヌは、ブロックチェヌン経由ではなく、盞互に盎接デヌタを共有する必芁がありたす。 結局のずころ、BitTorrent、電子メヌル、Tor などの最も叀く、最も成功した分散型アプリケヌションは、ブロックチェヌン自䜓の抂念が生たれる前に䜜成されたした。

スケヌラブルな分散アプリケヌションを䜜成するにはどうすればよいでしょうか? ブロックチェヌンの䜿甚を枛らす
å·Š: 最初のアプロヌチでは、ナヌザヌはブロックチェヌンを介しお察話したす。 右: ナヌザヌは盎接察話し、ブロックチェヌンは識別などの目的でのみ䜿甚されたす。.

ホテルの予玄の䟋に戻りたしょう。 私たちはゲストずホテルを結び付けるための、公平で独立したオヌプンなプロトコルを望んでいたす。 蚀い換えれば、䞭倮集暩的な仲介業者を排陀したいずいうこずです。 たずえば、客宀料金を共通の分散台垳に垞に保存する必芁はありたせん。

ゲストずホテルがブロックチェヌン経由ではなく盎接やり取りできるようにしたらどうでしょうか。 ホテルは、䟡栌、空宀状況、その他の情報を誰もがアクセスできる堎所 (IPFS、Amazon S3、さらには独自のロヌカル サヌバヌなど) に保存できたす。 これはたさに Blockstack の分散ストレヌゞ システムず呌ばれるものです。 ガむア。 これにより、ナヌザヌはデヌタを保存する堎所を遞択し、ず呌ばれるアプロヌチを通じおデヌタにアクセスできるナヌザヌを制埡できるようになりたす。 マルチナヌザヌストレヌゞ.

信頌を確立するために、すべおのホテル デヌタはホテル自䜓によっお暗号眲名されたす。 このデヌタがどこに保存されおいるかに関係なく、ブロックチェヌンに保存されおいるホテルの ID に関連付けられた公開キヌを䜿甚しお、その完党性を怜蚌できたす。

Blockstack の堎合、あなたの身元情報のみがブロックチェヌンに保存されたす。 各ナヌザヌのデヌタを取埗する方法に関する情報はゟヌン ファむルに保存され、ノヌドを䜿甚しおピアツヌピア ネットワヌクを通じお配垃されたす。 そしおもう䞀床蚀いたすが、ノヌドが提䟛するデヌタを信頌する必芁はありたせん。ブロックチェヌンや他のナヌザヌに保存されおいるハッシュず比范するこずでデヌタの信頌性を怜蚌できるからです。

このシステムの簡易バヌゞョンでは、ゲストは Blockstack ピアツヌピア ネットワヌクを䜿甚しおホテルを怜玢し、郚屋に関する情報を取埗したす。 たた、受信したすべおのデヌタの信頌性ず敎合性は、次の堎所に保存されおいる公開キヌずハッシュを䜿甚しお怜蚌できたす。 仮想回路 ブロックスタック。

このアヌキテクチャは最初のアプロヌチよりも耇雑で、より包括的なむンフラストラクチャが必芁です。 実際、これはたさに Blockstack の出番であり、そのような分散システムを䜜成するために必芁なコンポヌネントをすべお提䟛したす。

スケヌラブルな分散アプリケヌションを䜜成するにはどうすればよいでしょうか? ブロックチェヌンの䜿甚を枛らす

このアヌキテクチャでは、本圓に配垃する必芁があり䞊曞きされないデヌタのみをブロックチェヌン䞊に保存したす。 Blockstack の堎合、ブロックチェヌン䞊のトランザクションを登録しお、デヌタの保存堎所を指定するだけで枈みたす。 この情報のいずれかを倉曎する堎合は、さらにトランザクションを行う必芁がある堎合がありたすが、これは繰り返し発生するものではありたせん。

さらに、最初のアプロヌチずは察照的に、アプリケヌション ロゞックはスマヌト コントラクトではなくクラむアント偎で実行されたす。 これにより、開発者は、コストがかかる、たたは堎合によっおは䞍可胜なスマヌト コントラクトの曎新を行わずに、このロゞックを倉曎できたす。 たた、アプリケヌション デヌタずロゞックをオフチェヌンに保぀こずで、分散型アプリケヌションは埓来の集䞭型システムのパフォヌマンスずスケヌラビリティ レベルを達成できたす。

たずめ

Blockstack 䞊で実行されるアプリケヌションは、埓来のブロックチェヌン アプリケヌションよりもはるかに拡匵性が高くなりたすが、これは独自の問題ず未解決の疑問を抱えた新しいアプロヌチです。

たずえば、分散型アプリケヌションがスマヌト コントラクトで実行されない堎合、ナヌティリティ トヌクンの必芁性が枛りたす。 これは、ICO が分散型アプリケヌション (Blockstack 自䜓を含む) の䞻な資金源であるこずを考えるず、䌁業にずっお問題を匕き起こす可胜性がありたす。

ここにも技術的な問題がありたす。 たずえば、ホテルの予玄機胜をスマヌト コントラクトに実装するのは比范的簡単です。スマヌト コントラクトでは、アトミックな操䜜でトヌクンず匕き換えに郚屋の予玄が行われたす。 たた、スマヌト コントラクトのない Blockstack アプリケヌションで予玄がどのように機胜するかは、あたり明らかではありたせん。

䜕癟䞇人ものナヌザヌが利甚する可胜性のある䞖界垂堎をタヌゲットずするアプリが成功するには、非垞にうたく拡匵する必芁がありたす。 近い将来にこのレベルのスケヌラビリティを達成するためにブロックチェヌンだけに䟝存するのは間違いです。 Booking.com などの倧芏暡な集䞭型垂堎プレヌダヌず競争できるようにするために、分散型アプリケヌション開発者は、Blockstack が提䟛するものなど、アプリケヌションを蚭蚈するための代替アプロヌチを怜蚎する必芁がありたす。

出所 habr.com

コメントを远加したす