寄付窓口はこちら

ELI: LINE Crypto Currency Wallet Platform #linedevday

ELIは2020年5月に新たな仮想通貨ウォレットプラットフォームをリリースしました。新しいウォレットプラットフォームでは、非常に安全にコインの保管、預入れ、引出しを行うことができます。 統合インターフェイスを提供することで、多数のブロックチェーンのさまざまな構造や技術を使いやすくしています。また、ELI は金銭的価値のある仮想通貨を取り扱っているため、このプラットフォームではコインを保護する高度なセキュリティレベルを提供しています。 つまり、ELI はコインの安全性を保ちながら、LINE Groupの複数のサービスにまたがり仮想通貨を使いやすくすることをめざしています。日本におけるLINE の仮想通貨取引所BITMAX は、LN にこのプラットフォームを使用しています。 このプラットフォームは開発の背景知識がなくても理解できます。ブロックチェーンと BITMAX のウォレットシステムに関心のある方はぜひご参加ください。

f:id:niwatako:20201127150839p:plain

f:id:niwatako:20201127151019p:plain

f:id:niwatako:20201127151029p:plain

ELI は Crypto Currency Wallet Platformです。暗号資産を入れ保管し、そこから出せるシステムです。

LINEのグループ会社で使用可能なウォレット。BITMAXで使っています。アメリカBITFRONTでも使う予定です。

f:id:niwatako:20201127151113p:plain

何で、なぜ作ったのか。

主な機能と同作動するのか

今後の展望

f:id:niwatako:20201127151137p:plain

ユーザーAがBに取引所を通じてビットコインを移転したい時。

ユーザーAはBITMAXを使っています。ユーザーBは他の取引所を使っています。

銀行で、通常お金を送るには相手の口座情報が必要です。

ビットコインでも相手の口座が必要です。

ユーザーBは自分の取引所で口座開設を依頼します。ユーザーBに口座を割り当てます。

口座ができたのでAはBITMAXから送ります。ビットコインネットワークを分析し、ネットワークで通用する方法で送る必要があります。

2番のWithdrawです。

次にBが利用している取引所が、ビットコインネットワークを分析し、安全な時期に安全な方法で入金処理をする必要があります。

3。Depositです。

これで完了です。

ですがこれまで多くの攻撃にさらされてきました。外部殻だけでなく内部からも。

暗号資産を送りたい時、アカウントの開設、入出金、安全な保管、この4つが重要です。

一般的取引所では様々なん号資産を扱っています。数百種を扱うところもあります。

f:id:niwatako:20201127151435p:plain

BITMAXはEthereumも使っています。

BITMAXだけでなくBITFRONTもあります。別サービスなので双方それぞれ同じ開発が必要です。

それぞれビットコインとイーサリアムのネットワークを明確的に理解し安全なシステムを作らなくてはいけません。

これは非効率です。

LINEの他のチームでもブロックチェーンと意思疎通しながらさービス展開することを望んでいます。だからといってそれぞれがそれぞれにブロックチェーンにアクセスすると開発は非効率です。

各国法令に遵守しデータを渡すこともありますが、必要なリクエスト事項を受け取ってより安全に創る努力もしています。

こうしたリクエストを受け取った時、それぞれが同じ開発をしなければならず、より多くの非効率が発生します。

ELIが作られたポジションを見てみましょう。

グループ会社の様々なサービスは暗号資産と通信せずELIを通じて通信します。

f:id:niwatako:20201127151637p:plain

各サービスは複雑なことを理解する必要はなくELIに委任するだけで良くなります。

ELIを作った理由は非効率を防ぐためです。

f:id:niwatako:20201127151730p:plain

セキュリティレベルがバラバラな状態で暗号資産が保管される可能性もある。ELIは多くのレビューや研究から高いセキュリティできる強みがあり、法令遵守やメンテナンスの観点でも強みを発揮できる。

ELIの4つの機能を見てみましょう。

f:id:niwatako:20201127151812p:plain

AからBに出勤したい場合にCに送ると事故に繋がる可能性があります。事前にWithdrawAddress White Listに登録していれば、ホワイトリストになければ出勤できなくする役割があります。

