View
14
Download
0
Category
Preview:
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
Recommended