スマートコントラクトとしての権利移譲[登記][Solidity]

2018年5月9日

権利移譲の再発明とも言われるスマートコントラクトにおいて、とりわけ注目されているのが土地登記のシステムだ。

 

土地の売買において、スマートコントラクトの技術を活用すれば「対抗要件」を実現することができる。対抗要件とは当事者以外の第三者に、その土地の権利を証明することのできる事実的な証拠のようなものだ。つまりそれは登記であり、改ざん不可能な登記を実現するために暗号通貨を利用したシステムを利用する。

 

無論そのようなシステム自体が、結局法の下でしか認められないのは法治国家においては必須だが、所有権の移譲を可視化し、半ば自動的に執行することのできるシステムは多くの可能性を秘める。例えば権利移譲の仕組みを構成するコードは、モノの所有権を伝播するシステムとしてIoTなどの分野でも活用できる。

 

所有とは自身による証明ではなく、他者からの承認によってはじめて成り立つ。その他者としての存在が、人や組織ではなく(異論はあるだろうが)、非中央集権的なコードによって実現されるというのが何度繰り返し知ったとしてもやはり興味深い。今後それが様々なアプリケーションへと実装されていくのは間違いない。共同体内での承認が貨幣経済によって共同体の外部へと広がっていったように、暗号通貨によって担保された価値はネット内での活動をよりリアルへとあざなうだろう※1

 


 

Solidityによって権利移譲の仕組みを極力簡単に実装してみたのが下記のコードだ。移譲と言っても、Solidityのコードではよく利用されるコントラクトのオーナーを別のユーザーアドレスへと変更するプログラムである。しかしコントラクトに送金されてオーナーが勝手に他者に権利移譲されないような仕組み程度には機能を追加実装してみた。

 

 

仕組みとしては下記のような流れになる。

 

コントラクト生成時に土地の代金を設定し、その土地の現権利者が決まる。

 

買主によって代金が支払われると(コントラクトに送金)、その買主は仮権利者となり現権利者からの認証を受ける権利を持つ。

 

現権利者は、買主によって入金されると仮権利者に対して認証することができる。認証すると自身は前権利者となり、仮権利者は現権利者となる。前権利者は支払われた代金を受取ることができる。

 

28行目

Solidityのバージョン0.4.23からコンストラクタの記述が変わった。以前の記述方法は、function コントラクト名()だったが、constructor()になっていることに注意。

 

 

参照サイト・書籍


 

スマートコントラクトによる土地売買を考える(PDF)
慶應義塾大学 SFC 研究所 上席所員 斉藤 賢爾

 

登記については下記の書籍を参考にさせて頂いた。「対抗要件」という言葉を知ったのはこの書籍である。

 

 

※1 まさにこの時代のこの瞬間に、映画『レディ・プレイヤー1』を観ずに仮想と現実の境界における「価値」問題を語ることはできないはずだ。仮想空間であるオアシスを巡る権利移譲の裏側には、きっと上記のようなコードが記述されているに違いない。

 

 

 

LINEで送る
Pocket

Copyright © 2018 思考の葉 All Rights Reserved.  プライバシーポリシー