SlideShare a Scribd company logo
1 of 8
A New Smart Contract Design Pattern:
ETHEREUM + IPFS + JVM = Offline SCs
CONCEPT ONLY
Mano Thanabalan
Head of Development
Otonomos BCC Singapore
2
Agenda
I. Introduction
II. Why a new Design Pattern?
III. The Design Pattern
IV. Key Design Considerations
V. The Build
VI. The Challenges
VII. Q&A
3
I. Introduction
Who am I?
● Head of Development at Otonomos BCC based in Singapore
● Full Stack Developer specializing in Blockchain and Smart Contract Applications
What is Otonomos?
● Otonomos is in the business of converting the specific section of Corporate Law
pertaining to company incorporations into self-enforcing Smart Contracts.
● We have designed and deployed our own Identity/KYC Protocol including Key
Recovery best practices.
● We have also designed a suite of Smart Contracts specifically tackling Corporate
Governance, Asset Management and optimization of real world management practices
by way of Smart Contractification
4
II. Why a new Design Pattern?
● To explore the possibilities of ‘Offline’ Smart Contracts
● To create a Language Agnostic Smart Contract Protocol
● To address Ethereum Smart Contract design challenges
➔ Size and Scale Limitations of Smart Contracts, i.e. gaslimit
➔ Limited feature set of Solidity vs more mature high-level languages
➔ Virtual Machine – EVM versus JVM
● To explore the mechanics of ‘offline’ Smart Contracts and its application in
new use cases and applications
➔ EtherOpt - Offline Crypto Options Order Book
➔ Otonomos - Offline Company Smart Contracts
➔ Blockchain Powered AI
5
III. The Design Pattern
Step 1: Deploy Offline SC Protocol
a. Stakeholders and Voting Mechanism
b. Logic for adding and removing stakeholders.
Step 2: Submit new ‘offline’ Txns
a. New ‘offline’ Smart Contract
b. State Change Txn on existing instance of ‘offline’
Smart Contract
Step 3: Verification Nodes
a. Listen for new Txns
b. Run State Change Function on JVM
c. Local verification of resultant state against state file.
d. If local verification passes, node will invoke verify
function on Offline SC Protocol
Step 4: Set Txn to Final
a. Once consensus is reached (Actual Votes > Required
Votes), Txn is set to final state.
b. No new txns are allowed until pending txn for a given
instance of a contract is set to final.
6
IV. Key Design Considerations
● When a new ‘Offline’ Smart Contract Instance its class file should be
immutable and all future ‘valid’ txns should reference it.
● A new txn should not be allowed if there is an existing pending txn for a given
Smart Contract Instance.
● A pending txn should NOT forever block new txns.
7
V. The Build
● The ‘Offline’ Smart Contract Protocol
● Github
● The Verification Node Application
● Design a ‘main’ application to run the Java Class
● Design a Standard Smart Contract Interface
● Design Authentication and Verification Logic
● Design Spam and Malicious code control logic
● The ‘Offline’ Smart Contract Design Guidelines
● Set of best practices to ensure deployable Smart Contracts.
8
VI. The Challenges
● Ensuring an incorruptible verification model
➔ Nodes must not be able to ‘falsely’ verify a bad transaction
● Preventing malicious ‘offline’ smart contracts
➔ For a start ‘Offline’ Smart Contracts will run within a predefined ‘main’
application that would restrict the scope of the Offline Smart Contract
• Scalability of the Protocol
➔ Whilst the ‘Offline’ Smart Contract could theoretically be large, what
happens when a high volume of large state change txns are submitted.

More Related Content

More from WithTheBest

HP Wearables and IoT - Our Story - Christine Hawkins
HP Wearables and IoT - Our Story - Christine HawkinsHP Wearables and IoT - Our Story - Christine Hawkins
HP Wearables and IoT - Our Story - Christine Hawkins
WithTheBest
 
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
WithTheBest
 
Deploying IoT to Support Low-Income Seniors at Home - Sombit Mishra
Deploying IoT to Support Low-Income Seniors at Home - Sombit MishraDeploying IoT to Support Low-Income Seniors at Home - Sombit Mishra
Deploying IoT to Support Low-Income Seniors at Home - Sombit Mishra
WithTheBest
 
