Welcome to Emeth developer’s document!

Emethとは?

記述中


記述中

募集要綱

分散演算基盤「Alt Emeth(オルツ・エメス)」オープニングフェーズの情報です。


概要

本フェーズは先に実施されたテストフェーズの次段階であり、本稼働フェーズ直前の、半オープンなテストフェーズという位置付けとなります。 一般より広く募集いたしますので、ぜひご参加ください。


スケジュール

以下の通り、3 Round に分けて実施いたします。

  • Round 1: 2021.8.1 〜 8.21 (終了)

  • Round 2-1: 2021.9.9 〜 9.11 (終了)

  • Round 2-2: 2021.10.9 〜 10.26 (終了)

  • Round 3-1: 2022.2.4 〜 2.14 (終了)

  • Round 3-2: 2022.4.11 〜 4.20


参加者募集期間

2021.7.21 〜Opening Phase終了まで


応募方法

以下のApplication Formよりお申し込みください。 ※応募者にオンライン面談を依頼する場合があります。

Opening Phase参加申し込みフォーム


参加要件

Ethereumに関する基礎知識

※Opening Phase Round 1はEthereumテストネット(Rinkeby)上で実施されます。 ※Opening Phase Round 2以降はEthereumと互換性の高いalt chain(testnet)上で実施されます。

以下は目安です。

  • アドレスを生成してPrivate Keyを取得することができる。

  • Faucet等でテストネットETHを取得できる。

  • ウォレット等でERC20トークンを管理できる。


推奨マシンスペック

以下は動作を保証するものではありません。 Opening Phaseは開発フェーズの一部であり、ハードウェア環境について現在も実験段階にあります。 そのため、自己責任で環境を準備できる方のみご参加下さい。

CPU:Intel Core i5-10400 4.3 GHz 相当以上

GPU:RTX 3080 (10GB RAM) 相当以上

メモリ:上記 GPU が積んでいる RAM の 2倍以上

ディスク:256GB 以上、余裕を持って 1〜2TB 推奨

電源:上記の構成を賄える容量のもの

ルール(Round 1)

Opening Phase Round1でのネットワークのルールを説明します。


設定情報

Emethクライアントに設定する設定情報は以下の通りです。

Round 1 設定情報
EmethCoreコントラクト
(emethConttactAddress).

0xa65617fFf0c9b5760B5E8AF111C8cc9604588ff2

EMTトークンコントラクト
(tokenContractAddress)

0x8652b03be5fdd664f342d6c9a888239fd3d65852

Storage API
(storageApi)

ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com


ネットワーク情報

Emethネットワークの設定情報です。

Round 1 ネットワーク情報

Verifier fee

0


JOBの割当

Emeth Coreコントラクトにattachされたノードには、ネットワークからJOBがアサインされます。 JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。

Round 1で投入されるJOBは、約100MBのデータセットによる自然言語モデル計算です。

最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。


計算結果の検査

ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間はマシンスペックとconfigのパラメータによって変わりますが、 1 JOBあたり数時間から十数時間です。

【参考】GeFource RTX 3080 (GPU Memory 10GB)、batchsize=3, epoch=2の場合で約6時間程度

計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果の検査が行われ、十分な精度のモデルができているか判定されます。

検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。

パスできない場合はepochの値を増やすことで精度が高まります。


1日あたりの処理上限

Opening Phaseではまだネットワーク参加者が少ないため、報酬トークンの極端な偏りを防ぐ措置として 1ノード辺りの獲得できるシェアに上限を設けています。

1日辺り8つのJOBがVerifyされると、その日はそれ以上のシェアを獲得できなくなります。シェアは獲得できませんが、引き続きJOBを引き受けることは可能です。 日が変わるとリセットされます。1日の起点はUTC 0:00です。

ルール(Round 2-1)

Opening Phase Round2-1でのネットワークのルールを説明します。


設定情報

Emethクライアントに設定する設定情報は以下の通りです。

Round 2-1 設定情報
EmethCoreコントラクト
(emethConttactAddress).

0x985C36Ab085cff3D7B48980084F0181A6c6a637C

