Successfully reported this slideshow.
Upcoming SlideShare
×

# Financial Domain-Specific Languages

136 views

Published on

A short intro to languages for modeling contracts.

Published in: Software
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

### Financial Domain-Specific Languages

1. 1. Financial Domain-Specific Languages Sergei Tikhomirov, University of Luxembourg, 30 March 2017
2. 2. You Signed a Banking Contract
3. 3. Did You Read It?
4. 4. Why You Didn’t Read It ● Long ● Way, way too long ● Specialized vocabulary ● Complex sentences ● Written for lawyers, not for mere mortals
5. 5. Can Computers Help? ● Can computers help us understand contracts? ● Only if they understand the language!
6. 6. Computer Languages ● Precise ● Well-structured ● Machine-readable
7. 7. Types of Computer Languages ● Markup langs: text structure (HTML) ● Modeling langs: objects & relationships (UML) ● Programming langs: computation (Java)
8. 8. Objects of Financial Domain Accounts, transactions, contracts
9. 9. Who Gets What and When Contract defines a set of transactions. ● Who pays whom? ● When? ● Under what conditions?
10. 10. 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”
11. 11. A Better Approach (Declarative) ● Describe what we want to achieve ● Define small set of primitives ● Combine them to define new contracts
12. 12. Declarative Contract Examples ● One(\$) ● Give(One(\$)) ● Scale(100,One(\$)) ● C := When(2018,Scale(100,One(\$))) ● And(Give(C),Scale(90,One(£)))
13. 13. Our Contribution ● In our recent paper, we combine: ● Precise declarative financial language ● Trustless execution via blockchain
14. 14. Conclusion ● Declarative language for finance is a good idea ● Combined with blockchain – even better!
15. 15. Questions? ● S. L. Peyton Jones, J-M. Eber “How to Write a Financial Contract” (2003) ● A. Biryukov, D. Khovratovich, S. Tikhomirov “Findel: Secure Derivative Contracts for Ethereum” (2017) s-tikhomirov.github.io
16. 16. 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