Algorand隔週レポート(5/22 - 6/4):レイヤー1 スマートコントラクト, レイヤー2 オフチェーンコントラクトなど

更新日:2020年6月15日




Algorandについての最新の情報をすべてのブロックチェーンコミュニティに共有します!

Algorandは、一般的かつシンプルなトランザクションをブロックチェーン自体で直接実行することができるLayer-1スマートコントラクトを提供しています。Layer-1スマートコントラクトは、TEALというコードで書かれています。このコードは、プログラマーにトランザクションを実装するための表現性を提供しています。TEALの今後の拡張機能では、プログラムがLayer-1の状態を保存し、口座残高や他のブロックチェーンの状態を検査して、さらに表現性を高めることができるようになります。さらに、Algorandは、より多くのカスタマイズとより専門的なツールを必要とするスマートコントラクトは「long-tail」を目指しているため、(レイヤー2の)オフチェーンコントラクトを提供しています。


さらに、Algorand Standard Assets (ASA)は、ALGOと同じセキュリティ、互換性、スピード、使いやすさの恩恵を受けることができます。アルゴランドチームは、ASAがステーブルコイン、ロイヤルティポイント、システムクレジット、ゲーム内ポイントを表現することを容易にしました


Algorand Walletに新機能が実装されました! Algorand Wallet v4.0.0.0は、Algorand上での取引の経験をさらに合理化、簡素化することを目的としています。Algorand Wallet内から取引ノートのフィールドを利用できるようになりました。また、取引を作成する際にメモを入力したり、取引詳細ビューから送信または受信した取引に添付されたメモを表示したりすることができます。

今後のニュースにもご期待ください。




開発状況

Github:

開発者アクティビティ(Coinlib.io):


最新の開発者リソースは、developer.algorand.orgを確認してください。


Algorand開発者の新ポータル

インターフェースが新しく強化され、開発者のため3種類の新しいコンテンツが用意されています。チュートリアル、ソリューション、記事です。これらの新しいコンテンツライブラリは、Algorand Developer Docsを補完しています。


リンク集: Browse all JavaScript Tutorials , Browse all Python Tutorials , Browse all Java Tutorials , Browse all Go Tutorials


開発賞プログラム

Algorand Developer Docsへの貢献

公式の Algorand Developer Documentation リポジトリが公開され、コミュニティからの投稿が可能になりました。Algorand Developer Documentation の公式リポジトリは https://github.com/algorand/docs にあり、MIT ライセンスの下で管理されています。


Algorand Contributing Guideを確認して、彼らが求めている貢献の種類や始める方法についての詳細な情報を確認してください。


Algorand財団開発者アンバサダープログラム

すでに多くの開発者が、Algorand フォーラムを通じて、Algorand ドキュメントに関する貴重なフィードバックを提供しています。



Algorand上に独自のアセットを生成する


Algorand Standard Assets(ASA)は、ALGOと同じセキュリティ、互換性、スピード、使いやすさの恩恵を受けることができます。Algorandチームは、ASAがステーブルコイン、ポイント、システム信用、ゲーム内ポイントなどを簡単に表現できるようにしました。このビデオを視聴して、簡単な手順でASAを作成する方法を学びましょう。

詳細情報はこちらをご確認ください:https://developer.algorand.org/articl…








Algorandスマートコントラクト構造


2層構造について


Algorandは、一般的かつシンプルな取引のために、安全かつ高速処理のレイヤ1スマートコントラクトを提供します。第2に、Algorandは、カスタマイズ性が要求されるスマートコントラクトの「long tail」(※1)のために、(レイヤー2)オフチェーンコントラクトを提供します。


Algorandオフチェーンコントラクトは、ライトニングネットワークなどのレイヤー2の支払ネットワークと混同しないようにしてください。支払ネットワークは高い専門性:を有している:彼らは、とある集団から別の集団への支払いを送信するためだけに存在しています。対照的に、Algorandオフチェーンコントラクトは、柔軟で汎用的なプログラムです


※1 販売機会の少ない商品でもアイテム数を幅広く取り揃えること、または対象となる顧客の総数を増やすことで、総体としての売上げを大きくしようとする考え方。



Algorand レイヤー1(オンチェーン)スマートコントラクト


Algorand レイヤー1スマートコントラクトは、多くの一般的かつ単純なトランザクションをブロックチェーン自体で直接実行します。例えば、Algorand レイヤー1スマートコントラクトは、先に述べたアトミック・スワップ・トランザクションよりも先進的です。例えば、アリスはボブへの支払いとボブから彼女への支払いの両方を含むアトミックトランスファーを作成します。彼女は自分の支払いに署名し、ボブは彼の支払いに署名し、両方の支払いを含む二重署名されたアトミックトランスファーがブロックチェーンに送信されます。


対照的に、Algorandのスマートコントラクト構造は、AlgorandのAlgoと同じレベルで、ユーザー定義のAlgorand Standard Assetsをビルトインでサポートしています。Algorandブロックチェーンは、うっかりトークンを作成したり破棄したりしないようにビルトインで保護し、オプションでトークンの凍結、クローバック、ミント、バーンを直接サポートします。

またAlgorand レイヤー1コントラクトは、一般的な「ポスト・アンド・セール」取引(post-and-sale)、証券化ローン、クラウドファンディング、認可済みの専用取引、マルチシグ・ウォレット、その他の単純なものや、繰り返しの取引などを直接サポートします。


レイヤー1 スマートコントラクトは、アセンブリーライクなスタックマシン言語である TEAL で書かれています。TEALは、先述した一般的なトランザクションを実装するための表現力をプログラマーに提供します。2020年夏までに準備される予定のTEALの「ステートフル」な拡張機能により、プログラムはレイヤー1の状態を保存し、口座残高や他のブロックチェーンの状態を検査して、さらに表現力を高めることができるようになります。またTEALは、オフチェーン・コントラクトのセキュリティ保証を強化します。


Algorand(レイヤー2)オフチェーンコントラクト


シンプルなブロックチェーントランザクションの多くは、レイヤー1で対応できますが、より専門的なツールを必要とするアプリケーションの「long tail」も存在します。例えば、次のようなものです。

  • コントラクトが大きすぎる場合:例えば、プライベートセールを管理するコントラクトでは、参加が許可されている適格投資家のデータベースや、ブラックリストに登録されている投資家のデータベースを参照する必要があります。これらのデータベースは、大きすぎて連鎖的に管理できない場合や、機密性が高くて公開できないなどの問題があります。

  • コントラクトの計算量が多すぎる場合:例えば、高度なプライバシーを提供するトークンを管理するコントラクトでは、ZK-STARKs や ZK-SNARKs などの計算量の多いライブラリが必要になるかもしれません。同様に、貴重な資産を扱う複雑なコントラクトでは、データ構造の整合性をチェックするアサーションを自由に使用する必要があります。このような計算は、他のクライアントの進行を妨げ、全員のブロックレートを低下させる可能性があります。

  • コントラクトが複雑すぎる場合:TEALは、単純なレイヤー1トランザクションをプログラミングするための強力で安全なツールですが、より複雑なアプリケーションでは、より