EMTトークンコントラクト
(tokenContractAddress)

0x3dAC4e087d0AF73419F3F9E9436Ef2C1f3bC0b2A

Storage API
(storageApi)

ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com

RPCエンドポイント
(endpoint)

https://testnet.alt.ai


ネットワーク情報

Emethネットワークの設定情報です。

Round 2-1 ネットワーク情報

Verifier fee

10 EMT / JOB

Verify成功時にJOBの持つTransaction Feeから、失敗時にはノードのDepositから徴収されます

Deposit係数

1 EMT / Power Capacity

ノードのattachに必要なDeposit量は、PowerCapacityに応じて決まります。


JOBの割当

Emeth Coreコントラクトにattachされたノードには、ネットワークからJOBがアサインされます。 JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。

Round 2で投入されるJOBは、サイズ・データセットのバリエーションがRound 1に比べて増えました。 そのため、1つのJOBあたりの処理にかかる時間は、同じノードでも一定ではありません。

最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。


計算結果の検査

ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間はマシンスペックとconfigのパラメータによって変わります。

【参考】GeFource RTX 3080 (GPU Memory 10GB)、batchsize=3, epoch=2の場合で100MBサイズのデータセットに対して1JOBあたり約6時間程度

計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果の検査が行われ、十分な精度のモデルができているか判定されます。

検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。

パスできない場合はepochの値を増やすことで精度が高まります。


1日あたりの処理上限

Opening Phaseではまだネットワーク参加者が少ないため、報酬トークンの極端な偏りを防ぐ措置として 1ノード辺りの獲得できるシェアに上限を設けています。

100MBデータセットのJOBで換算すると1日あたり約16個ですが、JOBの大きさによって処理完了時のシェアの獲得量が異なります。 日が変わるとシェアの計算はリセットされます。1日の起点はUTC 0:00です。

ルール(Round 2-2)

Opening Phase Round2-2でのネットワークのルールを説明します。


設定情報

Emethクライアントに設定する設定情報は以下の通りです。

Round 2-2 設定情報
EmethCoreコントラクト
(emethConttactAddress).

0xB87FF4025D9782b1FBd541a1F649b4FB48BD9871

EMTトークンコントラクト
(tokenContractAddress)

0x691af7264535675636994d7C29c20834B27ec768

Storage API
(storageApi)

ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com

RPCエンドポイント
(endpoint)

https://testnet.alt.ai


ネットワーク情報

Emethネットワークの設定情報です。

Round 2-2 ネットワーク情報

Verifier fee

10 EMT / JOB

Verify成功時にJOBの持つTransaction Feeから、失敗時にはノードのDepositから徴収されます

Deposit係数

1 EMT / Power Capacity

ノードのattachに必要なDeposit量は、PowerCapacityに応じて決まります。


JOBの割当

Emeth Coreコントラクトにattachされたノードには、ネットワークからJOBがアサインされます。 JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。

Round 2で投入されるJOBは、サイズ・データセットのバリエーションがRound 1に比べて増えました。 そのため、1つのJOBあたりの処理にかかる時間は、同じノードでも一定ではありません。

最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。


計算結果の検査

ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間はマシンスペックとconfigのパラメータによって変わります。

【参考】GeFource RTX 3080 (GPU Memory 10GB)、batchsize=3, epoch=2の場合で100MBサイズのデータセットに対して1JOBあたり約6時間程度

計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果プロセスの検査が行われ、十分な計算がなされたかどうか判定されます。 Round2-2では、epoch >= 2 で計算が完了した場合に検査をパスします。

検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。


1日あたりの処理上限

Opening Phaseではまだネットワーク参加者が少ないため、報酬トークンの極端な偏りを防ぐ措置として 1ノード辺りの獲得できるシェアに上限を設けています。

100MBデータセットのJOBで換算すると1日あたり約16個ですが、JOBの大きさによって処理完了時のシェアの獲得量が異なります。 日が変わるとシェアの計算はリセットされます。1日の起点はUTC 0:00です。

ルール(Round 3)

Opening Phase Round3でのネットワークのルールを説明します。


Round 3 アップデート

JOB Assignerの廃止

