Blockchain concept and technology. How this is becoming the next trend after the Bitcoin, expanding to a myriad of solutions. Smart contracts might be using a public distributed, and encrypted platform to support data persistence.
Blockchain. Everyone talks about it, but how does it really work?
This talk covers the fundamentals and discusses real world examples of how blockchain is being used to transform healthcare, real estate, humanitarian aid, governance and other domains.
See the original talk at: https://www.facebook.com/thekasbahhub/videos/1875008969491362/
Blockchain workshop PwC March 2018. Explanation of bitcoin and blockchain, Historical analogies, pros and cons, examlples. (Slides don't tell the full story, it included hands on activtiies)
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad SarangNinad Sarang
Introduction to Blockchain and Bitcoin technologies
Things we will cover,
* What is TRANSACTION ?
* BlockChain !!!……Never heard what is that??
* The BTC Aka BitCoins
* Who discovered?
* How it works?
* Advantages & Disadvantages
* Applications
Blockchain concept and technology. How this is becoming the next trend after the Bitcoin, expanding to a myriad of solutions. Smart contracts might be using a public distributed, and encrypted platform to support data persistence.
Blockchain. Everyone talks about it, but how does it really work?
This talk covers the fundamentals and discusses real world examples of how blockchain is being used to transform healthcare, real estate, humanitarian aid, governance and other domains.
See the original talk at: https://www.facebook.com/thekasbahhub/videos/1875008969491362/
Blockchain workshop PwC March 2018. Explanation of bitcoin and blockchain, Historical analogies, pros and cons, examlples. (Slides don't tell the full story, it included hands on activtiies)
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad SarangNinad Sarang
Introduction to Blockchain and Bitcoin technologies
Things we will cover,
* What is TRANSACTION ?
* BlockChain !!!……Never heard what is that??
* The BTC Aka BitCoins
* Who discovered?
* How it works?
* Advantages & Disadvantages
* Applications
There are new and emerging opportunities for organisations in all sectors to create and deliver compelling services for their customers using the power of disruptive innovation. As organisations formulate their plans for the coming months, this paper aims to help business and public sector leaders understand the cultural and organisational challenges that are inevitably brought by the use of blockchain technologies, and provides them with the insights they need to overcome them.
Content that helps to understand bitcoin and blockchain. Starts with currency basics, to clear the fact that bitcoin is not doing anything tangentially wrong. Followed by that bitcoin is covered and blockchain in detail.
Blockchain and Bitcoin : A Technical Overviewanupriti
Blockchain is a distributed database that is used to maintain a continuously growing list of records, called blocks. Each block contains a timestamp and a link to a previous block and is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks.Bitcoin is a proven application that runs on BLOCKCHAIN.This ppt gives the reader an over view of the concept of BLOCKCHAIN.The same was presented by self on 20th June 2017 at Gurgaon Commissioner of Police office during Summer Internship Program under aegis of Shri Rakshit Tandon
Bitcoin and blockchain are not the same things, although they are related in that blockchain technology was first described and implemented in Bitcoin. Learn More about Blockchain:
Web3 Security: The Blockchain is Your SIEMTal Be'ery
2021’s hottest new tech term, according to TechCrunch, was “definitely Web3”. Web3, as its name suggests, is considered by many as the future of the internet: decentralized, permissionless, and based on modern blockchain technology. While Web3 might have a bright future, it’s in the middle of growing pains: A number of Web3 apps were hacked in 2021, leading to theft of cryptoassets valued at hundreds of millions of US Dollars. In this talk we will present Web3 app technology, dissect new attack surfaces, and suggest new and exciting defense mechanisms.
First, we will dive into the technical details of Web3 applications, showing how Web3 technology opens new attack surfaces by moving app functionality onto the blockchain. We will then analyze these newly-exposed attack surfaces by reviewing a few examples we’ve discovered “in the wild.”
While Web3 exposes new attack surfaces, it also provides novel detection opportunities. Specifically, the public and transparent nature of the blockchain allows security researchers to immediately explore full details of any attack and, as a result, leads to quick and thorough discoveries. This is a paradigm shift in security research, as current practices only allow a few to learn actual attack details, only some portions of which are shared publicly. This shift in transparency allowed us to independently explore the aforementioned attacks.
Furthermore, we believe we can do even better and go beyond rapid post-mortem reports. We will show how the same raw data we had previously used for a post-mortem analysis can be analyzed in real-time (or even ante factum by “taking a peek” into the blocks that have yet to be mined) to detect and even prevent attacks. This capability is enabled by the online nature of the blockchain and its inherent block time delays. In fact, we can import, with relevant modifications, many of the principles and learnings of current web defenses, including Web Application Firewall (WAF) into the realm of blockchain. By doing so, we introduce a scheme for a Web3 Application Firewall (W3AF) which can greatly improve Web3 security and blockchain-based apps.
Blockchain has gained lots of attention in recent years. Bitcoin and Ethereum are leading the race. Crypto currencies in spite of uncertainty and volatility are here to stay. Smart contract programming is the future for the Internet 3.0.
Blockchain introduction to common man. This is a very simple explanation given on blockchain technlogy. Main advantages of blockchain being in IOT, datastorage etc. Some of the applications of iot are also discussed. It is a very brief explanation and gives a wide view of the field.
Hands-on introduction to blockchain technologies.
First, basic concepts as peer-to-peer networks, mining and distributed consens are introduced basd on the Bitcoin protocol. Next smart contracts are discussed for the Ethereum protocol and demonstrated using a local/private blockchain.
The session concludes with a live demo of the interaction of a Java based classical business application with a smart contract running in the Ethereum network.
The goal of the session is to provide a meaningful background of blockchain technologies in genral and to enable developers to start exploring Ethereum and smart contracts within a few hours.
The proposed development setup is oriented towards Java developers and contains Docker images for the Geth and TestRPC Ethereum clients that can be run locally. To access Ethereum from Java the web3j Java library is used. The business application that integrates with the smart contracts is built with the Eclipse Scout framework.
Slides have been created by @ZimMatthias for the JUG Switzerland session on May 22, 2017 https://www.jug.ch/html/events/2017/blockchain_ethereum.html
[Video: https://www.youtube.com/watch?v=JZrwIlB6SVA ]
[Paper: http://www.ofnumbers.com/wp-content/uploads/2014/04/Learning-from-Bitcoins-past.pdf ]
Tim Swanson discusses sidechains, merged mining, blockchain 2.0, bitcoin information security. bitcoin thefts and potential use-cases for the network. First presented at Stanford on April 28, 2014 for the Symbolic Systems 150 course. Citations and references in the notes section. More information at: www.ofnumbers.com
I spent quite some time to digest how Blockchain works and how it can influence our everyday life in the upcoming decades. My slides focus on that from a non-IT expert point view.
There has been a lot of buzz around blockchain, and its most popular application Bitcoin. But what can organisations actually do with it, and what does it mean for you?
Find out more here about its potential, ecosystem, most popular start-ups and 15 promising cases in 5 different industries: Retail, Financial Services, Healthcare, Real Estate & Insurance.
A 20 slider on the basics of Blockchain (the animations make it look longer).
An attempt to introduce what a blockchain is and how transactions work under the hood without getting too technical.
An introductory look at various Blockchain Technologies and examples. In this slide I explain about basics of Etherium and types of Blockchain technology currently present and some known public projects/examples which use Blockchain.
Virtual or digital currencies, with Bitcoin chief amongst them, have been gaining momentum and investment over the last couple of years. Offering an almost costless means of making payments around the globe, virtual currencies have the potential to bring significant disruption to the banking industry. This potential is not lost on either Bitcoin startups or banks themselves. But how does Bitcoin actually work? A peer-to-peer network maintains the “blockchain”, an innovative cryptographic protocol which securely mediates payments between parties without mutual trust. This session will step through the structure of the blockchain, showing how it solves the “double spend” problem and allows decentralised processing of financial transactions. Whether Bitcoin will become the currency of the internet or it’s a bubble that is doomed to burst sooner or later, the blockchain itself will change the face of transactional banking and perhaps other industries along the way.
Presentation to the Sydney Financial Mathematics Workshop (11 March 2015)
http://www.qgroup.org.au/content/bitcoin-banking-and-blockchain
Blockchain Technology And CryptocurrencyEno Bassey
A brief presenation about blockchain and understand cryptocurrency. Find out what it is and why you need to know about it. How you can get involved and how it may change the world as we know it.
The fundamental security properties of blockchain originate from both bitcoin architecture and cryptography advances. the proficiency of the cryptographic chain of blocks was advanced giving birth to various inborn security qualities.
There are new and emerging opportunities for organisations in all sectors to create and deliver compelling services for their customers using the power of disruptive innovation. As organisations formulate their plans for the coming months, this paper aims to help business and public sector leaders understand the cultural and organisational challenges that are inevitably brought by the use of blockchain technologies, and provides them with the insights they need to overcome them.
Content that helps to understand bitcoin and blockchain. Starts with currency basics, to clear the fact that bitcoin is not doing anything tangentially wrong. Followed by that bitcoin is covered and blockchain in detail.
Blockchain and Bitcoin : A Technical Overviewanupriti
Blockchain is a distributed database that is used to maintain a continuously growing list of records, called blocks. Each block contains a timestamp and a link to a previous block and is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks.Bitcoin is a proven application that runs on BLOCKCHAIN.This ppt gives the reader an over view of the concept of BLOCKCHAIN.The same was presented by self on 20th June 2017 at Gurgaon Commissioner of Police office during Summer Internship Program under aegis of Shri Rakshit Tandon
Bitcoin and blockchain are not the same things, although they are related in that blockchain technology was first described and implemented in Bitcoin. Learn More about Blockchain:
Web3 Security: The Blockchain is Your SIEMTal Be'ery
2021’s hottest new tech term, according to TechCrunch, was “definitely Web3”. Web3, as its name suggests, is considered by many as the future of the internet: decentralized, permissionless, and based on modern blockchain technology. While Web3 might have a bright future, it’s in the middle of growing pains: A number of Web3 apps were hacked in 2021, leading to theft of cryptoassets valued at hundreds of millions of US Dollars. In this talk we will present Web3 app technology, dissect new attack surfaces, and suggest new and exciting defense mechanisms.
First, we will dive into the technical details of Web3 applications, showing how Web3 technology opens new attack surfaces by moving app functionality onto the blockchain. We will then analyze these newly-exposed attack surfaces by reviewing a few examples we’ve discovered “in the wild.”
While Web3 exposes new attack surfaces, it also provides novel detection opportunities. Specifically, the public and transparent nature of the blockchain allows security researchers to immediately explore full details of any attack and, as a result, leads to quick and thorough discoveries. This is a paradigm shift in security research, as current practices only allow a few to learn actual attack details, only some portions of which are shared publicly. This shift in transparency allowed us to independently explore the aforementioned attacks.
Furthermore, we believe we can do even better and go beyond rapid post-mortem reports. We will show how the same raw data we had previously used for a post-mortem analysis can be analyzed in real-time (or even ante factum by “taking a peek” into the blocks that have yet to be mined) to detect and even prevent attacks. This capability is enabled by the online nature of the blockchain and its inherent block time delays. In fact, we can import, with relevant modifications, many of the principles and learnings of current web defenses, including Web Application Firewall (WAF) into the realm of blockchain. By doing so, we introduce a scheme for a Web3 Application Firewall (W3AF) which can greatly improve Web3 security and blockchain-based apps.
Blockchain has gained lots of attention in recent years. Bitcoin and Ethereum are leading the race. Crypto currencies in spite of uncertainty and volatility are here to stay. Smart contract programming is the future for the Internet 3.0.
Blockchain introduction to common man. This is a very simple explanation given on blockchain technlogy. Main advantages of blockchain being in IOT, datastorage etc. Some of the applications of iot are also discussed. It is a very brief explanation and gives a wide view of the field.
Hands-on introduction to blockchain technologies.
First, basic concepts as peer-to-peer networks, mining and distributed consens are introduced basd on the Bitcoin protocol. Next smart contracts are discussed for the Ethereum protocol and demonstrated using a local/private blockchain.
The session concludes with a live demo of the interaction of a Java based classical business application with a smart contract running in the Ethereum network.
The goal of the session is to provide a meaningful background of blockchain technologies in genral and to enable developers to start exploring Ethereum and smart contracts within a few hours.
The proposed development setup is oriented towards Java developers and contains Docker images for the Geth and TestRPC Ethereum clients that can be run locally. To access Ethereum from Java the web3j Java library is used. The business application that integrates with the smart contracts is built with the Eclipse Scout framework.
Slides have been created by @ZimMatthias for the JUG Switzerland session on May 22, 2017 https://www.jug.ch/html/events/2017/blockchain_ethereum.html
[Video: https://www.youtube.com/watch?v=JZrwIlB6SVA ]
[Paper: http://www.ofnumbers.com/wp-content/uploads/2014/04/Learning-from-Bitcoins-past.pdf ]
Tim Swanson discusses sidechains, merged mining, blockchain 2.0, bitcoin information security. bitcoin thefts and potential use-cases for the network. First presented at Stanford on April 28, 2014 for the Symbolic Systems 150 course. Citations and references in the notes section. More information at: www.ofnumbers.com
I spent quite some time to digest how Blockchain works and how it can influence our everyday life in the upcoming decades. My slides focus on that from a non-IT expert point view.
There has been a lot of buzz around blockchain, and its most popular application Bitcoin. But what can organisations actually do with it, and what does it mean for you?
Find out more here about its potential, ecosystem, most popular start-ups and 15 promising cases in 5 different industries: Retail, Financial Services, Healthcare, Real Estate & Insurance.
A 20 slider on the basics of Blockchain (the animations make it look longer).
An attempt to introduce what a blockchain is and how transactions work under the hood without getting too technical.
An introductory look at various Blockchain Technologies and examples. In this slide I explain about basics of Etherium and types of Blockchain technology currently present and some known public projects/examples which use Blockchain.
Virtual or digital currencies, with Bitcoin chief amongst them, have been gaining momentum and investment over the last couple of years. Offering an almost costless means of making payments around the globe, virtual currencies have the potential to bring significant disruption to the banking industry. This potential is not lost on either Bitcoin startups or banks themselves. But how does Bitcoin actually work? A peer-to-peer network maintains the “blockchain”, an innovative cryptographic protocol which securely mediates payments between parties without mutual trust. This session will step through the structure of the blockchain, showing how it solves the “double spend” problem and allows decentralised processing of financial transactions. Whether Bitcoin will become the currency of the internet or it’s a bubble that is doomed to burst sooner or later, the blockchain itself will change the face of transactional banking and perhaps other industries along the way.
Presentation to the Sydney Financial Mathematics Workshop (11 March 2015)
http://www.qgroup.org.au/content/bitcoin-banking-and-blockchain
Blockchain Technology And CryptocurrencyEno Bassey
A brief presenation about blockchain and understand cryptocurrency. Find out what it is and why you need to know about it. How you can get involved and how it may change the world as we know it.
The fundamental security properties of blockchain originate from both bitcoin architecture and cryptography advances. the proficiency of the cryptographic chain of blocks was advanced giving birth to various inborn security qualities.
Blockchain Essentials and Blockchain on AzureNuri Cankaya
In this presentation I cover from the basics of Blockchain and deep-dive into the possibilities with Microsoft Azure on Blockchain projects.
What is Blockchain
Blockchain Disruption
Blockchain Business Scenarios
Microsoft’s Strategy on Blockchain
Blockchain 2.0: Smart Contracts
Blockchain 3.0: Cryptlets innovation
Blockchain on Microsoft Azure
Bletchley Project
Azure Blockchain Solutions
A blockchain glossary is a reference guide that explains the essential terms and concepts in blockchain technology. It's designed to educate your audience, from beginners to experts, about the terminology used in this complex field, making it easier for them to understand and navigate the world of blockchain.
http://www.cosvm.network/
Kristof V. explained the basics of blockchain and smart contracts. Starting with the mechanics of bitcoin (introduced by the 2009 paper of Satoshi Nakamoto) he explains concepts of pseudonymisation, encryption, blockchain, mining, and distribution. After skimming high-level through some use cases he moves to "(smart) contracts", using the example of an auction.
Link to examples of "smart contracts": https://dapps.ethercasts.com
Link to the event follow-up page: https://www.meetup.com/Brussels-Legal-Hackers/messages/boards/thread/50920056
Legal hackers: https://www.meetup.com/Brussels-Legal-Hackers
Blockchain intro: The end of the middlemanAndries De Vos
Wide-ranging introduction into blockchain presented for an enterprise client.
Structured in 2 parts:
- what is blockchain and key concepts: distributed ledgers, consensus mechanisms, permissioned/permissionless, crypto-tokens/assets, smart contracts and DAO
- blockchain in practice: do you need blockchain, is it enterprise-ready, case studies
Created May 2017.
Understanding blockchain technology - how to buy ethereum in CanadaBitcoin Wallet Canada
At its core, the blockchain is a distributed database that stores and records all cryptographic transactions on the network. This eliminates the need for a centralized institution to validate transactions. Be it understanding blockchain technology, buying or selling Ethereum in Canada, we at Netcoins try to help you in every way possible.
A blockchain is essentially a distributed database of records or public ledger of all transactions or digital events that have been executed and shared among participating parties. Each transaction in the public ledger is verified by consensus of a majority of the participants in the system. And, once entered, information can never be erased. The blockchain contains a certain and verifiable record of every single transaction ever made. To use a basic analogy, it is easy to steal a cookie from a cookie jar, kept in a secluded place than stealing the cookie from a cookie jar kept in a marketplace, being observed by thousands of people. In the report, it distinguishes between multiple types of blockchains and explains the two biggest platforms, namely Bitcoin and Ethereum. While introducing those two platforms we explain the most important technology and algorithms used such as proof of work concept. Some of the security issues and solutions are also covered. We conclude with some concrete Ethereum based applications that demonstrate the usage of blockchain technology beyond cryptocurrency and illustrate current developments in this field.
Similar to 2018 SAI workshop blockchain Kristof Verslype (20)
Real time voice translation handig maar hoe ver staat hetSmals
Voorstelling van enkele technologieën om gesprekken onmiddellijk te vertalen zodat anderssprekenden elkaar kunnen begrijpen. De technologie staat al ver, maar het is nog niet perfect.
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...John Andrews
SlideShare Description for "Chatty Kathy - UNC Bootcamp Final Project Presentation"
Title: Chatty Kathy: Enhancing Physical Activity Among Older Adults
Description:
Discover how Chatty Kathy, an innovative project developed at the UNC Bootcamp, aims to tackle the challenge of low physical activity among older adults. Our AI-driven solution uses peer interaction to boost and sustain exercise levels, significantly improving health outcomes. This presentation covers our problem statement, the rationale behind Chatty Kathy, synthetic data and persona creation, model performance metrics, a visual demonstration of the project, and potential future developments. Join us for an insightful Q&A session to explore the potential of this groundbreaking project.
Project Team: Jay Requarth, Jana Avery, John Andrews, Dr. Dick Davis II, Nee Buntoum, Nam Yeongjin & Mat Nicholas
StarCompliance is a leading firm specializing in the recovery of stolen cryptocurrency. Our comprehensive services are designed to assist individuals and organizations in navigating the complex process of fraud reporting, investigation, and fund recovery. We combine cutting-edge technology with expert legal support to provide a robust solution for victims of crypto theft.
Our Services Include:
Reporting to Tracking Authorities:
We immediately notify all relevant centralized exchanges (CEX), decentralized exchanges (DEX), and wallet providers about the stolen cryptocurrency. This ensures that the stolen assets are flagged as scam transactions, making it impossible for the thief to use them.
Assistance with Filing Police Reports:
We guide you through the process of filing a valid police report. Our support team provides detailed instructions on which police department to contact and helps you complete the necessary paperwork within the critical 72-hour window.
Launching the Refund Process:
Our team of experienced lawyers can initiate lawsuits on your behalf and represent you in various jurisdictions around the world. They work diligently to recover your stolen funds and ensure that justice is served.
At StarCompliance, we understand the urgency and stress involved in dealing with cryptocurrency theft. Our dedicated team works quickly and efficiently to provide you with the support and expertise needed to recover your assets. Trust us to be your partner in navigating the complexities of the crypto world and safeguarding your investments.
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Subhajit Sahu
Abstract — Levelwise PageRank is an alternative method of PageRank computation which decomposes the input graph into a directed acyclic block-graph of strongly connected components, and processes them in topological order, one level at a time. This enables calculation for ranks in a distributed fashion without per-iteration communication, unlike the standard method where all vertices are processed in each iteration. It however comes with a precondition of the absence of dead ends in the input graph. Here, the native non-distributed performance of Levelwise PageRank was compared against Monolithic PageRank on a CPU as well as a GPU. To ensure a fair comparison, Monolithic PageRank was also performed on a graph where vertices were split by components. Results indicate that Levelwise PageRank is about as fast as Monolithic PageRank on the CPU, but quite a bit slower on the GPU. Slowdown on the GPU is likely caused by a large submission of small workloads, and expected to be non-issue when the computation is performed on massive graphs.
Explore our comprehensive data analysis project presentation on predicting product ad campaign performance. Learn how data-driven insights can optimize your marketing strategies and enhance campaign effectiveness. Perfect for professionals and students looking to understand the power of data analysis in advertising. for more details visit: https://bostoninstituteofanalytics.org/data-science-and-artificial-intelligence/
Opendatabay - Open Data Marketplace.pptxOpendatabay
Opendatabay.com unlocks the power of data for everyone. Open Data Marketplace fosters a collaborative hub for data enthusiasts to explore, share, and contribute to a vast collection of datasets.
First ever open hub for data enthusiasts to collaborate and innovate. A platform to explore, share, and contribute to a vast collection of datasets. Through robust quality control and innovative technologies like blockchain verification, opendatabay ensures the authenticity and reliability of datasets, empowering users to make data-driven decisions with confidence. Leverage cutting-edge AI technologies to enhance the data exploration, analysis, and discovery experience.
From intelligent search and recommendations to automated data productisation and quotation, Opendatabay AI-driven features streamline the data workflow. Finding the data you need shouldn't be a complex. Opendatabay simplifies the data acquisition process with an intuitive interface and robust search tools. Effortlessly explore, discover, and access the data you need, allowing you to focus on extracting valuable insights. Opendatabay breaks new ground with a dedicated, AI-generated, synthetic datasets.
Leverage these privacy-preserving datasets for training and testing AI models without compromising sensitive information. Opendatabay prioritizes transparency by providing detailed metadata, provenance information, and usage guidelines for each dataset, ensuring users have a comprehensive understanding of the data they're working with. By leveraging a powerful combination of distributed ledger technology and rigorous third-party audits Opendatabay ensures the authenticity and reliability of every dataset. Security is at the core of Opendatabay. Marketplace implements stringent security measures, including encryption, access controls, and regular vulnerability assessments, to safeguard your data and protect your privacy.
1. Blockchain & Toepassingen
E e n v e r k e n n i n g ‘o n d e r d e m o t o r k a p ’
Kristof Verslype
Smals Onderzoek (smalsresearch.be)
www.cryptov.net
SAI Workshop – 22 januari 2018 - Brussel
3. 3
Heeft u een vraag? Stel ze!
AGENDA
Doelstelling: inzicht krijgen in de technologie achter de hype
4
Permissioned
5
Cases
1
Introduction
2
Unpermissioned
6
Conclusions
3
Smart contracts
4. Blockchain gaat over Vertrouwen
Reductie afhankelijkheid centrale partijen (Disintermediatie)
4
Blockchain Netwerk
Bescherming data Afdwingen regels
5. Perspectief
5https://hbr.org/2017/01/the-truth-about-blockchain
“Hoewel de impact enorm zal zijn, zal het decennia
duren voor blockchain om in onze economische en
maatschappelijke structuren te sijpelen.”
Tijd nodig om economie te transformeren:
- TCP/IP: 30 jaar
- Elektriciteit: 20 jaar
Grondleggende technologie
Het heeft het potentieel om nieuwe fundamenten voor
ons economisch en sociaal systeem te creëren.
Toestand vandaag:
- 3-5 jaar eer volwassen
- 3% POCs in productie
6. Idee
6
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Ik transfereer 0,4
BTC naar
Ok!
Ok!
Ok!
0,4 BTC →
Bob
Alice
Charlie
Dave
0,4 BTC →
0,4 BTC →
0,4 BTC →
7. Idea
7
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
I transfer
0,4 BTC to .
Ok!
Ok!
Ok!
0,4 BTC →
Bob
Alice
Charlie
Dave
0,4 BTC →
0,4 BTC →
0,4 BTC →
Blockchain
Atomisch
Iedereen schrijft de transactie in zijn/haar append-only spreadsheet
of niemand → Consensus mechanisme
Geldig
Enkel geldige transacties worden aanvaard door het netwerk
Vb. Bob is eigenaar / heeft het geld niet reeds eerder gespendeerd
Veilig en robuust
Systeem blijft correct werken, zelfs indien deel participanten offline of
kwaadaardig is
Relatief snel
Gedistribueerd
8. Consensus: Byzantine General Problem
8
- N generals
- Some might be traitors
- Messages can get lost
- Honest generals need
consensus: attack or not
9. Blockchain
9
Aan vaste frequentie nieuwe blokken gecreëerd
met daarin de meest recente transacties
De blockchain bevat
alle transacties
Transacties in de blockchain
zijn onverwijderbaar
Blockchain = aaneenschakeling van
blokken, die transacties bevatten
Vele entiteiten bezitten dezelfde
kopie van de blockchain
Block 51
Header
Block 52
Header
Block 53
Header Header
Block 54
5,10 BTC →
0,70 BTC →
Blockchain specifiek: 10 minutes in
Bitcoin, 10 seconden in Ethereum,…
0,40 BTC →
10. Idee
10
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
0,4 BTC →
Bob
Alice
Charlie
Dave
0,4 BTC →
0,4 BTC →
0,4 BTC →
11. Bescherming Data
11
Transaction
0,01 BTC →
Vertrouwde
entiteit
Transaction
Data
Untamperable
(integrity)
Unremovable
(non-repudiability)
Timestamp
Eigenschappen van data in een blockchain
Transparent
(verifiable)
Authentic
Robust
(availability)
→ Applications other then cryptocurrencies
On existing or own blockchain
13. 13
Registration Facts
Vaccination
IdentityDiplomaMarriage
Medical
records
TaxesSupply chain
Tracking
Driving license
Political
mandates
Official
documents
History /
overview
Will
Hash of records on blockchain
- Integrity
- Non-repudiability (completeness)
- Timestamp
Confidence in correctness
- Authenticity
- Integrity
- Timestamp
- Long term-validity
- Transparency
- Non-
repudiability (no
denial)
- Integrity
Logically centralising
dispersed data about
provenance in single
data structure (without
central authority)
14. 14
Registration Facts
Alice
9AF
Employer
Alice does not need copy of blockchain
In reality usually more crypto
hashing, encryption, pseudonyms
Transaction 9AF
Diploma
Alice
Master in
Lego Design
KU Leuven
Alice
18. 18
Transfer Assets
Transaction 23F
→
Transaction XP0
→ 9BG
Transaction 9BG
→ 23F
Authority
(Mortgage office)
The lawful
owner
is .
The lawful
owner
is .
Owner 1 (Bob) Owner 2 (Charlie)
The lawful
owner
is .
Only required for
initial registration
Full history on the
blockchain
Owner can prove (s)he
is the lawful owner
19. 19
Transfer Assets
Transaction 23F
→
Authority
(Mortgage office)
Owner 1 (Bob) Owner 2 (Charlie)
Transaction 9BG
→ 23F
→
Transaction XP0
→ 9BG
→
Owner 3 (Alice)
Only if both & sign
transaction, it is valid No trusted intermediary
required to temporarily
hold funds
Extra rules possible
(Eg. valid soil certificate
or approval by notary)
Hide exact amount
Register renovation &
verification history
20. Streamlining Processes
Banks share blockchain
instead of all own DB
Citizen moves and
declares it once. All
stakeholders informed
(electricity provider,
post, municipalities, …)
Citizen declares birth once.
All stakeholders informed
(local administration,
childcare system , bank,
mutualities, insurance, …)
Processes between governmental
institutions (e.g. automatic
subsidies)
Advantages
- Reduced trust in central authority
- Robust (HA system with LA nodes)
- Unmodifiable audit trail
- Every step validated / according to the rules
- One data structure (consistency)
- Uniform data representation
(standardisation)
20
21. Enforcements of Agreements
21
Processing
medical prescriptions Elections
Flight Delay
Insurance
Blocking
rent guaranteeCrowdfundingApplication & Payment
of subsidies / benefits
Smart locks
Permissions
access PII
Transport
conditions
Auction
22. Central DB Vs. Blockchain
22
Central DB Blockchain
Disintermediation The essence of blockchain tech is
reducing reliance upon intermediaries /
authorities
Integrity / transparency /
verifiability
Blockchain is a tamper-proof history,
verified by multiple nodes.
Confidentiality Multiple nodes in network need access
to data to validate transactions and
update smart contract. Harder to have
flexible access control
Robustness High availability with low available
nodes. Geen SPOF / extreme fault
tolerance thanks to redundancy
Performance & speed Blockchain inherently less efficient: sig
creation & verification, data transfer,
consensus, storage, …
“If trust and robustness aren’t an issue, there’s nothing
a blockchain can do that a regular database cannot.”
Gideon Greenspan
https://www.multichain.com/blog/2016/03/blockchains-vs-centralized-databases/
23. Yes
Yes
Yes
4.2 Does a traditional
decentralized approach result in
data consistency issues or
complex/slow information flows?
Yes
4.3. Do we have
relatively simple & static
business rules between
multiple parties?
Yes
4.1. Is transparency,
verifiability or
auditability
important?
Let’s talk!At least one incoming green arrow
Answer the following three questions separately
Probably not a good
idea to use
blockchain
No
No
3 x No
2. Are only low performance write operations required?
(in seconds, not milliseconds)?
3. Is a traditional centralized approach,
resulting in a trusted, all-knowing party, suboptimal?
(Factors: trust, governance, privacy, security, cost, availability,…)
Yes
1. Do multiple parties need to interact with each other and
does this result in the storage of data that should stay
accessible by multiple parties?
No
23
24. 24
Permissionless Permissioned
Toegang & gebruik door hele wereld Extra laag voor toegangscontrole
Volledig transparant Meer controle op wie ziet wat (vb. audit)
Meestal erg onefficiënt Pakken efficiënter
Vertrouwen gedistribueerd Vertrouwen gedecentraliseerd
Cryptomunt vereist Cryptomunt niet steeds vereist
Public / open Enterprise / Consortium
28. Public Key Cryptography
28
PK SK
, ← 𝑔𝑒𝑛𝐾𝑒𝑦𝑝𝑎𝑖𝑟()
SK
𝑠𝑖𝑔 ← 𝑠𝑖𝑔𝑛( , )
PK
𝑡𝑟𝑢𝑒 ← 𝑣𝑒𝑟𝑖𝑓𝑦( , 𝑠𝑖𝑔, )
Change 1 bit in doc →
invalid signature
Examples: RSA, DSA, ECDSA
What public key belongs to BOB? → Certificates
Signed by trusted authority
Bob
PK
Expires:
31/12/2020
CA: VeriSign
Certificate
29. Cryptographic Hash Function
Examples: SHA2, RIPEMD, SHA3 (keccak)
29
“Hello world!”
5e 50 6e 82 7f d5 50 ec 4e 08 8e e7 75 8f 34 b3
a6 8e 34 93 d5 89 98 52 97 48 f0 c6 c1 70 f3 3c
5f 3b fa 41 9c 63 be 2a 3a 09 ad bd 06 30 c5 1f
64 5e b0 3a ba fc d5 f2 ad 39 63 7a 30 6b 41 77
c0 53 5e 4b e2 b7 9f fd 93 29 13 05 43 6b f8 89
31 4e 4a 3f ae c0 5e cf fc bb 7d f3 1a d9 e5 1a
Unique fingerprint of some data
Fixed-length output One-way Collision resistant
c3 5e 79 4b cf 52 34 c4 5a fc 19 c0 04 79 3d e7
d3 d2 4b 20 12 d0 3b f6 13 8b 23 c9 97 41 8a 50“Hell0 world!”
30. Merkle Tree
30
ℎ1 ←
ℎ𝑎𝑠ℎ(𝑑𝑎𝑡𝑎1)
ℎ1−2 ← ℎ𝑎𝑠ℎ(ℎ1||ℎ2) ℎ3−4 ← ℎ𝑎𝑠ℎ(ℎ3||ℎ4)
ℎ 𝑟𝑜𝑜𝑡 ← ℎ𝑎𝑠ℎ(ℎ1−2||ℎ3−4)
𝑑𝑎𝑡𝑎1 𝑑𝑎𝑡𝑎2 𝑑𝑎𝑡𝑎3 𝑑𝑎𝑡𝑎4
ℎ2 ←
ℎ𝑎𝑠ℎ(𝑑𝑎𝑡𝑎2)
ℎ3 ←
ℎ𝑎𝑠ℎ(𝑑𝑎𝑡𝑎3)
ℎ4 ←
ℎ𝑎𝑠ℎ(𝑑𝑎𝑡𝑎4)
ℎ 𝑟𝑜𝑜𝑡: Hash van een set documenten
33. 33
Heeft u een vraag? Stel ze!
AGENDA
Doelstelling: inzicht krijgen in de technologie achter de hype
4
Permissioned
5
Cases
1
Introduction
2
Unpermissioned
6
Conclusions
3
Smart contracts
37. Traditionele Internationale Transactie
37
Bob Alice
Is dit mogelijk zonder vertrouwde partij?
1e gedistribueerde cryptomunt (2009)
Schok doorheen de financiële wereld
Snel aandacht voor Bitcoin/blockchain vanuit de financiële wereld
Cryptocurrencies solve the double
spend problem with crypto and exist
since the eighies (David Chaum)
51. Multisig Transaction
51
What?
- A transaction that is only valid when it is signed by at
least n out of m entities
- In bitcoin context: money can only be unlocked when n
out of m entities agree
Why?
- E.g. blocked rent guarantee : 2-3 multisig
- We will see later that this tx type is also usefull in other
situations
52. scriptPubKey (referenced tx)
OP_2
PUSHDATA <A pubkey>
PUSHDATA <B pubkey>
PUSHDATA <C pubkey>
OP_3
OP_CHECKMULTISIG
PUSHDATA PUSHDATA
<sig A> <sig A>
<sig B>
scriptSig (new tx)
PUSHDATA <sig A>
PUSHDATA <sig C>
PUSHDATA <scriptMs>
PUSHDATA
<sig A>
<sig B>
2
<pubKey A>
OP_2
<sig A>
<sig B>
2
Multisig without P2SH
53. scriptPubKey (referenced tx)
OP_2
PUSHDATA <A pubkey>
PUSHDATA <B pubkey>
PUSHDATA <C pubkey>
OP_3
OP_CHECKMULTISIG
scriptSig (new tx)
PUSHDATA <sig A>
PUSHDATA <sig C>
PUSHDATA <scriptMs>
Multisig without P2SH
OP_CHECKMULTISIG
true
OP_3
<sig A>
<sig B>
2
<pubKey A>
<pubKey B>
<pubKey C>
3
PUSHDATA
<sig A>
<sig B>
2
<pubKey A>
<pubKey B>
<pubKey C>
PUSHDATA
<sig A>
<sig B>
2
<pubKey A>
<pubKey B>
Not ideal for the sender/buyer
- WTF is this script you are sending me?
- I don’t care about what you are doing. I
just want to send money to an address
- I will have to pay a higher tx fee!
=> P2SH solves this
54. Multisig with P2SH
54
Referenced tx New tx
input[0]
input[1]
output[0]
output[1]
output[2]
scriptSig
<sig A>
<sig B>
<scriptMultisig>
scriptPubKey
<pubKeyHashMultisig>
input[0] output[0]
output[1]
P2SH: Pay to script hash
𝑝𝑢𝑏𝐾𝑒𝑦𝐻𝑎𝑠ℎ𝑀𝑢𝑙𝑡𝑖𝑠𝑖𝑔 ← ℎ𝑎𝑠ℎ(𝑠𝑐𝑟𝑖𝑝𝑡𝑀𝑢𝑙𝑡𝑖𝑠𝑖𝑔)
55. 55
scriptPubKey (referenced tx)
OP_HASH160
PUSHDATA <scriptMsHash?>
OP_EQUAL
PUSHDATA OP_EQUAL
PUSHDATA PUSHDATA PUSHDATA
<sig A> <sig A>
<sig B>
<sig A>
<sig B>
<scriptMs>
OP_HASH160
<sig A>
<sig B>
<scriptMsHash>
<sig A>
<sig B>
<scriptMsHash>
<scriptMsHash?>
<sig A>
<sig B>
scriptMs
OP_2
PUSHDATA <A pubkey>
PUSHDATA <B pubkey>
PUSHDATA <C pubkey>
OP_3
OP_CHECKMULTISIG
scriptSig (new tx)
PUSHDATA <sig A>
PUSHDATA <sig C>
PUSHDATA <scriptMs>
true
Multisig
with P2SH
Shared address
56. 56
scriptMs
OP_2
PUSHDATA <A pubkey>
PUSHDATA <B pubkey>
PUSHDATA <C pubkey>
OP_3
OP_CHECKMULTISIG
OP_CHECKMULTISIG
true
OP_3
<sig A>
<sig B>
2
<pubKey A>
<pubKey B>
<pubKey C>
3
PUSHDATA
<sig A>
<sig B>
2
<pubKey A>
<pubKey B>
<pubKey C>
PUSHDATA
<sig A>
<sig B>
2
<pubKey A>
<pubKey B>
PUSHDATA
<sig A>
<sig B>
2
<pubKey A>
OP_2
<sig A>
<sig B>
2
Multisig with P2SH
57. 57
Colored Coins
Transaction
0,01 BC →
Data
Publiek pseudoniem van overheid / school / …
Transaction
0,01 BC →
Data
Pseudoniem notaris
Pseudoniem 1e eigenaar
Transaction
0,01 BC →
Transaction
0,01 BC →
Value transfer
Pseudoniem 2e eigenaar
Pseudoniem 3e eigenaar
Record keeping
Possible to store up to 80 bytes of arbitrary data in transaction
(Fingerprint van)
Beschrijving van de asset
Fingerprint van
diploma, certificaat, …
58. Colored Coins
58
Transaction K8V
Outputs
output[0]: 0,0001 BTC →
output[1]:
Inputs
OP_RETURN
PUSHDATA <data>
marks transaction
output as invalid
max 80 bytes
Implemented by Open Assets
https://github.com/OpenAssets/open-assets-protocol/blob/master/specification.mediawiki
64. 64
Difficulty adjusted every 2 weeks (2016 blocks) based on
Frequency higher at the end of such a window
(in case increasing prices)
difficulty ∗ 232
= 8 044 926 758 032 733 372 416 hashes / block
⇔ 13 408 211 263 387 888 954 hashes/s
68. Mining Pools
68
A stable income for small miners
- Group of miners working together on the same puzzle
- Coordinating manager. Others can join.
- Manager sends only headers to members
- Member has x% of computation power → x% of reward if pool finds puzzle
- Pool member proves that he does his share by sending “near solutions” to
the manager
Coinbase
mrklroot
nonce
tx1tx0
nonce
coinbase
tx3tx2
mrklroot
h(h(tx0)||h(tx1)) h(h(tx2)||h(tx3))
72. Gelijktijdige Blokcreatie
72
Wat gebeurt er indien twee miners ongeveer gelijktijdig een geldig blok vinden
Langste tak is diegene die aanvaard wordt
(correcter: tak met meeste ‘werk’)
Daarom best een aantal blokken wachten
vooralleer transactie als verwerkt te beschouwen
73. Gelijktijdige Blokcreatie
73
Genesis block
- We hebben tenminste een hash
nodig als ‘root of trust’
- Hierin kun je ‘gratis geld’ toekennen
aan de eerste investeerders
Orphan blocks
74. Consensus
Proof-of-Work
- x% resources → x% blokken
- Cryptografische puzzel
- Competitie
- Mining - Erg energieintensief
- Controle: > 50% rekenkracht
in unpermissioned blockchain netwerken
Proof-of-Stake
- x% stake (e.g. coins) → x% blokken
- Deterministisch algoritme voor
selectie participant die blok creëert
- Minting - Efficiënt
- Controle: > 50% stake (moeilijker)
- Incentive voor minter om
verschillende in stand te houden
=> Machtige participant kan blockchain controleren
(hybrid)
76. Veiligheid
76
Block 51
Header
Block 52
Header
5,10 BTC →
Header
Block 53
0,70 BTC →
Header
Block 54
0,40 BTC →
Header
Block 53
0,70 BTC →
Header
Block 52
Header
Block 54
0,40 BTC →
Hoe ouder de transactie, hoe beter beschermd
Want gevolgd door meer blokken
waarvoor cryptografische puzzel opnieuw opgelost moet worden
Veiligheid proportioneel tot de hoeveelheid rekenkracht
77. Security
77
Mathematical assumptions
E.g. ECDSA
Cryptographic assumptions
E.g. SHA-2 & RIPEMD
Applicative asssumptions
E.g. No miner > 50% mining power
← Heavy assumption
Bitcoin is conceptually secure as long as some assumptions are met
In crypto
- We trust that the assumptions are (and stay) correct
- Weaker assumptions → stronger solutions
- Heavier assumptions → weaker solutions
78. Veiligheid
Het bitcoin protocol is veilig zolang er geen participant meer dan
50% van de rekenkracht bezit (*)
(*) According to Decker and Wattenhofer 49,1% suffices due to stale blocks
Bitcoin is niet alleen een concept…
User Software Infrastructure
Loss
Theft
Abuse
James Howells, who works in IT, lost in 2013 7500 bitcoins by throwing
away by accident an old hard disk, which contained his secret key.
Nearly 4M Bitcoins Lost Forever
Source: chainalysis.com
79. 79
51% Attack on Krypton
https://cryptohustle.com/krypton-recovers-from-a-new-type-of-51-network-attack
August 26, 2016.
Krypton, an Ethereum-based blockchain,
recovered from a novel version of a 51%
attack which appears to be the first of its
kind.
The exploit includes a two pronged attack:
first prong was, overpowering the network
with at least 51% of the hashing power to
roll back transactions and spend the same
coins twice, and the second prong was
DDoS-ing nodes to multiply network
power. This exploit should be understood by
all smaller coins to prevent copycat attacks.
87. Pseudoniemen
87
Fysieke wereld Bitcoin netwerk
1Nf311Qb8rLDkWTHrhpmNewZzkcWFYptfc
1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX
3BcMuv1VJqmwY5Wim8MPAzKAAiAKby9LcN
Charlie
Bob
Alice
88. 88
Bitcoin & Anonimiteit
QR-code
- bevat pseudoniem
- Scan om te betalen
Alle transacties van en naar
dit pseudoniem zijn publiek
Meerdere pseudoniemen
- Minder praktisch
- Links nog steeds mogelijk
Tweerichtings
Subway kan ook jouw bitcoin
geschiedenis te weten komen
89. Bitcoin & Anonimiteit
89Fleder, Michael, Michael S. Kester, and Sudeep Pillai. "Bitcoin transaction graph analysis." arXiv preprint arXiv:1502.01657 (2015).
Transaction graph for 1 day
Gebruikers onthullen hun pseudoniem
- Op het Internet
- Aan anderen bij een transactie
=> Linken aan persoon / nickname
91. Hierarchical Deterministic Wallets
91
BIP 0032
PK SK
PK
0
PK
1
PK
n
. . .
SK
0
SK
1
SK
n
. . .
- Generate unlimited number of
addresses / pseudonyms based on
one private key
- Create new addresses without
needing your private key
- Multiple levels deep
93. Bitcoin Anonymity
93Fleder, Michael, Michael S. Kester, and Sudeep Pillai. MIT. "Bitcoin transaction graph analysis." arXiv preprint arXiv:1502.01657 (2015).
Transaction graph for 1 day
‘Geïdentificeerde’ personen gelinkt aan
- SilkRoad
- Wikileaks
- SatoshiDICE
98. Why is Bitcoin Used?
98
Hard to find exact numbers
Illegal activities Gambling
Speculation Protection against
inflation/crash local
currency (e.g. Venezuela)
International
transactions
Transactions of small amounts sometimes very expensive
99. Average Transaction Fee in $
99https://bitinfocharts.com/comparison/bitcoin-transactionfees.html#1y
Volatile & unpredictable Based on supply & demand
Based on size (in bytes) of transaction, not on amount
Payed by the entity sending money
Double volatility: value and transaction costs
102. Power to the People?
102
Core developers
Propose official Bitcoin client
Miners
Use proposed client
Process transactions
Bitcoin holders
Use proposed client
Centralisation of mining
> 50% of mining power
→ Rewrite the blockchain
Implement the
rules of the game
103. Forks & Consensus
103
Changing the rules of the game
Size≤
1MB
Size≤
1MB
Size≤
1MB
Size≤
1MB
Size≤
1MB
Size≤
1MB
Size≤
1MB
Size≤
2MB
Size≤
2MB
Size≤
2MB
Three options
- The whole community accepts new rule
- (Almost) no one accepts new rule
- A significant part accepts nuw rule,
a significant part does not
104. Afsplitsingen (Forks)
104
Maart ‘17
Aug. ‘17
Alsof er op de tabel van Mendeljev
plots naast het zeldzame Au (Goud)
nieuwe, even zelfdzame elementen
ontstaan met quasi dezelfde
eigenschappen
Okt. ‘17
Bestaande munten splitsen mee
105. Total Amount of Bitcoins
105
Total amount of bitcoins created
Deflatoir
→ Toenemende waarde
→ incentief tot sparen
106. Hard & Soft Forks
106http://vitalik.ca/general/2017/03/14/forks_and_markets.html
Soft Fork
- Reduced set of transactions /
blocks that are valid
- Transaction/blocks valid under
the new rules considered valid
by old nodes
- Example: P2SH
Hard Fork
- Expanded set of transactions /
blocks that are valid
- Transaction/blocks valid under
the new rules considered
invalid by old nodes
- Considered more difficult
because everyone has to
update on time
- Example: SegWit
108. Snelheid
108
0
< $25
few sec.
# Bevestigingen
Bedrag
Tijd
1
< $250
±10 min.
2
< $2500
±20 min.
3
< $25 000
±30 min.
4
< $250 000
±40 min.
5
< $2,5M
±50 min.
6
< $25M
±60 min.
Theoretisch ben je zelfs na 60 min. nog niet zeker
Aantal bevestigingen hangt af van riscotolerantie
110. Blockchain.info
110
Schaalprobleem
- Alle transacties op blockchain
- 3 transacties / sec. ↔ Visa: 10 000 / sec.
- En blockchain toch al 120GB groot
Schaalprobleem
- Alle transacties in blockchain
- 3 transacties per seconde ↔ Visa: 65 000 / sec.
(Verhoogt geleidelijk danzij invoering SegWit)
- En reeds > 151 GB (excl. UTXO, SegWit))
Bitcoin Blockchain Grootte
blockchain.info/charts/blocks-size
Toekomst: Lightening network
111. We trust…
111
The correctness of the assumptions
The unhackability of website & trade platforms
The unhackability of out blockchain client
Our infallibility (onfeilbaarheid)
Miners not to rewrite the blockchain collectively
That the value of Bitcoin will not collapse
That miners en core developers will not
change the rules against our interests
That the network will not be saturated and that the transaction
fees will be reasonable when we want to do a transactions
112. Old Concepts
112
Concept Year
Stack-oriented programming language 1957 - GEORGE
Cryptographic hash function Late ‘70
Digital signatures 1977 (1973) - RSA
Merkle trees 1979
Shamir secret sharing 1979
Proof-of-Work 1993
113. Have a look at
113
https://blockchain.info/
https://bitcoin.org/nl/download
114. Enkele Bedenkingen
114
Bitcoin is een eerste experiment
• Niet perfect en dat mogen we ook niet verwachten
• Gebruik van eenvoudige, oude crypto concepten (jaren ‘70)
• Interessante nieuwe concepten
Uitdagingen
• Technische: schaalbaarheid, privacy, transactiekosten, forks,
efficiëntie, …
• Niet-technisch: juridisch, maatschappelijk, risico,…
Idee distributie vertrouwen m.b.v. technologie
• “Alles dat met een vetrouwde autoriteit gedaan kan
worden, kan ook zonder” - D. Boneh, crypto prof. @ Stanford
• Niet enkel blockchain technologie
116. • Blockchain to store (tradable) name/value pairs
– For instance: DNS: domain name/IP address
• Refutes Zooko’s triangle
• Forked from Bitcoin code, but separate blockhain
• Launched in 2011
• Currency: Namecoin (NMC)
116http://www.econinfosec.org/archive/weis2015/papers/WEIS_2015_kalodner.pdf
117. 117
input[0]
NAME_NEW Transaction QA2
Outputs
0,01 NMC →
…
Inputs
DRX[1]
…
𝑐𝑜𝑚𝑚𝑖𝑡𝑚𝑒𝑛𝑡
input[0]
NAME_FIRSTUPDATE Transaction XBL
Outputs
0,01 NMC →
…
Inputs
QA2[0]
…
𝑛𝑎𝑚𝑒, 𝑛𝑜𝑛𝑐𝑒, 𝑣𝑎𝑙𝑢𝑒
input[0]
NAME_UPDATE Transaction W2T
Outputs
0,01 NMC →
…
Inputs
XBL[0]
…
𝑛𝑎𝑚𝑒, 𝑣𝑎𝑙𝑢𝑒’
Three transaction types
- Wait at least 12 blocks
- Nonce prevents front-running
- Miner checks if nonce & name
match with commitment & if tx
QA2 not older than 36000 blocks
Use: Renew, Transfer, Change
Miner checks if names match &
if tx XBL not too old
𝑐𝑜𝑚𝑚𝑖𝑡𝑚𝑒𝑛𝑡 ← ℎ𝑎𝑠ℎ 𝑛𝑜𝑛𝑐𝑒 | 𝑛𝑎𝑚𝑒))
118. 118
input[0]
NAME_NEW Transaction QA2
Outputs
0,01 NMC →
…
Inputs
DRX[1]
…
𝑐𝑜𝑚𝑚𝑖𝑡𝑚𝑒𝑛𝑡
input[0]
NAME_FIRSTUPDATE Transaction XBL
Outputs
0,01 NMC →
…
Inputs
QA2[0]
…
𝑛𝑎𝑚𝑒, 𝑛𝑜𝑛𝑐𝑒, 𝑣𝑎𝑙𝑢𝑒
input[0]
NAME_UPDATE Transaction W2T
Outputs
0,01 NMC →
…
Inputs
XBL[0]
…
𝑛𝑎𝑚𝑒, 𝑣𝑎𝑙𝑢𝑒’
Three transaction types
OP_NAME_NEW
PUSHDATA <commitment>
OP_2DROP
OP_DUP
OP_HASH160
PUSHDATA <pubKeyHash?>
OP_EQUALVERIFY
OP_CHECKSIG
Data given to miner as
part of scriptPubKey
119. 119
input[0]
NAME_NEW Transaction QA2
Outputs
0,01 NMC →
…
Inputs
DRX[1]
…
𝑐𝑜𝑚𝑚𝑖𝑡𝑚𝑒𝑛𝑡
input[0]
NAME_FIRSTUPDATE Transaction XBL
Outputs
0,01 NMC →
…
Inputs
QA2[0]
…
𝑛𝑎𝑚𝑒, 𝑛𝑜𝑛𝑐𝑒, 𝑣𝑎𝑙𝑢𝑒
input[0]
NAME_UPDATE Transaction W2T
Outputs
0,01 NMC →
…
Inputs
XBL[0]
…
𝑛𝑎𝑚𝑒, 𝑣𝑎𝑙𝑢𝑒’
Three transaction types
OP_NAME_FIRSTUPDATE
PUSHDATA <name>
PUSHDATA <nonce>
PUSHDATA <value>
OP_2DROP
OP_2DROP
OP_DUP
OP_HASH160
PUSHDATA <pubKeyHash?>
Data given to miner as
part of scriptPubKey
120. input[0]
NAME_NEW Transaction QA2
Outputs
0,01 NMC →
…
Inputs
DRX[1]
…
𝑐𝑜𝑚𝑚𝑖𝑡𝑚𝑒𝑛𝑡
input[0]
NAME_FIRSTUPDATE Transaction XBL
Outputs
0,01 NMC →
…
Inputs
QA2[0]
…
𝑛𝑎𝑚𝑒, 𝑛𝑜𝑛𝑐𝑒, 𝑣𝑎𝑙𝑢𝑒
input[0]
NAME_UPDATE Transaction W2T
Outputs
0,01 NMC →
…
Inputs
XBL[0]
…
𝑛𝑎𝑚𝑒, 𝑣𝑎𝑙𝑢𝑒’
120
Three transaction types
OP_NAME_UPDATE
<name>
<value>
OP_2DROP
OP_DROP
OP_DUP
OP_HASH160
PUSHDATA <pubKeyHash?>
OP_EQUALVERIFY
OP_CHECKSIG
Data given to miner as
part of scriptPubKey
121. 121
Heeft u een vraag? Stel ze!
AGENDA
Doelstelling: inzicht krijgen in de technologie achter de hype
4
Permissioned
5
Cases
1
Introduction
2
Unpermissioned
6
Conclusions
3
Smart contracts
123. Smart Contracts (aka chaincode)
123
Regels zijn
- Hardgecodeerd in de
Bitcoin software
- Applicatiespecifiek
→ Niet flexibel
Code die uitgevoerd wordt op het blockchain netwerk, zonder centrale partij
Kan een blockchain netwerk ook op
een flexibele regels afdwingen voor
een diverse set van applicaties?
124. Smart Contracts (aka chaincode)
124
Regels zijn
- Hardgecodeerd in de
Bitcoin software
- Applicatiespecifiek
→ Niet flexibel
Code die uitgevoerd wordt op het blockchain netwerk, zonder centrale partij
- Smart contract = set
applicatiespecifieke regels
- Blockchain netwerk dwingt regels af,
zorgt voor correcte uitvoering
- Smart contracts kan cryptogeld
ontvangen, bijhouden en uitgeven
Verwerken
voorschriften
Verkiezingen Verzekeringen
Sterke toename potentieel blockchain technologie
126. Smart Contracts
126
Contract Auction{
function bid()
function end()
HighestBid: €
HighestBidder:
Beneficiary: Charlie
}
bid(), 20€
end()
bid(), 10€
20€
02010
Bob
Alice
Charlie
Alice
10€
Bob
Smart contract kan cryptogeld tijdelijk blokkeren
Niemand kan de correcte uitvoering beïnvloeden
127. Events in Smart Contracts
127
Contract{
function bid(){…}
function end(){…}
HighestBid: €
HighestBidder:
Beneficiary: Charlie
}
bid(...), 20€
end(...)
bid(...), 10€
20€
02010
Bob
Alice
Charlie
Alice
10€
Bob
bidEvent: 10€
bidEvent: 10€
bidEvent: 20€
bidEvent: 20€
Events informeren Charlie & Dave over nieuwe biedingen
Oude events zichtbaar: Charlie & Dave niet per se permanent online
Dave
128. Smart contract
Piece of code published on the blockhain and run
in a distributed way by the blockchain network
=> Not smart
=> Mostly not a (legal) contract
128
It is deaf & blind:
- It only knows its own status & the function parameters when a function is called
- It has no knowledge about anything else in the world / on the blockhain
It is reactive
- It will not do anything, unless a function is called
- This can result in a function call in another smart contract
It is distributed
- All full nodes know & execute the smart contract
- In some permissioned blockchains, this can be limited to a subset
132. 132
contract SimpleAuction
{
address public beneficiary;
uint public auctionStart;
uint public biddingTime;
address public highestBidder;
uint public highestBid;
bool ended;
event HighestBidIncreased(address bidder, uint amount);
event AuctionEnded(address winner, uint amount);
function SimpleAuction(uint _biddingTime, address _beneficiary)
{
beneficiary = _beneficiary;
auctionStart = now;
biddingTime = _biddingTime;
}
function bid() payable
Smart Contract Code
Disclaimer: Een Ethereum exploit wordt genegeerd voor de eenvoud
http://solidity.readthedocs.io/en/develop/solidity-by-example.html
133. Doe dit NOOIT…
133
// Proof of Ownership contract
contract ProofOfOwnership{
mapping(bytes32=>bool) proofs;
//calculate and store the proof for a document
function notarize(string document){
var proof = sha256(document);
proofs[proof] = true;
}
// check if a document has been notarized
function checkDocument(string document) returns (bool){
var proof = calculateProof(document);
return proofs[proof];
}
}
Dit werd als ernstig voorbeeld gegeven op een seminarie door een expert
proofs: c0796844c3cbc… → true
5d5f4926be230… → true
c56d58202b0aa… → true
17f8f6699a8948… → true
…
document VOLLEDIG bewaard in transactie op blockchain
134. Orakels
134
En wat indien een orakel foute informatie aanlevert?
- Contract uitvoering kan niet teruggedraaid worden
- Meerdere oracles die stemmen?
Soms heeft een smart contract gegevens nodig uit de reële wereld
Compensatie Verzekering
Vertrouwde leverancier van gegevens uit de reële wereld
Orakel roept telkens contractfunctie aan → Transactie op blockchain
135. 135
In summary
- Launched: July 30 2015 after ICO (0.1 Ether per $)
- Unpermissioned blockchain-based smart contract platform
- Smart contracts written in Solidity (or Serpent)
- Most popular smart contract platform
- 2nd biggest cryptcurrency (Ether)
Two types of accounts
- Externally owned accounts
- Contracts can receive, contain and send money
Every account (contract or user) has a balance (↔ Bitcoin)
136. 136
contract SimpleAuction
{
address public beneficiary;
uint public auctionStart;
uint public biddingTime;
address public highestBidder;
uint public highestBid;
bool ended;
event HighestBidIncreased(address bidder, uint amount);
event AuctionEnded(address winner, uint amount);
function SimpleAuction(uint _biddingTime, address _beneficiary)
{
beneficiary = _beneficiary;
auctionStart = now;
biddingTime = _biddingTime;
}
...
}
6060604052346100005760405161037c3803806
37c833981016040528080518201919050505b5b
3600060006101000a81548173fffffffffffffffffffffff
fffffffffffff021916908373ffffffffffffffffffffffffffffffff
ffff1602179055505b8060019080519060200190
805460018160011615610100020316600290049
600052602060002090601f01602090048101928
01f106100b557805160ff1916838001178555610
3565b828001600101855582156100e357918201
b828111156100e2578251825591602001919060
101906100c7565b5b50905061010891905b8082
1156101045760008160009055506001016100ec
5b5090565b50505b505b6102608061011c60003
6000f30060606040526000357c0100000000000
000000000000000000000000000000000000000
000900463ffffffff16806341c0e1b514610049578
3cfae321714610058575b610000565b34610000
6100566100ee565b005b3461000057610065610
82565b604051808060200182810382528381815
815260200191508051906020019080838360008
Ontwikkelomgeving
Programmeertaal: Solidity
Gecompileerde Ethereum
byte code op blockchain
Turing compleet (↔ Bitcoin scripts). Alles wat te berekenen is met
een computer kan ook in Solidity / Ethereum byte code
Difficult to interprete byte code: recompile source code & compare
142. Doe dit NOOIT…
142
// Proof of Ownership contract
contract ProofOfOwnership{
mapping(bytes32=>bool) proofs;
//calculate and store the proof for a document
function notarize(string document){
var proof = sha256(document);
proofs[proof] = true;
}
// check if a document has been notarized
function checkDocument(string document) returns (bool){
var proof = calculateProof(document);
return proofs[proof];
}
}
Dit werd als ernstig voorbeeld gegeven op een seminarie door een expert
proofs: c0796844c3cbc… → true
5d5f4926be230… → true
c56d58202b0aa… → true
17f8f6699a8948… → true
…
document VOLLEDIG bewaard in transactie op blockchain
Hoge miner’s fee (1Mb => $1871)
143. Transaction Processing
143https://ethereum.stackexchange.com/questions/3/what-is-meant-by-the-term-gas
Transaction
gasPrice Fee per gas (unit of work) end-user is willing to pay
(Higher fee → faster processing)
startGas (gasLimit) Max. amount of gas allowed to be consumed
data Smart contract function invocation data
….
Three options
gasPrice too low
miners refuse to process tx
End-user pays nothing
1 gasPrice ok, but startGas too low
Insufficient gas to process tx
(Failed) tx registered in blockchain
End-user looses money
2
gasPrice ok, startGas ok
Tx in blockchain, code executed
end-user pays gasPrice * consumedGas to miner
3
144. - Mining
144
ASIC resistant
- Computation AND memory
required
- Ideal: less centralisation
- DAGs (Directed Acyclyc Graphs)
- DAG renewed every epoch (=
30000 blocks = 125 hours = ca. 5.2
days
Target: 1 block every 10 secs
148. Modified GHOST protocol
148
time
Miner A
Miner B
Miner C
Ethereum target frequency: 10 seconds.
It takes 12 seconds for block to propagate through network (Bitcoin)
Many Orphan blocks (uncles)
Consequences
- Weaker security (4/11 of work is lost)
- Centralisation: Big miners have extra advantage: can relatively often mine
directly on top of the block they just mined, without propagation delay
1
2
2
3
3
4
5
5
5
6
7
149. Modified GHOST protocol
149
Is secured
by more
work
Minder gets 7/8 of normal
reward (incentive for smaller
miners to continue
Miner gets full miner’s reward
+ 3,125 % per included uncle
Result
- Stronger chain
- Weaker centralisation
- Chain size does not grow much: only header of uncle relevant
4
5
5 63
150. Modified GHOST protocol
150
Is secured
by more
work
Minder gets 6/8 of normal
reward (incentive for smaller
miners to continue
Miner gets full miner’s reward
+ 3,125 % per included uncle
Up to 7 levels 1st generation: 7/8
2nd generation: 6/8
….
7th generation: 1/8
4
5
5 63 7
151. Smart Contract Blockchain
151
Transaction
Transaction
Block 52
transactionRoot52
receiptsRoot52
stateRoot52
Transaction
difficulty solution
nb timeparent
Block 53
transactionRoot53
receiptsRoot53
stateRoot53
difficulty solution
nb timeparent
Transac
Transac
tra
re
difficu
paren
transactionRoot52
Transaction
Transaction
Transaction
Transaction
Hoe weten we dat het netwerk de code correct uitvoert?
152. Smart Contract Blockchain
152
Block 53
transactionRoot53
receiptsRoot53
stateRoot53
difficulty solution
nb timeparent
transactionRoot53
Transaction
Transaction
Transaction
Transaction
Transaction Transaction Transaction Transaction
transactionRoot53
Full node can prove to light node that
transaction was included
154. Vereenvoudigde World State
154
stateRoot52
Contract1 Contract2
a = 123 b = false x = 10000 y = 1amount = 50 amount = 0b = true
Contract’1
stateRoot53
Some parts of the tree can be removed. This is called ‘pruning’
156. Vereenvoudigde World State
156
Contract2
a = 123 x = 10000 y = 1amount = 50 amount = 0b = true
Contract’1
Block 53
transactionRoot53
receiptsRoot53
stateRoot53
difficulty solution
nb timeparent
transactionRoot53
Transaction
Transaction
Transaction
Transaction
stateRoot53
=?
true: accept & forward block
false: reject block
Vertrouwen gedistribueerd over het netwerk
157. Events
157
Block 53
transactionRoot53
receiptsRoot53
stateRoot53
difficulty solution
nb timeparent
transactionRoot52
Transaction
Transaction
Transaction
Transaction
logsBloom
Receipt
- 𝑅 𝜎: Post-transaction state root
- 𝑅 𝑢: Cummulative gas used so far by block
- 𝑅 𝑏: Set of events/logs created
- 𝑅𝑙: Bloom filter for those logs
receiptsRoot53
txReceipt txReceipt txReceipt txReceipt
Allows to efficiently check if there
are relevant events in the block
Receipts stored off-chain
158. Efficient way to check membership, without disclosing the set’s content
158
Bloom Filters
False positives
possible, false
negatives not
(1970)
159. Contract Address
Needed to call functions & to send
money to the contract
159
ℎ ← ℎ𝑎𝑠ℎ 𝑆𝐻𝐴3 𝑎𝑑𝑑𝑟𝑒𝑠𝑠 𝑝𝑢𝑏𝑙𝑖𝑠ℎ𝑒𝑟 𝑛𝑜𝑛𝑐𝑒
Transaction
- nonce
- to: null
- data: contract code
- sig_data
- signature data
Incremented each time the
user creates a transaction
under this address
The user’s address is
derived from this
information
𝑎𝑑𝑑𝑟𝑒𝑠𝑠 𝑐𝑜𝑛𝑡𝑟𝑎𝑐𝑡 ← 𝑐𝑜𝑝𝑦(12, 31, ℎ)
160. 160
- boolean: bool
- bytes: bytes1=byte, bytes2, bytes3, …, bytes32
- signed: int8, int16, int24, … int256,
- unsigned: uint8, uint16, uint24, … uint256
- address: address
- arrays
- …
- float & double not supported yet
Some types
More fine grained control over byte size of variables
162. Application Binary Interface (ABI)
162
Function definition in ABI
{
"constant": false,
"inputs": [
{
"name": "proposal",
"type": "uint8"
}
],
"name": "vote",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
Smart contract API
function vote(uint8 proposal) public
{
…
}
Included in application that calls smart
contract function (e.g. Javascript),
together with smart contract address
Information required to create the data field in a transaction
in order to call a contract function
Usage
- Encoding/decoding data into/out
transaction
- Determining function identifier:
bytes4(sha3(vote_abi))
163. Ethereum client
E.g. geth (Go) - geth.ethereum.org
Ethereum Client
163
NoSQL Database
E.g. LevelDB for geth
Nodejs Web3js
(library)
Command line
terminal
JSON-RPC
Javascript Web3js
(library)
JSON-RPC
Dapp (Distributed
application)
ABI (Application
Binary Interface))
ABI (Application
Binary Interface))
164. Connecting your Application
164
var web3 = new Web3(new
Web3.providers.HttpProvider("http://localhost:8545));
var account = web3.eth.accounts[0];
if(account == null){
web3.personal.newAccount("pwd123");
account = web3.eth.accounts[0];
}
var contrAddr = '0x77ee109e51de81cdbd3193734622c2564a7fdd96';
var contrAbi = […];
var contract = web3.eth.contract(contrAbi).at(contrAddr);
web3.personal.unlockAccount(account, "pwd123", 60000);
contract.issuePrescription(addressPt, drug, time);
165. 165
URL
Yellow paper http://gavwood.com/paper.pdf
Documentation http://www.ethdocs.org/en/latest/
Source code https://github.com/ethereum
Online IDE https://remix.ethereum.org
Explore the blockchain https://etherscan.io
Command-line client https://geth.ethereum.org/downloads/
MIST Browser https://github.com/ethereum/mist/releases
Have a look at
170. The DAO
170
Investeerders transfereren Ether naar The
DAO and ontvangen daarvoor voting tokens
1
Contractors dienen investeringsvoorstellen in
2
Investeerders stemmen voor / tegen voorstel
3
Smartcontract transfereert al dan niet geld
4
Set van smart contracts gepubliceerd op Ethereum
Een aantal cijfers
$54m gelekt
naar aanvaller
18 000
investeerders
14% van
alle Ether
$168m
verzameld
Volledig transparant:
code, data & historiek public.
Iedereen kan audit doen
Bugs
- “Code is law”?
- Investeerders vertrouwen dat smart
contract doet wat ze verwachten
171. Ethereum Hard Fork
171
Decentralised Autonomous Organisation (DAO)
DAO verzamelde
$168M (Juni ‘16)
DAO bug exploit –
$54M in Ether lekt
weg (July ‘16)
172. Ethereum Hard Fork
172
Decentralised Autonomous Organisation (DAO)
DAO verzamelde
$168M (Juni ‘16)
DAO bug exploit –
$54M in Ether lekt
weg (July ‘16)
Verwachting/Hoop
(Steun voor) oude tak verdwijnt volledig
“The DAO bug exploit is nooit gebeurd”
Een deel van het verleden wordt collectief vergeten
173. Ethereum Hard Fork
173
Decentralised Autonomous Organisation (DAO)
DAO verzamelde
$168M (Juni ‘16)
DAO bug exploit –
$54M in Ether lekt
weg (July ‘16)
Realiteit: beide takken blijven naast elkaar
→ Replay attack mogelijk
174. Ethereum Hard Fork
174
Tamper-resistance
- Hoe onwijzigbaar is de blockchain?
Niet zo absoluut als beweerd wordt
- Nog aftakkingen (forks)?
Contract split
- Plots niet één, maar twee smart contracts. Welk is geldig? (finaliteit)
- Vb. Eén veiling, met twee verschillende winnaars
181. 181
contract SimpleAuction
{
…
function withdraw() public returns (bool)
{
uint amount = pendingReturns[msg.sender];
if (amount > 0) {
pendingReturns[msg.sender] = 0;
if (!msg.sender.send(amount)) {
pendingReturns[msg.sender] = amount;
return false;
}
}
return true;
}
}
http://solidity.readthedocs.io/en/develop/solidity-by-example.html
Now you have to pay twice
- Once to place a bid
- Once to get your maney back
Key Value
<Address1stBidder> 0,01 Ξ
<Address2ndBidder> 0,02 Ξ
<Address3thBidder> 0,03 Ξ
… …
183. The Bug
183
Bob Alice Charlie
Multisig
wallet
Multisig
wallet
Multisig
wallet
Library
// become owner of the library
function initWallet(address[]
_owners, uint256 _required,
uint256 _daylimit){
…
}
// kill the contract
function kill(address _to) {
suicide(_to);
}
https://medium.com/@Pr0Ger/another-parity-wallet-hack-explained-847ca46a2e1c
186. Myriad of attack vectors possible,
although cryptographically secure
blockchain technology is used
186
187. Smart Contracts - Samengevat
187
Automatiseren regels &
afdwingen afspraken
tussen partijen die elkaar niet 100%
hoeven te vertrouwen,
zonder daarbij afhankelijk te zijn
van een centrale partij.
(en pas op voor bugs!)
188. Smart Contracts - Samengevat
188
“A Distributed state machine
with money”
189. 189
Heeft u een vraag? Stel ze!
AGENDA
Doelstelling: inzicht krijgen in de technologie achter de hype
4
Permissioned
5
Cases
1
Introduction
2
Unpermissioned
6
Conclusions
3
Smart contracts
190. 190
Permissionless Permissioned
Toegang & gebruik door hele wereld Extra laag voor toegangscontrole
Volledig transparant Meer controle op wie ziet wat (vb. audit)
Meestal erg onefficiënt (competitie) Pakken efficiënter (samenwerking)
Vertrouwen gedistribueerd Vertrouwen gedecentraliseerd
Cryptomunt vereist Cryptomunt niet steeds vereist
Public / open Enterprise / Consortium
Eg. Processing medical prescriptions
- Only accredited doctors can issue new
prescriptions
- Only RIZIV/INAMI can publish smart contracts
& determines what doctors are accredited
- 5/7 mutualities validate transactions
193. 193
- Fork from Bitcoin code (06/2015)
- Version 2.0 coming soon
History
- Issue & transfer multiple asset types
- Publish data (data streams)
- Grant & revoke rights
- NO smart contracts
- Simple, easy to use, efficient
Functionality
Multisig
https://www.multichain.com/blog/2017/11/three-non-pointless-blockchains-production/
Transparency & auditability
in workflow management
Trading catastrophe bonds
without TTP (Euroclear)
Notarizing
e-commerce transactions
Real-world apllications
194. Mining
194
0 ≤ 𝑚𝑖𝑛𝑖𝑛𝑔 − 𝑑𝑖𝑣𝑒𝑟𝑠𝑖𝑡𝑦 ≤ 1
All miners allowed to mine next block
=> risk of forks, risk of mining starvation
A miner should wait untill all other
miners have created a block
Blockchain halts when one miner
unavailable (robusness)
Block not signed by right miner is
not accepted by network
A block is created by only one ‘miner’ who signs it.
Bob Charlie Alice Dave
195. Mining
195
0 ≤ 𝑚𝑖𝑛𝑖𝑛𝑔 − 𝑑𝑖𝑣𝑒𝑟𝑠𝑖𝑡𝑦 ≤ 1
𝑠𝑝𝑎𝑐𝑖𝑛𝑔 = 𝑚𝑖𝑛𝑖𝑛𝑔 − 𝑑𝑖𝑣𝑒𝑟𝑠𝑖𝑡𝑦 ∗ ( 𝑴𝒊𝒏𝒆𝒓𝒔 − 1)
Stochastic process
Two miners create block simultaneously: short-lived fork
Mining-diversity fixed at block-creation time
A sequence of blocks is signed by at least x miners
Bob Charlie Alice Dave
𝑚𝑖𝑛𝑖𝑛𝑔 − 𝑑𝑖𝑣𝑒𝑟𝑠𝑖𝑡𝑦 ∶ 0.75
𝑠𝑝𝑎𝑐𝑖𝑛𝑔 = 2
Consensus only undermined
if at least 75% of miners colluding
196. Setup phase
196
Setup phase
Some rules relaxed
- Admin can attribute and revoke rights without voting
- No mining order enforced
=> Allows the admin to set up the blockchain
Bob
Creates blockchain and
temporarily has unlimited rights
Charlie Alice
𝑠𝑒𝑡𝑢𝑝 − 𝑓𝑖𝑟𝑠𝑡 − 𝑏𝑙𝑜𝑐𝑘𝑠 = 4
𝑡𝑎𝑟𝑔𝑒𝑡 − 𝑏𝑙𝑜𝑐𝑘 − 𝑡𝑖𝑚𝑒 = 30
=> Bob has 120 seconds
197. Permisisons
197
- connect, mine,
- activate (connect, receive, issue), admin (other)
- send, receive, issue (assets)
- create (streams)
Blockchain specific
- write
- read (encryption)
Stream specific
- Proposal published on blockchain as transaction
- Votes published on blockchain as transaction
- Parameters
𝑎𝑑𝑚𝑖𝑛 − 𝑐𝑜𝑛𝑠𝑒𝑛𝑠𝑢𝑠 − 𝑚𝑖𝑛𝑒 = 0.5
𝑎𝑑𝑚𝑖𝑛 − 𝑐𝑜𝑛𝑠𝑒𝑛𝑠𝑢𝑠 − 𝑐𝑟𝑒𝑎𝑡𝑒 = 0.5
…
Granting rights
205. 205
History
- June 2014: Launched
- Previously known as Eris (Renamed in 10/2016)
- March 2017, Monax joined Hyperledger project
Fork Ethereum code
- Supports smart contracts
- In Solidity, but compiles for you
- Tests during deploy time
Provenance of diamonds
Prototype to improve
electronic data interchange
between financial institutions.
Experiments by
DLT Consortium
of 60 > banks
206. Overview
206
BURROW - Version 0.16
- Consensus engine
(per block same ordered list of tx
- Efficient (< 2secs)
- Valid block signed by ≥ 2/3 of weight
- Version 0.17
- Node
- Executes smart contract
- Web server (JSON-RPC or REST)
- Smart contract off-chain test env.
- Storage, permissions
- Version 0.18
- Create & publish smart contracts
Does compilation for you
- Invoke & query smart contracts
- Blockchain management
207. Name registry
• Key-value store for bulk data off-chain.
• Regulated with tokens.
207
Storing 3 kb for 10 blocks
=> the total cost = 1*1*(3000 + 32)*10 = 30320 tokens
https://monax.io/docs/documentation/db/latest/specifications/api/#namereg
208. Rights
208
https://github.com/tendermint/tendermint/wiki/Eris-Permissions
https://monax.io/docs/specs/jobs_specification/
Grouped in roles: administrator, validator, developer, participant, …
root full permissions. Use with care.
send permission to send TX.
call permission to call contracts.
name permission to add an entry in name registry.
create_contract permission to create contract.
create_account permission to create an account.
bond permission to send a bond TX allowing to be part of the
validator pool.
add_role permission to add roles to accounts.
has_role permission to query role of accounts.
rm_role permission to remove role from accounts.
set_base permission to set permissions.
unset_base permission to remove permissions.
has_base permission to query permissions of an account.
set_global permission to set burrow network parameters.
212. • Started as IBM project
• Smart contracts are called ‘chaincode’
212
FABRIC
Releases
- 16/09/2016: V0.6-preview
- 11/07/2017: V1.0
- 01/11/2017: V1.1-preview
Properties
- Modular
- Updatable chaincode
- Distinction of roles
- Not everyone can access all smart contracts,
not all validators runs all smart contracts
213. HL Fabric - Overview
213
Alice
API
Keys
Certs
Membership
Service
Blockchain
network
Register
Enroll
Deploy
Invoke
Query
222. 222
Enrollment CA
Membership Service Provider
Transaction CA
Root CA
Long-term certificate
Alice
ECert
Two types of ECerts
1) signing
2) encryption
223. 223
Enrollment CA
Membership Service Provider
Transaction CA
Root CA
Short term
Different TCerts not linkable
to each other or to Alice
=> privacy
Alice
ECert
ECert
TCert
TCert
TCert
Two types of TCerts
1) signing
2) encryption
224. Hyperledger Fabric
224
Endorser E1 Endorser E2 Endorser E3 Peer P1
Alice’s Client
Transaction
Proposal
Transaction
Proposal
Transaction
Proposal
Transaction
Proposal
Orderer O1 Orderer O1
Ordering Service
Orderer O1 Orderer O1
Cert Cert Cert
ECert or TCert
(depends upon smart
contract access rules)
All participants have known identities.
Every transaction can be linked to identity by MSP
SOLO or KAFKA
225. Apache KAFKA
225
Stream processing platform, which aims to provide a unified, high-
throughput, low-latency platform for handling real-time data feeds
228. Deploy Transaction
228
Channel
Users (peers): pkchain
Validators (endorsers) skchain
ALL validators/endorsers can access the contract state, code and API
Essentially, a secret key is shared (bad practice)
What if you want to remove an endorser?
- Knowledge of PKC allows
users to create transaction
- Publisher can see
everything
231. Invoke & Query Transactions
231
- Every validator on the channel can
see the contract identifiers
- At least the endorsers and
publisher can decrypt the
invokation data
The invoker can decrypt her
own invokation data
232. Summary
232
Heavy & complex solution
Not elegant
↔ Blockchain filosophy
(hacked CA = free access rights)
Flexible
Uses traditional crypto
=> There is still a lot of work to do
Very active community
Not mature yet
Not always a drama if you loose
your key
233. Philosofical Question
Is a permissioned blockchain still a blockchain?
233
You loose
- Transparency
- Anonymity
- Openness,
- (Partially) distributed character
235. Comparison
235
Multichain HL Burrow HL Fabric
Code fork from Bitcoin Ethereum From scratch
Complexity Low Medium High
Flexibility Low Medium High
Efficiency High Medium Low
Community Small Medium Large
Smart contracts No Yes Yes
Validation Chosen mining-
diversity
Tendermint
(>2/3)
Per-contract
policiy
Geen one-technology-fits-all
Keuze blockchain technologie/platform afhankelijk
van vereisten applicatie
236. 236
Heeft u een vraag? Stel ze!
AGENDA
Doelstelling: inzicht krijgen in de technologie achter de hype
4
Permissioned
5
Cases
1
Introduction
2
Unpermissioned
6
Conclusions
3
Smart contracts
237. Aantoonbaarheidsdienst
237
eBox
Trust model
- Member trusts his/her organization
- Organizations do not trust eBox
- We want proof-of-delivery and
proof-of-receipt (with timestamp)
- Org & ebox never simultaneously
malicious
Federation
of Notaries
Orde van
Vlaamse Balies
FPS Justice
241. Verwerking Medische Voorschriften
241
Arts Apotheker
€ €
€
€
Mutualiteit
Patient
Tariferingsdienst
Money transfer
Data transfer
Physical delivery
Voordelen
- Sterke reductie afhankelijkheden organisaties
- Verdwijnen complexe informatiestromen
- Sterke confidentialiteits- en privacygaranties
Functionaliteit
- Verwerkingscyclus voorschrift
- Real-time analyse RIZIV
Disclaimer: interne POC door Smals Research, zonder overleg stakeholders zoals RIZIV
242. Prescription Smart Contract
242
Contract PrescriptionProcessing
Presc issue()
fill()
insure()
assign()
confirm()
Presc
Presc
Presc
Doctor
Pharmacist
Mutuality
Patient Tarification
office
issue()
assign()
fill()
insure()
confirm()
Events provide entities with required data
Contract enforces rules such as “no double spend” & “only doctors can issue”
243. 7a2
3b
3a
4
5 7b
8 9 10a
10b
issue() fill() confirm()insure() assign()
Contract function call
Event observation
Direct communication
Doctor Patient Pharmacist
Tar. officeMutuality
Prescription
Medicine
Valid from
Patient
Tarification office
Mutuality
Pharmacist
Doctor
Delivered
Id
Reduced fee?
Prescription
Medicine
Valid from
Patient
Tarification office
Mutuality
Pharmacist
Doctor
Delivered
Id
Reduced fee?
Prescription
Medicine
Valid from
Patient
Tarification office
Mutuality
Pharmacist
Doctor
Delivered
Id
Reduced fee?
6a
1 6b
function() Contract function
The Smart Contract
243
244. 244
Orderer O2
Endorser E2
Mutuality
Client C2
Enrollment CA
Orderer O2
Endorser E2
Tarification Office
Client C2
Enrollment CA
RIZIV
Client C2
Enrollment CA
Transaction CA
Complex & heavy infrastructure
- Yearly 116M prescriptions processed
- For each prescription, the RIZIV issues 5 enrollment certificates
- Every prescription processing step needs sufficient endorsements
- Heavy reliance upon RIZIV, mutualities and enrollment offices (CAs)
Verwerking Medische Voorschriften
Approach 1: Hyperledger Fabric
246. Different Views
246
One-time patient pseudonyms on the blockchain
Rest of the world
Similar for doctors, pharmacists, mutualities and tarification offices
247. Contract State
247
Single-use addresses
Physician
pseudonym
Pharmacist
pseudonym
Insurer
pseudonym
Tar. office
pseudonym
Permanent addresses
Col. of Ph.
pseudonym
RIZIV
pseudonym
Prescription
Drug description 1
Valid from 1
Patient 1
Inv. office 5
Insurer 2
Pharmacist 3
Physician 1
Refund 2€
Filled 4
Prescription
Drug description 1
Valid from 1
Patient 1
Inv. office 5
Insurer 2
Pharmacist 3
Physician 1
Refund 2€
Filled 4
Prescription
Drug description 1
Valid from 1
Patient 1
Inv. office 5
Insurer 2
Pharmacist 3
Physician 1
Refund 2€
Filled 4
Prescription
Drug description 1
Valid from 1
Patient 1
Inv. office 5
Insurer 2
Pharmacist 3
Physician 1
Refund 2€
Filled 4
Calling a contract function
- Contract checks if you own a
registered pseudonym in right set
- Contract removes pseudonym
RIZIV registers pseudonyms in batch
- RIZIV offline -> no impact
248. Comparison
248
HL Fabric One-time pseudonyms
Validation Per transaction Per block
Certificates 5 per prescription (Almost) none
High availability RIZIV none
Architectural complexity High Medium
Required storage To be calculated / tested
Disclaimer: I might be somewhat biased
249. 249
Heeft u een vraag? Stel ze!
AGENDA
Doelstelling: inzicht krijgen in de technologie achter de hype
4
Permissioned
5
Cases
1
Introduction
2
Unpermissioned
6
Conclusions
3
Smart contracts
250. The bigger picture
250
Blockchain Technology
Distributed Ledger Technology
Techology for distributed trust
Bitcoin
Hyperledger Fabric
Ethereum
Monero IOTA
CORDA
Multi-party computation
Zero-knowledge proofs
Homomorphic Encryption
…
…
…
Blockchain is één technologie.
Niet de eerste, en wellicht niet de laatste
Attribute-Based Credentials
251. IOTA (The Tangle)
251https://iota.org/IOTA_Whitepaper.pdf
Node valideert twee andere transactie om zelf transactie te kunnen creëren
Lost daartoe cryptografische puzzel op
Geen transaction fees (dus geen geldcreatie door minen)
Sneller & schaalbaarder dan blockchain
Doel: micropayments
Cummulative weigth
252. IOTA (The Tangle)
252https://iota.org/IOTA_Whitepaper.pdf
Node valideert twee andere transactie om zelf transactie te kunnen creëren
Lost daartoe cryptografische puzzel op
Geen transaction fees (dus geen geldcreatie door minen)
Sneller & schaalbaarder dan blockchain
Doel: micropayments
255. Initial Coin Offerings (ICO)
255https://www.economist.com/news/finance-and-economics/21721425-it-may-also-spawn-valuable-innovations-market-initial-coin-offerings
Publicatie white paper
(Claims meestal niet geaudit)
ICO periode:
Investeerders kopen munten
Gewoonlijk aan vaste prijs
Meestal ongereguleerd
Business operationeel
Gebruik vereist munten
Munten verhandelbaar
Crowdfunding door lanceren nieuwe cryptomunt
Succesvol → meer vraag → hogere waarde
(beperkt aantal munten)
Manier om geld te verdienen aan gedistribueerde protocols
Gedecentraliseerd
platform voor
competitie online game
Gedecentraliseerde
cloud opslag
256. Conclusies
Het gaat over VERTROUWEN
• Veelbelovende technologie voor applicaties die
traditioneel vertrouwen vereisen in centrale partijen.
• Daarom wordt het als disruptief beschouwd
Geen oplossing voor alles
• Het is mogelijk met blockchain ≠ Blockchain is de
beste keuze
Uitdagingen
• Schaalbaarheid, sleutelbeheer, privacy, juridisch, …
• Veel onderzoek (MIT, KU Leuven, TU Delft, IBM, …)
256
257. Uitdagingen
=> Veel onderzoek om deze uitdagingen aan te pakken
Standaardisatie /
best practices
Sleutelbeheer &
bescherming end-
points
Rechsonzekerheid
Privacy &
confidentialiteit
Gebaseerd op
aantal aannames
Schaalbaarheid
Veiligheid Andere
Volatiliteit
wisselkoersen
257
Bugs in smart
contracts
259. Perspectief
259https://hbr.org/2017/01/the-truth-about-blockchain
“Hoewel de impact enorm zal zijn, zal het decennia
duren voor blockchain om in onze economische en
maatschappelijke structuren te sijpelen.”
Tijd nodig om economie te transformeren:
- TCP/IP: 30 jaar
- Elektriciteit: 20 jaar
Grondleggende technologie
Het heeft het potentieel om nieuwe fundamenten voor
ons economisch en sociaal systeem te creëren.
Toestand vandaag:
- 3-5 jaar eer volwassen
- 3% POCs in productie