Writing Node.js Bindings - General Principles - Gabriel Schulhof
Writing Node.js Bindings - General Principles - Gabriel SchulhofWriting Node.js Bindings - General Principles - Gabriel Schulhof
Writing Node.js Bindings - General Principles - Gabriel Schulhof
WithTheBest
 
Moving Beyond Technology-That-Works to Products-That-Matter
Moving Beyond Technology-That-Works to Products-That-MatterMoving Beyond Technology-That-Works to Products-That-Matter
Moving Beyond Technology-That-Works to Products-That-Matter
WithTheBest
 

More from WithTheBest (20)

Wizdish rovr
Wizdish rovrWizdish rovr
Wizdish rovr
 
Haptics & amp; null space vr
Haptics & amp; null space vrHaptics & amp; null space vr
Haptics & amp; null space vr
 
How we use vr to break the laws of physics
How we use vr to break the laws of physicsHow we use vr to break the laws of physics
How we use vr to break the laws of physics
 
The Virtual Self
The Virtual Self The Virtual Self
The Virtual Self
 
You dont have to be mad to do VR and AR ... but it helps
You dont have to be mad to do VR and AR ... but it helpsYou dont have to be mad to do VR and AR ... but it helps
You dont have to be mad to do VR and AR ... but it helps
 
Omnivirt overview
Omnivirt overviewOmnivirt overview
Omnivirt overview
 
VR Interactions - Jason Jerald
VR Interactions - Jason JeraldVR Interactions - Jason Jerald
VR Interactions - Jason Jerald
 
Japheth Funding your startup - dating the devil
Japheth  Funding your startup - dating the devilJapheth  Funding your startup - dating the devil
Japheth Funding your startup - dating the devil
 
Transported vr the virtual reality platform for real estate
Transported vr the virtual reality platform for real estateTransported vr the virtual reality platform for real estate
Transported vr the virtual reality platform for real estate
 
Measuring Behavior in VR - Rob Merki Cognitive VR
Measuring Behavior in VR - Rob Merki Cognitive VRMeasuring Behavior in VR - Rob Merki Cognitive VR
Measuring Behavior in VR - Rob Merki Cognitive VR
 
Global demand for Mixed Realty (VR/AR) content is about to explode.
Global demand for Mixed Realty (VR/AR) content is about to explode. Global demand for Mixed Realty (VR/AR) content is about to explode.
Global demand for Mixed Realty (VR/AR) content is about to explode.
 
VR, a new technology over 40,000 years old
VR, a new technology over 40,000 years oldVR, a new technology over 40,000 years old
VR, a new technology over 40,000 years old
 
Getting Started with Intelligent IoT Messaging - Ken Herron, Emy Carlan, and ...
Getting Started with Intelligent IoT Messaging - Ken Herron, Emy Carlan, and ...Getting Started with Intelligent IoT Messaging - Ken Herron, Emy Carlan, and ...
Getting Started with Intelligent IoT Messaging - Ken Herron, Emy Carlan, and ...
 
From Coffee to Cloud
From Coffee to CloudFrom Coffee to Cloud
From Coffee to Cloud
 
HP Wearables and IoT - Our Story - Christine Hawkins
HP Wearables and IoT - Our Story - Christine HawkinsHP Wearables and IoT - Our Story - Christine Hawkins
HP Wearables and IoT - Our Story - Christine Hawkins
 
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
 
Deploying IoT to Support Low-Income Seniors at Home - Sombit Mishra
Deploying IoT to Support Low-Income Seniors at Home - Sombit MishraDeploying IoT to Support Low-Income Seniors at Home - Sombit Mishra
Deploying IoT to Support Low-Income Seniors at Home - Sombit Mishra
 
Writing Node.js Bindings - General Principles - Gabriel Schulhof
Writing Node.js Bindings - General Principles - Gabriel SchulhofWriting Node.js Bindings - General Principles - Gabriel Schulhof
Writing Node.js Bindings - General Principles - Gabriel Schulhof
 