以前まではAssignerという中央集権的なサーバが各ノードにJOBの割当を行っていましたが、 分散化を目指す思想に則り、各ノードが自分でJOBを選択・取得するように変更されました。 各ノードは設定された優先順位(例えばトランザクションフィーの有利な順)に従いJOBを選択し、 Coreコントラクトに対して受諾表明を行います。

JOB情報サーバの導入

Assigner廃止に伴い、各ノードはCoreコントラクトに対してJOB取得のために高頻度に参照アクセスを 行うことになります。これを助けるため、JOB情報サーバを導入しました。各ノードはコントラクトに 直接参照を行う代わりにJOB情報サーバを参照することで、スムーズに最新JOB情報を取得することができます。

Ethereumアドレスの自動設定

各workerは、設定ファイル(.env)にprivate keyを明示的に指定しない場合、 Ethereumアドレスを自動生成します。(masterには明示的に指定が必要です) 将来アップデートでは、各master/workerはこのアドレスに紐づく秘密鍵によって署名を行うことで 各々を認証するようになる予定です。 これは、masterとworkerがそれぞれ別の管理者によって運用される際にに互いを識別することを想定しています。

JOBサイズの多様化

これまでより多様なサイズのデータセットが投入されるようになりました。JOB完遂により獲得できるgasはデータセットサイズに比例します。 大きなJOBを処理するにはより多くのRAMを必要とします。 Round 3では、大きなものはこれまでの約3倍のデータサイズになります。

設定情報

Emethクライアントに設定する設定情報は以下の通りです。

Round 3 設定情報
EmethCoreコントラクト
(emethConttactAddress).

0xF55e6FB0948B37a197DA974E0A84727022F2D048

EMTトークンコントラクト
(tokenContractAddress)

0x6652521583190E398c6e59A7Ea41b60E74814b3B

Storage API
(storageApi)

https://emeth-storage.testnet.alt.ai

JOB情報サーバ API
(info_server_url)

http://ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com:3000

RPCエンドポイント
(endpoint)

https://testnet.alt.ai

学習epoch数
(n_epoch)

>=2 (R3のVerify条件は2以上。基本的でそれより大きくする必要はない)


ネットワーク情報

Emethネットワークの設定情報です。

Round 3 ネットワーク情報

Verifier fee

10 EMT / JOB

Verify成功時にJOBの持つTransaction Feeから、失敗時にはノードのDepositから徴収されます

Deposit係数

100% of transaction gas

ノードのattachに必要なDeposit量。JOBのgasに対する係数

Timeoutペナルティ

25% of deposit

引き受けたJOBがTimeoutした際にdepositから差し引かれるペナルティ

Declineペナルティ

25% of deposit

引き受けたJOBをdeclineによってキャンセルした際にdepositから差し引かれるペナルティ

Failedペナルティ

25% of deposit

引き受けたJOBがVerifierによって拒否された際にdepositから差し引かれるペナルティ


JOBの割当

※Round 3から、Emeth Coreコントラクトにノードをattachする必要がなくなりました。

Emethノード(masterと最低1つのworker)を起動すると、現在ネットワーク上にリクエストされているJOBの中から制限時間以内に処理可能なものを探します。 (この際、JOB情報サーバAPIがその補助を行います)

見つけたJOBに対して、その想定学習コストに応じて決定されるgasが設定されており、gasに応じたdeposit(EMT)を預け入れることでJOBを引き受けます。

JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。

最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。


計算結果の検査

ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間はマシンスペックとconfigのパラメータによって変わります。

【参考】GeFource RTX 3080 (GPU Memory 10GB)、batchsize=3, epoch=2の場合で100MBサイズのデータセットに対して1JOBあたり約6時間程度

計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果プロセスの検査が行われ、十分な計算がなされたかどうか判定されます。 Round3では、epoch >= 2 で計算が完了した場合に検査をパスします。

検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。


1日あたりの処理上限

Round3から、上限は撤廃されました。 日が変わるとシェアの計算はリセットされ、シェアに応じたEMTトークンの報酬が確定します。 1日の起点はUTC 0:00です。

ルール(Round 3-2)

