ATUMChainについての最新情報

ATUMChainというプロジェクトがあります。

ATUMChain

Tendermintベースで、まずNEM/ETHのアトミックスワップ、そしてBTCペア追加からはじまる、クロスチェーンアトミックスワップのプロトコルだそうです。

 

Tendermintに関しては今日書いた記事も見てね。

dPoSとDBFTの違い

とあるところでATUM開発者に直接対話する機会があったのですが、わかったことを書きます。

Tendermint

以前、ATUMはTendermintを使うとの情報を耳にしていました。なのでCosmosSDKもしくはLotionJSをつかっているのか?と聞いてみたところ、

「どちらも使ってみたが、クロスチェーンスワップに最適化するチューニングをするために、リファレンスのみを頼りにTendermintを独自に実装した。」

ということです。

技術力すげえ。

VM

ATUMChainはTendermintベースのチェーンですが、独自のVMを装備するようです。EVMかと確認したところ、そうではないそうです。

このVMを使って、開発者は独自に通貨ペアを定義できるようです。

btc/lc:jpyとかもできるっぽい。

このVMはEVMでないならどんな言語をコンパイルするのか、もしくはどんなスクリプトなのか?と聞いてみたところ、

On the first stage it will be own DSL / eDSL. What common language to use for contracts is a subject for discussion. It’s a good time now to propose something to us

ということです。

つまり、「まずは独自のドメイン固有言語(DSLもしくはexternal DSL)を使う。コントラクトに使う一般的な言語は議題にのぼっており、今なら提案も受け付けるよ」

ということで、厳密には決まってないようですね。

チェーン自体がHaskellをつかっているらしいので、まず最初はHaskellに依存したDSLになる可能性もあるようです。

マルチシグ

We can create cross only for chains with multisig.

ということです。

しかしetherscanにてトランザクションを確認したところ、単純なETH送信であり、「少なくとも一方のチェーンはマルチシグが使えないとクロスチェーンスワップできない」ということなのではないかと推測されます。

 

そもそもの仕組み

まず、注文はノード備え付けのAPIを叩いてつくります。これは想像に難くありません。

問題は、スワップをどうすんねん、ですね。

NEMは「NEM2になってアグリゲートトランザクションが実装される」「NEM2になってクロスチェーントランザクションが実装される」までまだたどり着いていない現状、想像が難しいものでした。

 

しつこく聞いてみたところ、丁寧に答えていただきました。答えとしては

  1. ノードにアカウントを登録する時に、自動でマルチシグ設定がなされる
  2. ユーザーのデポジットアドレスがマルチシグアカウントとなり、ランダムに選ばれたpayment gateway nodeとsome authorityが連署名者になる
  3. payment gateway nodeは最小で4つ。状況に応じて増やす。

とのことです。

 

仕組み上、

  • アカウント登録時に、マルチシグを共にするpayment gateway nodeと運命を共にすることがきまる
  • some authorityが導入されるため、トラストレスでなくなる
  • payment gateway nodeも、4つということなので信頼できるwitnessである

と考えられます。

Tendermintと聞いてたので、Cosmosみたいなインターオペラビリティをかましてくる壮大なものかと思っていましたが、想像とは少し違いました。

続報あればお伝えします。