Blockchain overview:
types, use-cases, security and usability
Bozhidar Bozhanov, CEO @ LogSentinel
About me
• Senior software engineer and architect
• Founder & CEO @ LogSentinel
• https://techblog.bozho.net
• Twitter: @bozhobg
Blockchain in a nutshell
Hash chain
Merkle tree
Consensus
Source https://medium.com/poa-network/proof-of-authority-consensus-model-with-identity-at-stake-d5bd15463256
Types of blockchain solutions
Source https://medium.com/ltonetwork/the-rise-of-private-permissionless-blockchains-part-1-4c39bea2e2be
Terminology
Blockchain DLT Cryptocurrencies Smart contracts
Important features
Provably
immutable*
Distributed Trustless Hyped
Public blockchain
features
Main drawbacks of public blockchains
Expensive Volatile Not scalable Not mature
Hard do code and
support
Usability
Key management
Decentralization
How to make it
usable?
• Key management is hard (despite key management services)
• Secure key storage, key rotation
• Lost key = lost account, which is a no-go
• Mobile phones and user laptops should not be nodes
• Current blockchains don’t scale well, shared databases are huge
• The user must not know they are using blockchain
• Keys should be hidden & encrypted with password-derived keys
• Services should be used via web apps or mobile apps
Security
Cryptographic
security
Storage security
Private blockchain
security
• The cryptography is sound
• Keys are as secure as their storage
• Semi-quantum-resistant (hashes are resistant, ECC is not)
• It’s a bad idea to store sensitive data on a public blockchain
• Even encrypted, as re-encryption is not possible
• Fully decentralized apps are a risk
• Consensus is sometimes not needed (e.g. for single-party)
• PKI is a single point of failure -> HSMs are needed
• Need for regular verification of local data
Key technology components
Tamper-evident
data structures
Byzantine fault tolerance
Shared database
Distributed code execution
Immutable vs tamper-evident
Immutable
Tamper-evident
• Tamper-resistant – nobody can modify data
• Requires replication to multiple nodes with near real-time
validation
• Makes it possible to detect if tampering has occurred
• Practical tamper-resistance is achieved through backups with
integrity checks
Tamper-evident data structures
Hash chain Merkle tree
Patricia
merkle trees
Hash list Hash calendar
Smart contracts
Neither smart,
nor contracts 
Distributed code execution
Using the ledger
as a database
Written in specific languages
(e.g. Solidity)
Blockchain, blockchain, blockchain
Proposed use-cases and their issues
• E-voting – public bulletin boards have been around for a while. Blockchain can help, but
doesn’t solve fundamental problems
• Payments – it’s slow
• Food quality provenance – sensors and data entry are the hard part
• Item provenance – centralized database; physical identity != digital identity; cloning
• Healthcare data – storing data on a public blockchain, even encrypted, is risky
• Land or property registry – legal need for central authority (integrity is needed, though)
• Hotel reservations, ride sharing – p2p reputation is the hard problem to solve
• Many other usecases are just digital transformation + trusted timestamping (PKI)
Each component of blockchain
can solve real world problems.
Blockchain can solve problems
Prove
unmodifiability
Internal
lack of trust
Multi-stakeholder
databases
• Prove to 3rd parties that data has not been tampered with
• Logs, documents
• Internal actors modifying data
• Anchor to public blockchain, avoid scalability and cost issues
• Practically a signed, shared database. Enterprise integration.
• Higher education diploma registers
• Car manufacturer + dealers usecase
Conclusion
1. Cryptography is awesome
2. Data integrity is important
3. Use the right tool for the job
Thank you!

Blockchain overview - types, use-cases, security and usabilty

  • 1.
    Blockchain overview: types, use-cases,security and usability Bozhidar Bozhanov, CEO @ LogSentinel
  • 2.
    About me • Seniorsoftware engineer and architect • Founder & CEO @ LogSentinel • https://techblog.bozho.net • Twitter: @bozhobg
  • 3.
    Blockchain in anutshell Hash chain Merkle tree
  • 4.
  • 5.
    Types of blockchainsolutions Source https://medium.com/ltonetwork/the-rise-of-private-permissionless-blockchains-part-1-4c39bea2e2be
  • 6.
  • 7.
  • 8.
    Main drawbacks ofpublic blockchains Expensive Volatile Not scalable Not mature Hard do code and support
  • 9.
    Usability Key management Decentralization How tomake it usable? • Key management is hard (despite key management services) • Secure key storage, key rotation • Lost key = lost account, which is a no-go • Mobile phones and user laptops should not be nodes • Current blockchains don’t scale well, shared databases are huge • The user must not know they are using blockchain • Keys should be hidden & encrypted with password-derived keys • Services should be used via web apps or mobile apps
  • 10.
    Security Cryptographic security Storage security Private blockchain security •The cryptography is sound • Keys are as secure as their storage • Semi-quantum-resistant (hashes are resistant, ECC is not) • It’s a bad idea to store sensitive data on a public blockchain • Even encrypted, as re-encryption is not possible • Fully decentralized apps are a risk • Consensus is sometimes not needed (e.g. for single-party) • PKI is a single point of failure -> HSMs are needed • Need for regular verification of local data
  • 11.
    Key technology components Tamper-evident datastructures Byzantine fault tolerance Shared database Distributed code execution
  • 12.
    Immutable vs tamper-evident Immutable Tamper-evident •Tamper-resistant – nobody can modify data • Requires replication to multiple nodes with near real-time validation • Makes it possible to detect if tampering has occurred • Practical tamper-resistance is achieved through backups with integrity checks
  • 13.
    Tamper-evident data structures Hashchain Merkle tree Patricia merkle trees Hash list Hash calendar
  • 14.
    Smart contracts Neither smart, norcontracts  Distributed code execution Using the ledger as a database Written in specific languages (e.g. Solidity)
  • 15.
  • 16.
    Proposed use-cases andtheir issues • E-voting – public bulletin boards have been around for a while. Blockchain can help, but doesn’t solve fundamental problems • Payments – it’s slow • Food quality provenance – sensors and data entry are the hard part • Item provenance – centralized database; physical identity != digital identity; cloning • Healthcare data – storing data on a public blockchain, even encrypted, is risky • Land or property registry – legal need for central authority (integrity is needed, though) • Hotel reservations, ride sharing – p2p reputation is the hard problem to solve • Many other usecases are just digital transformation + trusted timestamping (PKI)
  • 17.
    Each component ofblockchain can solve real world problems.
  • 18.
    Blockchain can solveproblems Prove unmodifiability Internal lack of trust Multi-stakeholder databases • Prove to 3rd parties that data has not been tampered with • Logs, documents • Internal actors modifying data • Anchor to public blockchain, avoid scalability and cost issues • Practically a signed, shared database. Enterprise integration. • Higher education diploma registers • Car manufacturer + dealers usecase
  • 19.
    Conclusion 1. Cryptography isawesome 2. Data integrity is important 3. Use the right tool for the job
  • 20.