Opening Phase Round3-2でのネットワークのルールを説明します。

【要注意】 pythonは3.8.10のサポートになりました。 またpip3とnpmのライブラリを最新にする必要があります

$ npm i
$ cd parallelGPT
$ pip3 -r install requirementgpu.txt

Round 3-2 アップデート

完了JOBのVerification方式の変更

難読化した情報によるVerificationを行う方式になりました。

GPT-2 日本語データセット対応

GPT-2アルゴリズムではこれまで英語データセットのみ対応していましたが、日本語データセットでの学習に対応しました。

日本語データセットのJOB追加

投入されるJOBも日本語データセットのものが追加されました。

小さなデータサイズのJOBを追加

Round 3では大きなデータサイズのJOBが追加されましたが、3-2では小さなデータサイズのJOBが追加されました。

モデルデータのキャッシュ容量設定

モデルデータはVerificationの完了まではマシン内に保存されています。JOBを高速に処理する場合、このモデルデータのキャッシュが ディスク容量を圧迫する場合があります。そこで、configにて最大容量を設定できるようになりました。


設定情報

Emethクライアントに設定する設定情報は以下の通りです。

Round 3-2 設定情報
EmethCoreコントラクト
(emethConttactAddress).

0x9960CE7d1eff7a33F5D57529552549D05b25570a

EMTトークンコントラクト
(tokenContractAddress)

0x3b384C60Fc840E70811dA26449fc47BCb0F07BcC

Storage API
(storageApi)

https://emeth-storage.testnet.alt.ai

JOB情報サーバ API
(info_server_url)

http://ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com:3000

RPCエンドポイント
(endpoint)

https://testnet.alt.ai

学習epoch数
(n_epoch)

>=30 (R3-2のVerify条件は30以上。それより大きくする必要はない)


ネットワーク情報

Emethネットワークの設定情報です。

Round 3-2 ネットワーク情報

Verifier fee

10 EMT / JOB

Verify成功時にJOBの持つTransaction Feeから、失敗時にはノードのDepositから徴収されます

Deposit係数

100% of transaction gas

ノードのattachに必要なDeposit量。JOBのgasに対する係数

Timeoutペナルティ

25% of deposit

引き受けたJOBがTimeoutした際にdepositから差し引かれるペナルティ

Declineペナルティ

25% of deposit

引き受けたJOBをdeclineによってキャンセルした際にdepositから差し引かれるペナルティ

Failedペナルティ

25% of deposit

引き受けたJOBがVerifierによって拒否された際にdepositから差し引かれるペナルティ


JOBの割当

※Round 3から、Emeth Coreコントラクトにノードをattachする必要がなくなりました。

Emethノード(masterと最低1つのworker)を起動すると、現在ネットワーク上にリクエストされているJOBの中から制限時間以内に処理可能なものを探します。 (この際、JOB情報サーバAPIがその補助を行います)

見つけたJOBに対して、その想定学習コストに応じて決定されるgasが設定されており、gasに応じたdeposit(EMT)を預け入れることでJOBを引き受けます。

JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。

最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。


計算結果の検査

ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間は、対象JOBのアルゴリズム、パラメータ、データセットサイズ、マシンスペック、configのパラメータによって変わります。

計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果プロセスの検査が行われ、十分な計算がなされたかどうか判定されます。

検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。


1日あたりの処理上限

Round3から、上限は撤廃されました。 日が変わるとシェアの計算はリセットされ、シェアに応じたEMTトークンの報酬が確定します。 1日の起点はUTC 0:00です。

報酬(Emeth Token)について

Opening PhaseでEmethネットワークに計算力を提供すると、報酬トークンを獲得できます。 これはテストネット上のトークンのため正式ローンチ前に破棄されますが、 ここで獲得したトークンと(原則)同量のEmethトークン(EMT)が正式ローンチ後に各参加者に配布されます。


Emethトークン(EMT)リワード獲得方法

JOB(計算リクエスト)を正しく処理したノードは、JOBの送信者が設定したトランザクションフィーと、Emethネットワークから払い出されるスロットリワードの2つを獲得します。

スロットリワード