Spending Limitも設定しています。設定金額異常動かそうとすれば管理者の承認を必要とする。

いつも100BTC程度出勤するのに1000BTC出金されれば異常かもしれません。通知して正常な取引化確認する機能です。

3つ目にこだわったのはセキュリティです。

どのようなセキュリティを提供しているかご説明します。

安全な金庫がここにあります。中には会社や顧客の資産が保管されています。

この金庫を開ける鍵が1つと考えてみましょう。安全かもしれませんが、1つの鍵を持っている人が会社や顧客の資産を奪うかもしれません。紛失し、誰かが広い、開けてしまうかも。または複製される恐れもあります。

この状態をシングルシグと呼びます。

私達はマルチシグを提供しています。3つのキーのうち2つがないと開けられない。

一つを紛失したり、1つを持っている誰かが悪意を持って開けようとしても、金庫は開けられません。

シングルシグよりセキュリティレベルが高く安全と言えます。

2of3 Multi sigと呼んでいます。

私達はMofN マルチシグで提供しています。

個人の鍵さえも安全に保管できないか考え、HMSというハードウェアを導入しキーを保管し管理しています。

内部の誰であってもキーを閲覧できない強いセキュリティを持っています。私達が使用しているHSMはアメリカからフィップス140-2 Level3と認定されていて、だれかが無理やり開けて中のキーを奪おうとすると、検知して自動でキーが削除されます。

外部からの脅威だけでなく、開発者や管理者など内部の人間であっても奪えない高いセキュリティを実現しています。

ELI独自のネットワークを作ったので、LINEの他のネットワークが攻撃され問題が生じても影響を受けません。

この図は技術的な部分を省略して完全に図式化したものではないと始めにお断りしておきます。

f:id:niwatako:20201127152331p:plain

BITMAX似口座開設を申し込むと、オフラインセキュリティルームに行き、オフラインコンピュータでオフラインでキーを作ります。

1つは、本物のキーが合ってそこに保管します。

もう一つはBITMAXにつながったKMSに保存されます。

BITMAXは最後の3つ目のキーの生成をELIに依頼します。

これで口座ができ、BITMAXはユーザーの口座をユーザーに表示できます。

ネットワークが違うところに保管されエチルので非常に安全と言えるでしょう。

出金は、ユーザーからBITMAXに依頼があると、KMSに署名を要求します。署名はKeyから作られ、署名からKeyは逆追跡できません。

生成した署名をELIに伝え、2つ目の署名をHSMに依頼します。

ここで1つの要求と2つの署名があります。ELIはブロックチェーンに送信します。

署名が検証され取り込まれると送金先の残高に反映される。

f:id:niwatako:20201127152627p:plain

f:id:niwatako:20201127152638p:plain

f:id:niwatako:20201127152646p:plain

HSMからは取り出せず、KMSは暗号化されているし、手に入れても3つのうちの1つ、セキュアオフラインストレージはどこにあるのか私達もわからないし、こちらも暗号化されているし、もし手に入れても1つしか手に入れてないので意味がない。

開発の際に大変だったこと

f:id:niwatako:20201127152727p:plain

HSMを扱うのが初めてで、扱うのが大変で、そのために発生したメモリリークの解決も大変だった。

それぞれ違う暗号資産を使う為手間取ったところもあった。

一つ例として、マルチシグをサポートしていないコインにもマルチシグを安全に実装する必要があり、スマートコントラクトで安全なマルチシグを作る努力も私達にとっては難しいものだった。

最後にELIの未来についてです。

暗号資産はこれまで多くの事件事故が発生しました。完全に安全と言えない形で管理してきたため事件が起きてきた。

私達は各国の法令を遵守し、安全に運営されているELIというプラットフォームを、ラインのグループ会社だけでなく世界の暗号資産のキーホルダーと、そして世界の他の取引所と、私達の価値を共有し、より安全な暗号資産の市場とインフラを構築するという夢を持っています。

今後すべてのユーザーと取引所にこのELIというウォレットサービスをお届けしていきたいと思っています。これからも私達にご注目ください。ELIについて発表は以上です。ご清聴ありがとございました。

f:id:niwatako:20201127152909p:plain