寄付窓口はこちら

スマートコントラクトを監視する新たなプロトコル #nodetokyo Day1-17

f:id:niwatako:20181119173823j:plain

f:id:niwatako:20181119173833j:plain

DAOのハックの問題がありました。

f:id:niwatako:20181119173837j:plain

今ではみんなわかっていて避けています。

f:id:niwatako:20181119173842j:plain

f:id:niwatako:20181119173921j:plain

これはDAOと一緒の原因、2年経っても同じハックが起きる

f:id:niwatako:20181119173950j:plain

QuantstampはSmartcontratのLifecycleを守る事業

f:id:niwatako:20181119174000j:plain

Auditなど

f:id:niwatako:20181119174038j:plain

開発をまだまだ進めている。

f:id:niwatako:20181119174110j:plain

f:id:niwatako:20181119174118j:plain

スマートコントラクトセキュリティは今までデプロイ前でした。あとにセキュリティを保つにはどうしたら良いのでしょうか。

テスト監査安全なデプロイなどが考えられますが、本番に出てからどのように強化するかは考えられていませんでした。

f:id:niwatako:20181119174158j:plain

コントラクトモニタリングという観点で、あまりに疑わしいトランザクションパターンが出てきたらモニタリングツールが検出することができる。

f:id:niwatako:20181119174240j:plain

難しい面もある。ハッキングされたらどうなるか

一部のコントラクトはPauseできて、ハッキングされたら一時停止してどうするか考えることができるものがある。

f:id:niwatako:20181119174304j:plain

ハッキングされたあとは原因を探して二度と起こらないようにして先に進めることになりますが、何千ドル単位から何万ドルという単位まで現行のやり方田はあまり現実劇ではありません。

f:id:niwatako:20181119174359j:plain

StakingProtocol

左側はコントラクトを使いたい人、開発して使って欲しい人達。

右側がセキュリティエキスパート。監査人や個人開発者など。スキルから報酬を得る

我々のプロトコルはこの2者を結びつける

f:id:niwatako:20181119174511j:plain

f:id:niwatako:20181119174533j:plain

SecurityExpertはコントラクトが安全であることにStakeする。

f:id:niwatako:20181119174622j:plain

三者トークンを持っていて投資したい人が入っても構わない。

f:id:niwatako:20181119174645j:plain

安全にコントラクトが運用されたらいいが

ハックされたらステークされたものをユーザーがもらえる

f:id:niwatako:20181119174703j:plain

脆弱性の定義

f:id:niwatako:20181119174725j:plain

悪いふるまいが何なのかはステークホルダーが決める。どのようなカバレッジが必要化は彼らが決める。

わざとバックドアを用意する場合がある。バックドアをハッキングして保険料を得ようという悪さがありうる。

そのためにセキュリティの専門家がチェックしてバックドアがないことを確認する必要がある。

安全だという自身があることでこれに対してトークンをステークするか自分で選べる

このためには

f:id:niwatako:20181119174841j:plain

ハックされたかどうかを決めなくてはいけない。

ポリシーコントラクト:残高が0で無い限り使いたいとすると

f:id:niwatako:20181119174904j:plain

これが0になると攻撃されたということになる。攻撃されたかされてないかをこのように判定する。

ステークホルダーがポリシーのコントラクトアドレスをSubmitする。

いろいろな条件があり、支払い頻度、ポリシーの長さがどれくらい(有効な期間)など。

SecurityExpertは対象コントラクトとポリシーコントラクトを両方検査する。

適切な状態を理解した上でトークンをステークするか決める。

f:id:niwatako:20181119175105j:plain

スケーラブルなVerificationができる。コントラクトのセキュリティとして使える。これを個人が利用できる。決定論的なコントラクトがあることで違反があるかを検査できる。安全性がます。Policyコントラクトがあればスコープを減らすこともできる。何が脆弱性となるのかを決定できる。

現在セキュリティエコシステムには足りない部分があると思う。モニタリングも重要。このレイヤを追加することでセキュリティがデプロイメントのあとにも適用できるということになると幅広くスマートコントラクトが適用されていくと思います。

f:id:niwatako:20181119175234j:plain

f:id:niwatako:20181119175323j:plain