Drupal and the Ethereum Blockchain

#DrupalEthereum @digitaldonkey09

About me

  • 20 years ​​web development  
  • 10 years with Drupal
  • 1.5 years in Ethereum 
  • Developer at ConsenSys 

Overview

  • What is a Blockchain
  • Why use Ethereum Blockchain
  • Applications for decentralized web
  • Drupal Ethereum Module & Roadmap

06/29/2016

Blockchain gets popular

  • Banks trying to improve their interbank settlement
  • Governments exploring paperless e-government and registries
  • Healthcare - sharing evidence, verified prescriptions
  • Law - investigating the legal side of "smart contracts"
  • Energy - incentivizing energy efficiency and trading
  • IoT - Internet of things, sensors, appliances
  • NGOs - transparency in international aid & outcomes

Who cares about Blockchain?

Blockchain's promises

"Sharing Economy" of
Uber, Airbnb, Spotify

Centralized User Data,
Facebook, Google

Reduce
Middlemen

Self-sovereign
user identity

Internet of
Information

Don Tapscott: "How the Blockchain is changing money and business"

Internet of
Value & Trust

Blockchain

Imagine the Blockchain as a
"Decentralized Consensus  Database"

"0xd62e7da1d30af2abed70f0ec677fefe0a0db5774  owns 5 Bitcoin"

agree
agree
agree
agree
agree
agree

Ethereum Blockchain

Decentralized
P2P consensus

No central authority

 

Any state change requires a cryptographically signed Transaction

Global ledger with immutable records

Programmable money:
Smart Contracts

Ethereum

  • Public Ethereum Blockchain & Private chains
  • Ether is the currency in Ethereum:
      Anti-spam and incentive to run the network 
  • Data changes to Blockchain gets a immutable audit trail
  • Code is deployed to the blockchain

Ethereum is an open-source, public, blockchain-based distributed computing platform featuring smart contract (scripting) functionality

Smart Contracts in Ethereum

  • can run automatically when certain conditions are met
  • Addressable, can handle money / escrow, Turing-complete
  • Crowd founding as a Smart Contract:
Contract crowdFound
 if (account_balance) > $10,000
   move account_balance to founded_account
 else
   move donation_account to original_donor

(pseudocode)

Smart contracts are applications with a state stored in the blockchain

Transactions & Blocks

Blockchain "write" requires

  • the private key of the from address to sign the transaction
  • Some little fee for computation/data storage (public chains)

time

Blockchain Challenges

  • Young and nerdy technology
  • Ethereum Blockchain currently requires more than 65GB+ of disc space (about +1 GB per month)
  • Hard to set up and use for non-developers
  • Address  ⇔ Identity.
    Who is 0xd62e7da1d30af2abed70f0ec677fefe0a0db5774 ?
  • Decentralized file storage immature (IPFS) 

Transaction Signers

  • Mist browser   (Full Blockchain)
  • Metamask   (Browser extension)
    Coming up: MetaMascara (browser independent)
  • uPort   (Identity provider)
  • MyEthereumWallet   (Online or Offline browser)
  • Jaxx (Mobile App & Browser extension)
  • Hardware based signing (Ledger wallet)

Ethereum wallets, Identity providers ... 

Drupal Ethereum Module

  • Founded and abandoned in 2014
  • New approach in 2016
  • Ethereum PHP library
  • POC release recently

Drupal Ethereum Module

a few potential use cases

  • Identity provider for Ethereum 
  • Registries & Signing
    Editorial workflows and presentation for documents & signatures
  • Asset tracking
    Quality control signed digitally, Supply chain tracking, IOT
  • Trusted voting / budgeting for NGOs
    --> http://bit.ly/drupalvoting
  • Signed software releases
  • Trusted peer reviews ...

Current web

Ideal decentralization

How to connect Drupal and Ethereum?

Semi-decentralization

Client side signing using Transaction-signers

Server just pulls data

(no private key on Server)

State and Roadmap

Current: POC

  • Identity
    User connector connects Ethereum accounts and user profiles
  • Limited Transaction-signers 
  • Potential Ethereum paywall
    See Video https://youtu.be/Y5Sa7QtpXSE

Roadmap for MVP

  • Finish PHP library for complex data types
  • Make Transaction-signers pluggable & add more 
  • Create a UI for a deployable Login Contract
  • Contract management & deployment from Drupal backend

Drupal Ethereum module

Challenges and Outlook

Challenges

  • Availability and acceptance of TX signers for all browsers
  • Identity attestation

Next scopes

  • Evaluate voting / Field based voting
  • Create IPFS Field module (decentralized file storage)
  • Read & mirror TX content into Drupal entities

Why should Drupal care about Blockchain?

  • Blockchain technology provides a new trust layer to the internet
  • Drupal can provide Identity in the context of limited user groups
  • Implement enterprise level workflows, required for Document signing, Asset tracking ...
  • Explore new ways of NGO founding, budgeting, voting.
  • Drupal can be a bridge to end-user communities

Thank You

thorsten.krug@consensys.net
       @digitaldonkey09

The development of Drupal Ethereum Module
Has been sponsored by ConsenSys

       @ConsenSysLLC

https://consensys.net

slides.com/digitaldonkey/drupal-ethereum

Drupal and the Blockchain - Drupalcon Baltimore

By Thorsten Krug