Financial Domain-Specific Languages

Embed Size (px)

Citation preview

Financial Domain-Specific Languages

Sergei Tikhomirov, University of Luxembourg, 30 March 2017

You Signed a Banking Contract

Did You Read It?

Why You Didnt Read It

Long

Way, way too long

Specialized vocabulary

Complex sentences

Written for lawyers, not for mere mortals

Can Computers Help?

Can computers help us understand contracts?

Only if they understand the language!

Computer Languages

Precise

Well-structured

Machine-readable

Types of Computer Languages

Markup langs: text structure (HTML)

Modeling langs: objects & relationships (UML)

Programming langs: computation (Java)

Objects of Financial Domain

Accounts, transactions, contracts

Who Gets What and When

Contract defines a set of transactions.

Who pays whom?

When?

Under what conditions?

Naive Approach (Imperative)

Describe how a computer should proceed

What if we forget a corner case?

Hard to automatically reason about

If today is 2018-01-01, send $100 from X to Y

A Better Approach (Declarative)

Describe what we want to achieve

Define small set of primitives

Combine them to define new contracts

Declarative Contract Examples

One($)

Give(One($))

Scale(100,One($))

C := When(2018,Scale(100,One($)))

And(Give(C),Scale(90,One()))

Our Contribution

In our recent paper, we combine:

Precise declarative financial language

Trustless execution via blockchain

Conclusion

Declarative language for finance is a good idea

Combined with blockchain even better!

Questions?

S. L. Peyton Jones, J-M. EberHow to Write a Financial Contract (2003)

A. Biryukov, D. Khovratovich, S. TikhomirovFindel: Secure Derivative Contracts for Ethereum (2017)

s-tikhomirov.github.io

Image Credits

ING contract photo: Sergei Tikhomirov

Punch card: Arnold Reinhold https://commons.wikimedia.org/wiki/File:FortranCardPROJ039.agr.jpg

XML: Dreftymac https://commons.wikimedia.org/wiki/File:XML.svg

Moscow City: Kirill Vinokurov https://www.flickr.com/photos/kvinokurov/14658257525/

Findel paper photo: Sergei Tikhomirov

Cryptocurrency Art Gallery https://www.flickr.com/photos/namecoin/22995486509