ネットワーク全体で1日あたり約288,000 EMTがスロットリワードアロケーションとして確保されます。 スロットリワードはEmethネットワークにより毎日新たに生成されます。 各ノードはEmethネットワークからの計算リクエストを処理した量(gas)に応じてシェアを獲得します。 1日のスロットリワードアロケーションからシェアに応じた量のEMTトークンを獲得できます。 なお、1日のスロットリワードは1年辺り14400ずつ減少し、20年後には0になります。

トランザクションフィー

JOB送信者はJOBにトランザクションフィーとしていくらかのEMTを載せます。 トランザクションフィーは gas x gasPrice で計算されます。gasは学習モデルとデータセットサイズから算出される値で、 gasPriceは送信者の任意で設定される値です。


Mainnetでの配布

Open Phase中に獲得したEMTトークンは、正式トークンローンチ後に以下のスケジュールでMainnetのEMTトークンと交換されます。 Emeth 正式リリース前に、トークンのみ先行してローンチされる予定です。

※ただし、不正が認められた場合や、バグ等によってネットワークが正常に機能しなかった場合、運営の裁量により配分を変更する場合があります。

  • 正式トークンローンチ時: 獲得トークンの20%

  • ローンチ3ヶ月後: 残り獲得トークンの25%

  • ローンチ6ヶ月後: 残り獲得トークンの33%

  • ローンチ9ヶ月後: 残り獲得トークンの50%

  • ローンチ12ヶ月後: 残り獲得トークンの100%

インストール

Emeth Nodeクライアントのインストール方法


Emeth Nodeクライアント

以下のリポジトリにて公開されています。 インストール方法はリポジトリ内のREADME.mdを参照して下さい。

https://github.com/alt-emeth/emeth-node

【Tagから最新のバージョンを選択して下さい】

al+ chainセットアップ

EmethはOpening Phase Round 2以降はal+独自のブロックチェーンであるal+ chain上で動作します。

al+ chainはEthereum互換チェーンであるため、アドレスの運用方法やスマートコントラクトの動作・アクセス方法など、Ethereum完全互換となっています。 そのため、Round 1同様に、Ethereumに準じた環境で動作します。 Ethereumと同じアドレスを使用することができ、Metamaskからもal+ chainにアクセスすることができます。

Ethereumのセットアップ方法についてはここでは解説しませんが、必要になるいくつかの項目について説明します。


al+ chainネイティブトークンALTの入手

al+ chainでトランザクションを発行するために必要なgasを支払うには、ネイティブトークンALTが必要になります。 Opening Phaseはal+ chain testnetで行われるため、testnet ALTを運営から配布いたします。 次のEMTトークン同様に申し込みアドレスに配布します。


テストEMTトークンの入手

ノードのattachに必要なデポジット用EMTは、申し込み時に申告したアドレスに直接配布されます。


RPCエンドポイント

Round 2 設定情報
RPCエンドポイント

https://testnet.alt.ai

Chain ID

60001

Currency Symbol

ALT

Chain Explorer

https://testnet-scan.alt.ai

パラメータ設定

Emeth Nodeクライアントのconfファイル(master.json / worker.json)の設定目安について説明します。


batchSize

GPU memoryの大きさによって適切な数値が変わります。 GPU memory = 10GB の場合、3が目安になります。 設定値が大きいほど処理が早くなりますが、メモリ不足エラーが出る場合は小さくして下さい。


n_epochs

数値が大きいほど学習の精度が上がりますが、その分計算時間が長くなります。 Opening Phase Round 2-2以降では、ネットワークルールで指定された値以上のepochで計算を処理する必要があります。


powerCapacity

自身の処理能力を宣言するパラメータです。処理能力に応じてJOBが割り当てられます。 Opening Phase Round1の時点ではJOBサイズが一律のため、詳しく設定する必要はありません。

worker 1台につき27300を設定して下さい。

コマンド

Emeth Nodeクライアントのコマンド一覧


master

$ node dist/cli.js master

masterノードを起動します。


worker

$ node dist/cli.js worker

workerを起動します。先に接続先のmasterが起動している必要があります。


attach