Ambient Intelligence - Parham Beheshti
Ambient Intelligence - Parham BeheshtiAmbient Intelligence - Parham Beheshti
Ambient Intelligence - Parham Beheshti
 
Moving Beyond Technology-That-Works to Products-That-Matter
Moving Beyond Technology-That-Works to Products-That-MatterMoving Beyond Technology-That-Works to Products-That-Matter
Moving Beyond Technology-That-Works to Products-That-Matter
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

A New Smart contract Design Pattern : Concept Proposal for an Ethereum, IPFS and JVM powered dApp - Mano Thanabalan, Otonomos

  • 1. A New Smart Contract Design Pattern: ETHEREUM + IPFS + JVM = Offline SCs CONCEPT ONLY Mano Thanabalan Head of Development Otonomos BCC Singapore
  • 2. 2 Agenda I. Introduction II. Why a new Design Pattern? III. The Design Pattern IV. Key Design Considerations V. The Build VI. The Challenges VII. Q&A
  • 3. 3 I. Introduction Who am I? ● Head of Development at Otonomos BCC based in Singapore ● Full Stack Developer specializing in Blockchain and Smart Contract Applications What is Otonomos? ● Otonomos is in the business of converting the specific section of Corporate Law pertaining to company incorporations into self-enforcing Smart Contracts. ● We have designed and deployed our own Identity/KYC Protocol including Key Recovery best practices. ● We have also designed a suite of Smart Contracts specifically tackling Corporate Governance, Asset Management and optimization of real world management practices by way of Smart Contractification
  • 4. 4 II. Why a new Design Pattern? ● To explore the possibilities of ‘Offline’ Smart Contracts ● To create a Language Agnostic Smart Contract Protocol ● To address Ethereum Smart Contract design challenges ➔ Size and Scale Limitations of Smart Contracts, i.e. gaslimit ➔ Limited feature set of Solidity vs more mature high-level languages ➔ Virtual Machine – EVM versus JVM ● To explore the mechanics of ‘offline’ Smart Contracts and its application in new use cases and applications ➔ EtherOpt - Offline Crypto Options Order Book ➔ Otonomos - Offline Company Smart Contracts ➔ Blockchain Powered AI
  • 5. 5 III. The Design Pattern Step 1: Deploy Offline SC Protocol a. Stakeholders and Voting Mechanism b. Logic for adding and removing stakeholders. Step 2: Submit new ‘offline’ Txns a. New ‘offline’ Smart Contract b. State Change Txn on existing instance of ‘offline’ Smart Contract Step 3: Verification Nodes a. Listen for new Txns b. Run State Change Function on JVM c. Local verification of resultant state against state file. d. If local verification passes, node will invoke verify function on Offline SC Protocol Step 4: Set Txn to Final a. Once consensus is reached (Actual Votes > Required Votes), Txn is set to final state. b. No new txns are allowed until pending txn for a given instance of a contract is set to final.
  • 6. 6 IV. Key Design Considerations ● When a new ‘Offline’ Smart Contract Instance its class file should be immutable and all future ‘valid’ txns should reference it. ● A new txn should not be allowed if there is an existing pending txn for a given Smart Contract Instance. ● A pending txn should NOT forever block new txns.
  • 7. 7 V. The Build ● The ‘Offline’ Smart Contract Protocol ● Github ● The Verification Node Application ● Design a ‘main’ application to run the Java Class ● Design a Standard Smart Contract Interface ● Design Authentication and Verification Logic ● Design Spam and Malicious code control logic ● The ‘Offline’ Smart Contract Design Guidelines ● Set of best practices to ensure deployable Smart Contracts.
  • 8. 8 VI. The Challenges ● Ensuring an incorruptible verification model ➔ Nodes must not be able to ‘falsely’ verify a bad transaction ● Preventing malicious ‘offline’ smart contracts ➔ For a start ‘Offline’ Smart Contracts will run within a predefined ‘main’ application that would restrict the scope of the Offline Smart Contract • Scalability of the Protocol ➔ Whilst the ‘Offline’ Smart Contract could theoretically be large, what happens when a high volume of large state change txns are submitted.