next up we have a talk from Bill Murray
no he is a lawyer turned computer
scientist and he is turek talking about
agreement making in athyrium from a
legal perspective bill check check you
guys can hear me okay all right like
Jesse said I am a lawyer and I'm also a
computer science student at Cornell Tech
in New York City so today I'm going to
be talking about how some contract law
issues and other legal issues mess mesh
on to making smart contracts in athyrium
and I'm actually going to start in all
places in Venice actually I was walking
along the Greek now about 18 months ago
with my beautiful girlfriend and we
happened upon a man who had a Jason
Voorhees tattoo on his leg and of course
I got very excited because i also have a
Jason Voorhees tattoo on my leg I got it
free on Craigslist actually and it's a
really good story that I can tell you at
the bar tonight ow you're asking
yourself why is this relevant it's
relevant for two reasons first of all
it's friday the 13th and second of all
because jason voorhees as you may
remember from the bevy of sequels in the
franchise was an unstoppable force and
sometimes when you create a smart
contracts in a fury em you're creating
an unstoppable force and that affects
some of the contract law and legal
issues surrounding agreement making on
the platform so let me switch gears
we'll put a pin or maybe a machete in
the unstoppable force thing for a little
bit let me just define contract for you
this is the definition of a contract at
law this is um the one put out by
cornell university's legal information
institute which is a great resource by
the way contract and agreement creating
obligations enforceable by law now some
of you guys who have been here
we will immediately notice that this
very we that we refer to things here in
the etherium community that are outside
of this very circumscribed legal
definition of contract right we refer we
call things that are really more like
processes or agents contracts you've
probably heard it all week if you go to
the solidity tutorial you'll see that
the very first contract on there is a
simple storage it's really more like an
agent you know it's a place to set and
get data conversely sometimes I think
when we are using the term smart
contract with reference to athyrium we
actually are talking about something
that falls under that legal definitions
umbrella so this week you've also heard
about things like rental agreements
mortgage agreements founders agreements
over-the-counter derivatives contracts
insurance contracts and then that a bunt
do guys like prostitute contract I never
thought of bunt you would be the ones to
go there what it happened so all of
these are like I said under that kind of
legal definition and baby by now you're
already saying like you know what what
does this guy talking about like are we
here to kind of tear down contract law
and maybe tear down the courts and
replace these things with um I think
Gavin actually said it nicely the court
of the Internet and the answer is yes
but you know I'm a litigator so I have
sort of courtside seats that's upon to
how expensive enforcing agreements in
court is but at the same time I think
and this is kind of my thesis for today
I don't think that we want to reject
contract law I think as we're building
out this platform and we're thinking
about how to best create agreements in
the fear iam smart contracts we actually
want to look at contract law we want to
learn from it we want to embrace it
there's a couple benefits there one is
that if we create contracts legal
contracts we protect ourselves against
auto enforcement failing and maybe in
the early early years of the platform
that
happen it can happen two different ways
right you can have something that auto
enforces and even when it auto enforces
a party you will say well it wasn't a
real contract at law so I'm not really
bound to it conversely you can have the
opposite which is you can have something
that fails to auto enforce right and
then you want to go to court to try to
enforce it there was a misfire so we
kind of create this backstop if we are
looking at contract long and trying to
track it closely we also benefit from
contract law principles you know
contract law was at one time a lot like
etherium it was an invention it was new
and shiny and its purpose was to create
reliability and to hold people to their
promises and so I think we can we can
learn from its principles and then
lastly if we are careful about how we
treat contract law and other laws in
these early years I think that we can
show the world that this is a substitute
for legal agreement making and on board
a lot of people onto the platform that
way okay so I'm going to tell you guys a
couple pointers how you can kind of look
towards contract law and learn from it
and so forth and I want this to be an
ongoing discussion you know as you heard
I'm a lawyer who's in school for
computer science and I've been digging
into a theorem for maybe five or six
months maximum so these are kind of some
of my observations and some of the
things I'm thinking about and let's keep
the conversation going that's kind of
the overarching theme here so I'm one
thing you can do though that I've
noticed is I think there's a lot of
benefit to learning contract law and
then writing functions and
choreographing initializations such that
you closely track it I don't think that
you really need a lawyer to learn
contract law you know we're in the age
of googling and auto didacticism I think
that's a word where you can pretty much
teach yourself anything and although the
legal community has built this kind of
farcical moat around legal knowledge I
think maybe it's time for us
to start tearing that down if if you can
debug you know a test net by by pouring
over stack exchange for hours then I
think you can master some of the
principles of contract law those are
things like offer acceptance
consideration I'm not going to get into
to those right now because my time has
been cut down a little bit but I'm go
home read about these things I'm here to
help you and after you kind of get a
mastery of them what I would try to do
is write contract functions and also
think about like initializing contracts
in ways that Hugh closely to these
building blocks of contract law actually
the other day vivillon and Christian and
Alex they built a contract here on stage
and solidity and maybe subconsciously
they did a really good job of tracking
offer and acceptance very closely so I
would um go and check out their code
after you have a chance to read about
offer and acceptance and so forth okay
just as a side note if you do follow
these principles really closely courts
had been pretty good about enforcing
digital agreements when they contain
those contract law elements a while
several years ago there was this wave of
legislation that legitimized digital
signatures and and since then courts
have been eager to enforce all sorts of
digital agreements from people creating
an agreement by emailing back and forth
to click wrap agreements so bye-bye like
I said before hewing closely to these
contract law building blocks you
probably create something that's
enforceable in court if it's not
automatically unfortunate sometimes
those things don't really map onto
functions very well these are things
like choice of law provisions warranties
and dim enough occations and something
that's a little bit more specific to the
etherium universe I think there's a lot
of benefit to having these kind of
ancillary agreements one is maybe
something that choreographs how the
parties are
going to call functions you know
contracts are not self waking so unless
you're using something like Piper's
amazing alarm clock application you you
want to agree with the other party
beforehand how are you guys are going to
call functions and related to that as
you might also want to have some
policies for gas reimbursement so all of
these things are not easy at least right
now I don't see ways that they easily
map onto functions so I would think
about them and think if there are other
ways you can build them into your smart
contracts there's a couple of hacks here
that I've been looking at and I'm
definitely curious to hear you guys
ideas these are everything from just
putting them in your solidity comments
which is not very good because it it
doesn't keep it you know holistically
with the rest of the contract I think
things like swarm I PFS Nats spec those
might be good places to stash these
other things so I'm looking all of that
I think byte code would be the ideal
place to stash that kind of stuff but I
don't know that that's feasible if it if
it is feasible we should maybe start
that conversation another thing is to
engineer evidentiary lay one of the best
things about law school is it kind of
teaches you to start thinking with eyes
towards court you know everything you do
your kind of thinking like what if this
winds up in court and when you're
creating smart contracts that can be a
useful thing even if we're not talking
about brick and mortar chords we could
be talking about some kind of digital
dispute resolution distributed dispute
resolution maybe be thinking about those
things while you're creating your smart
contracts and I'm going to t this up
this way imagine that we had a Venn
diagram okay and it was people who know
solidity and then people in this room
you might think that there's probably a
lot of overlap right and that might look
like Garfield's eyes okay see there's a
lot of overlap gah now let's create
another Venn diagram people who know
solidity and I don't need to like
disparage the other languages I just I
work mostly in solidity so let's create
another Venn diagram people who know
solidity and then potential jury members
and that you can imagine is less overlap
so it might look like sponge
Bob's eyes just a teeny little overlap
and then lastly let's do a Venn diagram
of people who know solidity and then
judges and as you can probably guess
there's basically no overlap and then as
for good measure I would also just put a
big separation between them so it's kind
of like Stewie's eyes that's the Venn
diagram so this is a long-winded way of
saying that if you ever have to take
your code into court or maybe even to
some sort of consensus based dispute
resolution contract that is operated by
humans there they might not be able to
read your code so you might want to
think about a couple hats than ways to
get around that issue and some of the
ones that have come up with you know
like what I mean to say is like think
about embellishing your solidity code
with legible contract style language and
it's it's sort of like the hacks I was
talking about earlier I'm not quite sure
where to pop them at this point you
might pop them in your solidity code you
might pop them in some of these
ancillary stores like swarm and that
spec you might even think of paper or
offline agreements that can somehow
communicate with your smart contracts
but are legible to judges and jury
members and so forth ok one last way to
embrace contract law is to pay attention
to the special risks of creating that
unstoppable force that we talked about
before gavel ESET it nicely earlier I
think you're talking about the system
but he said there's no reset and that's
also true of your contracts they're
immutable they're automatically
enforcing so that comes to play in a
differ a couple different areas one is
is rescission modification Reformation
so in normal contract law sometimes
circumstances change and the parties
want to go in and undo their contract
that's called a mutual decision
sometimes a court orders parties to go
in and undo their contract they might do
that for example of one party was a
minor that is called rescission the
parties might also have a reason to
modify their agreement that's usually
just called modification doesn't really
have an
and sometimes the court orders the
parties to modify their contracts this
might be because they did a bad job of
distilling their intentions into writing
so you need to think about this and ways
to kind of reconstruct like how do you
go about these things how do you rescind
the contract how do you reform it I'm
going to skip a little bit ahead because
i'm getting the time signal but i have a
couple hacks here you know they involve
the enums that Christian was talking
about earlier in the week are amazing to
turn like your functions on and off and
so forth sometimes I think suicide is a
better idea you don't just deal with
these things with respect to rescission
Reformation but also what if something
illegal winds up in your contract
everything from hippo violating medical
data to non PCI compliant credit card
data to Jared the subway guy kind of
stuff like if those things wind up in
your contract what do you do how do you
peel them out so that something you have
to think about in my last couple of
minutes I want to just focus on a
potpourri of issues all in this realm ok
so I'm a New Yorker and lately scoring f
feels a lot like trying to score meth
which is that it's impossible it seems
like a lot of the ethics changes have
that evacuated the markets in the wake
of bit license actually I kind of have
proof of that this is my rejection of
cripsy we aren't able to approve your
application at this time due to New York
virtual currency bit license
requirements and this is my rejection
from crack in unfortunately we no longer
offer our services to residents in New
York due to bit license so I think we we
should be talking about this like is
this regulation having a chilling effect
on development actually I was at an
event with Jesse you know three weeks
ago on a couple people coming out to him
and asking like where can I get at it
seems so hard so let's be thur let's
talk about that we need more engineers
who know law in more lawyers who can
code that's kind of why I'm here to help
start bridging that gap and we need a
lot more like me I work for I do
research for this awesome crypto
currency and crypto contract initiative
that's a partnership between professors
at UMD Cornell in Berkeley it's called
ic3 that's the website you should
definitely check it out here are my
acknowledgments a lot of people helped
me prepare this talk including some of
the people in this room thank you so
much and then lastly let's make this an
annual thing at the end clap for me to
come back because I want to I want to
come here every year and talk about the
development of these like legal issues I
think everything is in this kind of
nascent stage and you know let's let's
all have this conversation continued
that's it thank you so much