Drupal and the Ethereum Blockchain
- 20 years web development
- 10 years with Drupal
- 1.5 years in Ethereum
- Developer at ConsenSys
- What is a Blockchain
- Why use Ethereum Blockchain
- Applications for decentralized web
- Drupal Ethereum Module & Roadmap
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?
"Sharing Economy" of
Uber, Airbnb, Spotify
Centralized User Data,
Don Tapscott: "How the Blockchain is changing money and business"
Value & Trust
Imagine the Blockchain as a
"Decentralized Consensus Database"
"0xd62e7da1d30af2abed70f0ec677fefe0a0db5774 owns 5 Bitcoin"
No central authority
Any state change requires a cryptographically signed Transaction
Global ledger with immutable records
- 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
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)
- 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)
- 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
Quality control signed digitally, Supply chain tracking, IOT
- Trusted voting / budgeting for NGOs
- Signed software releases
- Trusted peer reviews ...
How to connect Drupal and Ethereum?
Client side signing using Transaction-signers
Server just pulls data
(no private key on Server)
State and Roadmap
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
- Availability and acceptance of TX signers for all browsers
- Identity attestation
- 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
- Evaluate use cases, join discussion
- Tweet about #DrupalEthereum
- Join BOF tomorrow: 1pm at Room 312
The development of Drupal Ethereum Module
Has been sponsored by ConsenSys
Drupal and the Blockchain - Drupalcon Baltimore
By Thorsten Krug