+ Law, Science and Technology MSCA ITN EJD n. 814177 MOATcoin: Exploring Challenges and Legal Implications of Smart Contracts Through a Gamelike DApp Experiment Biagio Distefano Universität Wien • Università di Bologna • Università di Torino Nadia Pocher Universitat Autònoma de Barcelona • Università di Bologna • KU Leuven Mirko Zichichi Universidad Politécnica de Madrid • Università di Bologna • Università di Torino
+ 2 Problem Scenario
+ 3 • A group of people decide to abide by a certain set of rules • They stipulate a contract, formalizing the rules • They decide that there should not be a hierarchy between the parties • They decide to remain peers
+ 4 • Violations need to be recorded in a transparent fashion • Violators need to be dealt with and face the consequences of their violations • There is the need for a dispute resolution system • The governance needs to be seamless
+ 5 • To address these issues we created a gamelike experiment • Twenty Law, Science and Technology Joint Doctorate candidate were involved • The experiment is still ongoing
+ 6 MOATcoin
+ A game of forbidden words 7 Rules of the game: • Work-related keywords are forbidden outside of the office premises • These keywords are: BIG DATA, AI, BLOCKCHAIN, PRIVACY, GDPR, IoT, IPR etc… • If someone says one of these keywords outside of the office , they have to pay a penalty • The penalty is… to buy a BEER
+ A game of forbidden words 8 Okay, but there are a few problems : • There are 20 of us… who’s going to police ? • How do we incentivize people to participate? • How do we avoid cheating ? • How do we handle dispute resolution ? • How do we keep track in a fair and transparent way?
+ System architecture 9 • LAST-JD candidates sign up contacting a telegram bot • Upon signing up, they are given 20 Tokens to start playing • If someone says a forbidden word outside of the office, another candidate can accuse them • The accusation can only happen in the group chat, for transparency reasons
+ System architecture 10 • The accusation is stored on the blockchain • The accusation costs one Token , that the accuser puts at stake on the accused candidate • The accused candidate has two choices : • Buy a beer to another candidate • Challenge the accusation
+ System architecture 11 If the accused chooses to buy the beer: • A different candidate must testify on that in the group chat • The action is stored on the blockchain • The staked Token is returned to the accuser • Reward tokens are issued to the accused, the accuser and the witness
+ System architecture 12 If the accused chooses to challenge the accusation: • The Stake gets paused • A trial is opened • The challenge is stored and opened on the blockchain • A poll is created in the group chat • The accused is now a defendant
+ System architecture 13 • Each candidate can cast their vote on the group chat’s poll • Every vote is stored on the blockchain • Each candidate’s vote weighs as much as the number of Tokens they have • At the end of the voting window, the sentence gets auto-executed
+ System architecture 14 If the defendant is found GUILTY : • The Stake gets un-paused • They will have to buy the beer If the defendant is found NOT GUILTY: • The accuser loses their Stake • The accuse/Stake is removed from the blockchain • The defendant will not have to buy the beer
+ 15 ARCHITECTURE
+ 16
+ 17
+ 18
+ 19
+ 20 Tech & Legal Issues
+ Technical Insight WHY THIS MATTERS BLOCKCHAIN TECH: • Despite being this just a game, it •Solidity ^0.5.3 showcases some important implications that apply to the real world •Custom ERC20 Token •Truffle • In particular, we have to question the •Ganache for development actual level of decentralization of the so called DAPPs •Ropsten testnet for “production” • Then, we have to ask what the software architecture implies under a legal standpoint INTEFRACE / BOT TECH: • Python3.7.4 • What are the problems • Django==3.0.4 • What could be the solutions • web3==5.7.0 • aiogram==2.6.1 • Sqlite3 for development • PostgreSQL for production 21
+ 22 LET’S TALK ABOUT MOATcoin • How decentralized is it, actually? • In order to play, you need MOAT coins • To get MOAT coins, you have two possibilities: • You can get them from @moatbot , that controls the address that is the owner of the smart contract • Someone you know sends you some of their MOAT coins • It is not completely decentralized , then: it’s a semi-permissioned ecosystem built on top of a permissionless blockchain
+ 23 LET’S TALK ABOUT MOATcoin • How decentralized is it, actually? • For convenience reasons , @moatbot controls your private key, aka your wallet • This means @moatbot will perform (sign) transactions on your behalf • This includes: stake on someone (accusing); testifying on someone; voting; sending MOAT coins; sending ETH • When using the app, then, you’re not truly the owner of your tokens, the app is just a service you use to access the blockchain • The developers could strip you of all of your tokens and ETH
+ LET’S TALK ABOUT MOATcoin 24 • Who built it? • It’s “open source” by default, because it’s on the blockchain [not necessarily true] • You could audit the code • But if you’re not a programmer, you have to trust the programmers who built it • Does it matter? YES!
+ HOW DO WE KNOW THAT THE SMART CONTRACT’S 25 CODE REFLECTS FAITHFULLY WHAT WE AGREED UPON OFF-CHAIN? • As of now, we don’t . • You have to trust the coders. This is a problem • We need a way to allow for a quick, formal, logically sound legal validation of the contract’s provisions against the smart contract’s code How can we achieve this?
+ Akoma Ntoso, Legal Ontologies, 26 LegalRuleML • The first step would be to write (markup) the contract in Akoma Ntoso • The second step would be to build an Ontology to operate with the contract • The third step would be to markup the provisions of the contract in LegalRuleML • The human-readable contract would now be machine-readable, too, and the smart contract’s logic correspondence with the contract’s provisions can be formally validated For further readings, see: • Cervone, Luca, Monica Palmirani, and Fabio Vitali. "The Intelligible Contract." Proceedings of the 53rd Hawaii International Conference on System Sciences. 2020 • Decode Project: https://decodeproject.eu/publications/decode-legal-ontology-smart-c ontracts
+ 27 Auditability and Trust auditability gains value only in three cases: (a) when the user can perform it (which is rarely the case); (b) when it is performed by an expert (yet another shift of trust); (c) when performed by the Open Source Community (OSC).
+ 28 Auditability and Trust trust is not eliminated, it is just spread across the liquid texture of the OSC what DLTs and DApps truly allow for is not the elimination of the need of trust in institutions or third parties, rather, they enable a virtuous cycle of trust empowerment with OSCs
+ OKAY, BUT WHAT IS MOATcoin? 29 • Technically speaking , it is a custom ERC20 Token , with custom rules of minting • The players serve as some sort of oracles , but not quite • It is similar to a Decentralized Autonomous Organization, but it is not, strictly speaking • The voting system is not democratic, rather meritocratic : • Your vote weighs as much as the number of coins you have • You can earn more coins only playing by the rules • Unjustly accusing someone will cost you a coin and your voting power will decrease accordingly • Your vote is not secret and cannot (technically) be
+ IS IT A CONTRACT, LEGALLY 30 SPEAKING? • Being ioci causa , of course, it is not. But what if it were not ioci causa ? • In our case, the agreement was formed between the participants before the smart contract was coded and deployed on the blockchain • In this case it would be safe to argue that MOATcoin is not a contract by itself • MOATcoin is just a tool that we use to track, transparently and permanently, the events that are relevant to the contract • Most real world applications fall within this classification
+ 31 DOES IT MATTER? If a smart contract is a legal contract per se : • What jurisdiction? • What law do we apply? • Who’s liable for bugs or security flaws?
+ FOR THE ARGUMENT’S SAKE, LET’S 32 SAY IT IS A CONTRACT Let’s say that none of us knew each other, that we all lived in different parts of the world, and that we enter into an agreement with each other solely via the smart contract. Theoretically, smart contracts are made in a way that should prevent litigation… some say that the code is the contract , with all its rules and possible bugs Still, there is margin for disagreement. See for example the DAO hack in 2016 that caused a hard fork of the Ethereum blockchain (and the Ethereum Classic [ETC] blockchain was born) Plus… people like to sue .
Recommend
More recommend