Parathreadとは

m_web3
Unchained
Published in
8 min readOct 12, 2019

Polkadotへの参入障壁を下げ、全体のComposabilityとRelaychain上のリソース活用を最適化

8月にGavin Wood東京を訪問した際、NeutorinoでKusama発表にあわせて紹介しされ、つい先日10月11日にマージされた「Parathread」について解説します。

https://twitter.com/gavofyork/status/1182543953897369600

Parachainとは

ParachainはPolkadotのRelaychainにつながる独立したブロックチェーンであり、Relaychainを通してParachain同士で任意のメッセージや価値の交換を行うことができます。ParachainはPolkadotにつながることにより、相互互換性と経済的セキュリティ共有の恩恵を享受することができます。つなげるためにはRelaychain上のParachainスロットをオークションを通して獲得し、一定期間のStakeをおこなう必要があります。Polkadot構想当初から存在している概念であり、詳細は過去のミートアップや記事でも紹介しているので参照してください。

https://medium.com/polkadot-network/polkadot-the-parachain-3808040a769a

Parathreadとは

Parathreadとはブロック毎に手数料を払い、Polkadotエコシステムに参加するためのParachainの代替となる仕組みです。ParathreadはParachainのPay-as-you-goモデルであり、低コストでRelaychainの恩恵を享受できるため、高いthroughputを要求しないチェーンにとっては最適です。

一言でいうと「低コストなParachain」

Parachainスロットを手に入れるには多額(20,000DOTs)のDOTを最大2年間、長期間にわたってStakeする必要があり、経済的コストが高いため参入障壁が高いです。また、すべてのパラチェーンが1スロットほどのthroughputを必要とするとはいえません。取引量の少ないチェーンはParachainコストを払うより、Parathreadとして少額(50–100DOTs)をStakeし、ブロックごとに手数料を払うほうが安上がりであり、取引量が増えたときにParachainにアップグレードすることができます。

Polkadotが巨大なコンピュータで、Parachainが物理メモリ上の可用性の高いアプリケーションだとすれば、Parathreadはメモリへ必要に応じてコピーすることのできるディスク上のアプリケーションだ。

―Joe Petrowski, Web3Foundation

https://medium.com/polkadot-network/parathreads-pay-as-you-go-parachains-7440d23dde06

Parathreadモデルが最適なアプリケーションは3つのタイプに分けられます:Polkadotに新規参入したいアプリ;パラチェーンスロットを失いたくないアプリ;書き込みより読み込みが多いアプリ。

Substrateで創られたチェーンはPolkadot上で3つのステイトを持つといえます:1)ブリッジもつ独立チェーン、2)Parachain、3)Parathread。チェーンはこの3つのステイトを技術的に、比較的簡単に変更することができます。Parachainのスロットを維持できなくなったチェーンは自動的にParathreadにダウングレードされます。

経済的観点からみたParathread

ParathreadとParachainの違いは技術的要素ではなく、経済的要素が大きいため後者を見ていきましょう。

Parachainはスロットオークションかガバナンスでの提案を通して登録されます。一方、ParathreadはParachainスロットを獲得するのにかかるコストより圧倒的に安い固定手数料(50–100DOTs)をロックすることで登録することができます。この手数料はParachainもそうであるように、ロック期間が終わると返却されます。

しかし、ここで手数料を払うことが保証するのは、ParathreadとしてコードをRelaychainに登録することのみであり、取引をRelaychainに送るためにはブロック毎にParathread同士のオークションに参加するための手数料を支払う必要があります。このブロックごとのオークションは、EthereumやBitcoinでのマイナーやバリデータへの手数料と同じであるため、トランザクション処理の需要に手数料は相対する関係があります。(Parachainの場合、トランザクション処理は保証されています。)

Parathreadブロックの手数料オークション

Relaychain上のParachainスロットのある割合は、Parathread用のプールとして指定されており、それぞれのParathreadのコレーターはアサインされたバリデーターにそのブロックの検証手数料を入札し、高い手数料を払うParathreadのブロックから検証されます。その入札額の80%はTreasuryに、20%はブロックバリデーターに支払われます。この割合はほかのトランザクション手数料と同じく、ガバナンスによってパラメータ変更される可能性があります。

Polkadot上の3種類のチェーン

Relaychainにつながるチェーンは3種類に分けられます

Polkadotは最終的には、Relaychain上でのトランザクションをなくし、Proof of Validityが唯一のRelaychainブロックに記録される情報になることを目指しています。つまりDOTの送金、ガバナンス、ステイキングやスマートコントラクトは、それぞれのシステムレベルのチェーンが処理することになります。1つ目のこれらのシステムレベルチェーンはガバナンスを通してデプロイされ、ネイティブトークンを持ちません。

二つ目の種類のチェーンは専用のスロットを持つParachainです。高いThroughputを必要とするDEXやステーブルコインチェーンなどがこれにあたります。

そして3つ目がParathreadであり、Polkadotのセキュリティと相互互換性を必要とする一方、高いThroughputと高頻度の書き込みをする必要のないチェーンを指します。

PolkadotエコシステムにおけるParathreadの役割

ParathreadはPolkadotへのアプリケーションの参入障壁を大幅に下げ、様々なインフラチェーンの導入や全体のcomposability(同じ概念の異なる要素を特定の方法で組み合わせて同一の別概念を作ること)を高める非常に重要な役割を持ちます。

Start hacking Parathreadwith Substrate today!

参照:

https://wiki.polkadot.network/en/latest/polkadot/learn/parathreads/

https://hackmd.io/UcOOzoyDR9WJpQBZICtg3Q?both#Parathread-Protocol

https://medium.com/polkadot-network/parathreads-pay-as-you-go-parachains-7440d23dde06

--

--