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.

Polyglot Ethereum - Smart Contracts for the Enterprise

176 views

Published on

Smart contracts require integration with legacy systems. It is not enough to say "we have enterprise blockchain"; if it is not integrated, you have nothing.

Published in: Economy & Finance
  • Be the first to comment

  • Be the first to like this

Polyglot Ethereum - Smart Contracts for the Enterprise

  1. 1. Polyglot Ethereum Enabling Smart Contracts in Enterprises Mike Slinn January 16, 2018 World Crypto Economic Forum
  2. 2. Enterprises and Smart Contracts • Smart contracts require integration with legacy systems • Legacy systems dictate: o Integration points o Language bindings • IT policy dictates: o Security procedures o Approved technology
  3. 3. Its Not Enough to Say “We have enterprise blockchain” • What is the integration story? • If you can’t plug it in to existing systems you’ve got nothing
  4. 4. About Mike Slinn • Distinguished engineer • Expert witness • Operates ScalaCourses.com • Twitter: mslinn
  5. 5. Key Facts about Mike Slinn • Distributed computing focus • Wrote a book and an online course on security • Many computer languages (“polyglot”) • Produces business value by applying technology
  6. 6. Why Polyglot Smart Contracts? • To enable rule-based autonomous actions • …In large organizations and in society
  7. 7. Goal • To develop libraries and frameworks that support the integration needs of large organizations • To incorporate smart contracts / rule-based actions into supply chains o that interact with other entities (including humans). • Ethereum is not a requirement
  8. 8. Historically • Polyglot projects often become that way due to legacy system integration requirements. • The only way smart contracts / rule-based autonomous actions can be triggered or take action is by integrating the rules engine / Ethereum distributed system with whatever devices and systems need to be interacted with.
  9. 9. I have developed • A proof of concept that features multiple polyglot shells which can perform arbitrary processing via user input via consoles. • These shells share a common region of memory; any number of shells, in a variety of languages, can execute programs using the most desirable frameworks and bindings. • Inter-process communication is also possible
  10. 10. This means • Distributed systems can now be built that are 'best of breed' ... the best framework for the job, called from a program written in the best language for the job, and able to interact with other programs written in other languages.
  11. 11. The POC • Does not demonstrate all the concepts I have in mind yet • I intend to further develop and document the remainder in response to customer demand • I am ready to apply the lessons learned into projects
  12. 12. Libraries I Am Working With (1/3) • web3.js – JavaScript API for JSON-RPC • web3j – Java implementation of web3.js • web3j-scala – My idiomatic Scala wrapper for web3j
  13. 13. Libraries I Am Working With (2/3) • cli-loop – My polyglot console integrating Java and Scala code with interactive JavaScript, Python and Ruby (more languages possible). • consuela –100% Scala JSON-RPC. • sbt-ethereum – Essentially consuela, wrapped into an SBT Plugin (most Scala programmers use SBT as a full-featured Scala REPL).
  14. 14. Libraries I Am Working With (3/3) • beth - My Better ETHereum client using the above, also incorporating vert.x and Docker. • Goal: support distributed polyglot State Channels. • For example, ML projects often require Python, while enterprise projects often require JVM (Java, Scala, etc.)
  15. 15. Looking For Opportunity • Can work with or advise organizations using Ethereum / blockchain • Might found a startup or join an existing organization
  16. 16. Thank you! Mike Slinn mslinn@micronauticsResearch.com 650-678-2285

×