Flowは、消費者向けオンチェーンアプリの開発者が消費者向けオンチェーンアプリの開発時の問題を解決する目的で構築したものです。Flowのチーフアーキテクトであり、ERC-721 NFT standardの共同執筆者であるDieter Shirley氏は、Flowを次のように表現しています。
誰もが使用でき、誰もが信頼でき、誰もシャットダウンできないコンピュータ。
プロトコルの設計の多くは、Dapper LabsでWeb3アプリケーションを構築する中で得られた教訓、特に(オンチェーンゲームとして初めて幅広い人気を獲得した)CryptoKittiesに基づいて行われました。このゲームは瞬く間に広まりましたが、その後、Ethereumネットワーク自体が負荷に圧倒されるほどのトラフィックを引き起こしたことで、自身の成功の影で苦戦を強いられました。
Flowの設計は、開発者とユーザーの両方に最高の体験を提供しながら、この負担を軽減する必要性に基づいて行われました。未来のブロックチェーンネットワークは、分散化という重要な柱を維持しながら、何百万人ものユーザーを処理できるものでなければなりません。
- 検証可能性
- 予測可能性/信頼性
- 公平なアクセス
- 許可不要の構成可能性(Permissionless Composability)
- 相互運用性
- セキュリティ
Flowは、ブロックチェーンのトリレンマを解決し、次世代のブロックチェーン技術を体現しています。分散化やユーザー体験を損なうことなく、シームレスな消費者向けスケールのアプリケーションを可能にするように構築されており、NBA Top Shot、NFL All Day、Mattel Creations、Disney Pinnacleのブロックチェーンネットワークとして採用されています。
What Makes Flow Unique
Flowは、高速で分散型、開発者フレンドリーなブロックチェーンであり、次世代のゲーム、アプリ、およびそれらを動かすデジタル資産の基盤となることを目的として設計されています。独自のマルチロールアーキテクチャをベースとし、スケーリングをシャーディングなしで実現するよう設計されているため、開発者にとって使いやすく、ACID準拠の環境を維持しながら、速度と処理能力を大幅に向上させることができます。強力なCadence言語によるスマートコントラクトの開発がネイティブで可能であり、Solidityで記述されたコントラクトとの完全なEthereum Virtual Machine (EVM) 互換性もサポートしています。
Flow Blockchain
- Multi-role architecture:Flowのマルチロールアーキテクチャにより、ネットワークはスケーリングが可能で、シャーディングなしで何十億ものユーザーにサービスを提供でき、コンセンサスおよび検証の分散化を低下させることなく利用できます。
- True Fast Finality:ほとんどの他のネットワークでは、トランザクションが逆転できない最終段階に到達するには、数分、1日、あるいは1週間もかかります。Flowでは、セキュリティを損なうことなく、最終段階に到達するまでの時間は中央値で10秒未満です。
- ネイティブVRF:Flowはプロトコルレベルでオンチェーンのランダム性を提供します。複雑な設定を実装したり、乱数一つあたり10ドル以上を支払ったりする代わりに、組み込みの関数を呼び出すだけです。(補足: Verifiable Random Function=疑似乱数関数)
- 消費者向けオンボーディング:Flowは一般消費者向けに設計されており、法定通貨から暗号通貨への安全で摩擦の少ないパスを促進する支払い進入車線(onramp)を備えています。
- EVM 互換性:Cadence 仮想マシン(VM)は、他のVMをその内部で実行できるほど強力であり、Dockerコンテナとほぼ同等の機能を備えています。この方法で最初に統合されたのは、EVMとEVM RPC APIです。
- 効率的なガス代:Flowブロックチェーンは極めて効率的であり、アプリケーションはより低いコストでより多くの計算を行うことができます。
Flow Cadence
- ネイティブアカウントの抽象化:Flowにはプロトコルネイティブなアカウント抽象化機能があります。すべてのアカウントはスマート・アカウントであり、スクリプト、複数の鍵、マルチ署名トランザクション、ソーシャルログインによるウォレットレスのオンボーディングをサポートしています。
- Gaslessトランザクション:Flowには、各トランザクションに対して複数の署名の役割があります。特に注目すべきは、支払者と承認者を別々に設定できることです。つまり、1つのアカウントでトランザクションに署名し、別のアカウントでそのトランザクションの支払いを実行できる機能がビルトインであるということです。
- セキュリティ:Flowのスマートコントラクトは、暗号資産およびアプリ向けのより簡単で安全、かつセキュアなプログラミング言語であるCadenceで記述されています。これは、最初の高レベルリソース指向のプログラミング言語です。
- 開発者の使いやすさ:Flowネットワークは、開発者の生産性を最大限に高めるように設計されています。その例としては、アップグレード可能なスマートコントラクトから、Flowエミュレーターに組み込まれたログサポートまで多岐にわたります。
Flow EVM
- スピード、コスト、互換性:Flow EVMは、監査済みのSolidityコントラクトをすべて、1トランザクションあたり平均1セント未満(通常はそれ以下!)で実行できます。L2ソリューションとは異なり、Flow EVMは数秒で真の最終性(true finality)に到達します。1週間ではなく😳。
- 他のEVMネットワークからのブリッジ:数十のチェーンからFlowに数百の資産をブリッジできます。
- VM トークンブリッジ:VM トークンブリッジにより、Flow Cadence と Flow EVM の間でアセットを簡単に、かつ一貫してブリッジできます。アセットは、単一のトランザクションでブリッジし、使用することもでき、EVM と Cadence 環境間の完全なコンポーザビリティを実現します。
- Cadence へのアクセス:Flow EVM から Cadence の機能やスマートコントラクトにアクセスし、ネイティブ VRF(乱数生成 in Solidity)、より低コストでより高い計算能力、Cadence Flow 上のあらゆるアセットを活用できます。
- EVM同等性:Flow EVMは、単にEVMと互換性があるだけでなく、真にEVMと同等です。EVMメインネットとまったく同じように動作するため、統合しようとした際に「些細な」相違や無限の「癖」に悩まされることはありません。イーサリアム・メインネットで動作するものは、Flow EVMでも動作します。
Learning Shortcuts
Flow 上での構築方法について全体像を把握するには、👈サイドバーの上から下まで順にたどってください。この手順に従うと、最も包括的なオンボーディング体験を得ることができます。
いきなりプールの深いところから始めたい場合は、高度なトピックへの直接リンクを以下に用意していますので、そちらをご覧ください!
Learn Cadence
Cadenceは、Flowと連携するように設計された最新のスマートコントラクトプログラミング言語です。新しい言語を学ぶことは投資ですが、Cadenceは他のブロックチェーン言語よりも安全で、より明確で、危険性が低いことがお分かりいただけるでしょう。さらに、これはFlowプロトコルのフルパワーを解き放ちます!
TIP
Solidityにすでに慣れている場合は、Solidity開発者向けガイドにてCadenceがどう働くかを確認してください。
Build with the EVM
Cadence を導入して本格的に学習する準備ができていない場合、「EVM++」をお試しください。既存のEVM コントラクトをデプロイして、Flow EVM がセキュリティを損なうことなく、ほぼすべての他の EVM ソリューションよりも高速かつ低コストであることを確認してください。
Flow EVM にデプロイすることで、Solidity コントラクトは、ネイティブ VRF(乱数生成) など、Flow Cadence の多くの機能にアクセスできるようになります。
Getting Started with App Development
Getting Startedチュートリアルでは、Flow Cadenceアプリケーションを構築するために必要なすべての内容をカバーしています。
- ローカル開発環境の設定(簡単かつ迅速です!)
- Flow Cadenceスマートコントラクトのデプロイややり取り
- あなたまたは他の開発者によって作成されたスマートコントラクトとやり取り可能なフロントエンドの構築
Core Contracts
Flowブロックチェーンは、独自のスマートコントラクト言語であるCadenceを使用して、コア・機能を実装しています。コア・機能は、コアコントラクトと呼ばれる一連のスマートコントラクトに分割されています。
- Fungible Token(交換可能なトークン):FungibleTokenコントラクトは、Fungible Token Standard(交換可能なトークン標準)を実装しています。これは、Flowでデプロイされた2番目のスマートコントラクトです。
- Flow Token(フロー・トークン):FlowTokenコントラクトは、FLOWネットワーク・トークンを定義します。
- Flow Fees(Flow手数料):FlowFeesコントラクトは、徴収されたすべてのFlow手数料が集められる場所です。
- Service Account(サービスアカウント):FlowServiceAccountコントラクトは、取引手数料とデプロイ権限の追跡を行い、Flowトークンの扱いに便利なメソッドを提供します。
- Staking Table(ステーキングテーブル):FlowIDTableStakingコントラクトは、ステークドノード、委任、報酬を管理する中心的なテーブルです。
- Epoch Contract(エポックコントラクト):FlowEpochコントラクトは、エポックフェーズを管理し、サービスイベントを発行するステートマシンです。
FLOW Token
FLOW(または$FLOW)トークンは、Flowネットワークのネイティブ通貨です。開発者およびユーザーは、FLOWを使用してネットワーク上で取引(transact)を行うことができます。開発者は、ピアツーピア決済(他人同士の決済)、サービス料金徴収、または消費者向け特典(rewards)のために、FLOWを直接アプリに統合することができます。FLOWは保有、転送、またはピアツーピア取引が可能です。
(補足: OpenSeaに代表されるようなP2P取引システムはFlowなら誰でも簡単に作成出来ます。)
- Flow トークンエコノミクスおよび FLOW トークンについてさらに詳しく知りたい場合は、Flow トークンエコノミクスガイドをご覧ください。
- FLOW トークンは、Flow のネイティブな交換可能なトークンです。アプリケーションでの FLOW トークンの使用方法についてさらに詳しく知りたい場合は、FLOW の記事をご覧ください。
Technical Background
- Flow技術入門は、Flowの仕組みを理解するのに最適な入門書です。
- 3つの技術ホワイトペーパーでは、Flowブロックチェーンネットワークの背後にあるユニークなイノベーションについて詳しく説明しています。
Last updated on Dec 11, 2024 by Chase Fleming
翻訳元
Flow BlockchainのCadence version1.0ドキュメント (Why Flow)