Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Financial Domain-Specific Languages

136 views

Published on

A short intro to languages for modeling contracts.

Video: https://www.youtube.com/watch?v=yvBXBk6_510

Published in: Software
  • 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

×