※ Open Phase Round3 で廃止されました。attachせずにJOBを取得します。

$ node dist/cli.js attach

Emeth Coreコントラクトにattachし、JOBを割り当てを受ける状態にします。 masterを起動し、必要な数のworkerを接続しておく必要があります。


detach

※ Open Phase Round3 で廃止されました。

$ node dist/cli.js detach

Emeth Coreコントラクトからdetachします。JOBの割リ当てを受けなくなります。


decline

$ node dist/cli.js decline [JOBID]

指定したJOBIDのJOBを既に引き受けている場合、キャンセルします。JOBIDを省略した場合は引き受けている全てのJOBをキャンセルします。 JOB引き受け後にmaster/workerプロセスを終了するなどした場合、コントラクト上ではJOBを実行中のステータスのまま、計算が中断しています。


withdraw

$ node dist/cli.js withdraw

これまでに獲得したリワードをすべて引き出します。当日分のリワードは未確定のため引き出せません。


joblist

$ node dist/cli.js joblist

これまでに引き受けたJOBのステータスとデータサイズを一覧で取得します。

Emethネットワークの構成

記述中

ノードのattach

※ Round3にてノードのattach/detachは廃止されました。

Emethネットワークに参加するために、Emeth NodeクライアントはEmeth Coreコントラクトにattachする必要があります。


デポジット

ノードをattachするには、EMTトークンをデポジットする必要があります。 JOBを処理できなかった場合(JOB処理中の放棄、タイムアウト、計算結果のREJECT)に このデポジットからペナルティを支払います。

EmethNodeクライアントが使うEthereumアドレスに十分なEMTトークンを保有していれば、attachコマンドによって 自動的にデポジットされます。

デポジット額は、

PowerCapacity x 0.1 EMT

です。(PowerCapacity = 27300の場合、2730 EMTをデポジット)


Power Capacity

自身の処理能力を宣言する数値です。worker毎に設定し、masterは接続されているworkerの合計のPower Capacityを attach時に宣言します。 この値によって割当られるJOBが決められます。

Opening Phase Round 1の時点ではJOBサイズは一律のため、詳しい設定は不要です。


ノードのdetcch

以下のケースでは、detachコマンドを用いてCoreコントラクトからノードを一度detachします。

  • JOBの割当てを受けたくない場合

  • worker数が変更される場合

  • ペナルティ等によって減ったデポジットを補充する場合

再度attachコマンドを実行すると、最新の情報で再attachします。

EMTのデポジット

ノードがJOBを引き受ける際、EMTトークンをデポジットする必要があります。 JOBを処理できなかった場合(JOB処理中の放棄、タイムアウト、計算結果のREJECT)に このデポジットからペナルティを支払います。

EmethNodeクライアントが使うEthereumアドレスに十分なEMTトークンを保有していれば、JOB引受時に 自動的にデポジットされます。

デポジット額は、JOBの大きさに一定の係数をかけて算出されます。


Power Capacity

自身の処理能力を宣言する数値です。worker毎に設定し、masterは接続されているworkerの合計のPower Capacityを管理します。 この値によって、masterは各JOBの処理に必要な時間を計算し、引き受けるJOBを選択します。

JOBのステータス

JOBのステータスを解説します。


REQUESTED

依頼者によってJOBが作成され、Emethネットワークに投入された状態。


ASSIGNED

※ Open Phase Round3で廃止

REQUSETEDステータスのJOBが、Assignerによって特定のノードに割当てられた状態。


PROCESSING

ノードが自分にアサインされたJOBの処理を開始した状態。


SUBMITTED

ノードが計算結果を提出した状態。


VERIFIED

SUBMITTEDステータスのJOBが結果の検査にパスした状態


REJECTED

※ Open Phase Round3で廃止

AssignerがJOBを拒否した状態。


CANCELED

依頼者がJOBをキャンセルした状態。


TIMEOUT

JOBが特定のノードにアサインされてから一定時間が経過し、タイムアウトした状態。


FAILED

SUBMITTEDステータスのJOBが検査をパスしなかった状態。


DECLINED

アサインされたノードがJOBの実行中断し、拒否した状態。