SlideShare a Scribd company logo
@MagemelloMario#DevoxxPL
Platinum Sponsor:
Blockchain By Code examples
Mario Romano
Alfresco
@MagemelloMario#DevoxxPL
Mario Romano is the Director of
Applications in Alfresco but he
is still really much involved with
the coding as open source
contributor for various projects.
Mario Romano
Director of Applications in
Alfresco
@MagemelloMario#DevoxxPL
CONTENT PROCESS
SMART AND EASY DIGITAL TRANSFORMATION Smart
contrac
t
@MagemelloMario#DevoxxPL
• Understand what is Blockchain
• Implementation of a Blockchain without network
• Implementation of a Blockchain with network
• Implementation of a Blockchain with network & wallet
• Blockchain evolution
• Demo
Agenda
@MagemelloMario#DevoxxPL
https://github.com/magemello/blockch
ain
Git repo example
@MagemelloMario#DevoxxPL
WHAT IS BLOCKCHAIN?
@MagemelloMario#DevoxxPL
Bitcoin?
…Bitcoin was the first application developed using blockcha
n
@MagemelloMario#DevoxxPL
Ethereum?
@MagemelloMario#DevoxxPL
…NOT JUST THAT…
@MagemelloMario#DevoxxPL
BLOCKCHAIN IS A
DISTRIBUTED SYSTEM
@MagemelloMario#DevoxxPL
YES! COOL
…BUT WAIT SECOND…
WHAT IS A
DISTRIBUTED SYSTEM?
@MagemelloMario#DevoxxPL
Systems architectures
@MagemelloMario#DevoxxPL
Centralized
@MagemelloMario#DevoxxPL
Decentralized
@MagemelloMario#DevoxxPL
Distributed
@MagemelloMario#DevoxxPL
CAP Theorem
CONSISTENCY
All clients see the same data at the
same time
AVAILABILITY
The system continue to
operate even in case of node
failure
CA
PARTITION
TOLERANCE
The system continue to operate as
expected even in case of partial
network failure
APCP
X
@MagemelloMario#DevoxxPL
Blockchain phenomenon
EconomyTechnology Social
@MagemelloMario#DevoxxPL
TECHNOLOGY
@MagemelloMario#DevoxxPL
• Transaction
• Digital signature
• Block
• Hashing
• Ledger
• Mining
• Consensus
• Smart Contracts
Main concepts
@MagemelloMario#DevoxxPL
TRANSACTION
{5d60236491223ba85cf4fe0eebac35c4e457f1bb}
{ …. }
@MagemelloMario#DevoxxPL
• A transaction represents any change in a database.
• In blockchain transactions are signed with private keys
• The signature of a transaction can be validated by peers
using the transaction sender public key
• To avoid malicious behavior and prevent reuse of the
same transaction each transaction can have a unique id
Transaction
{data…..}, timestamp signatur
e
@MagemelloMario#DevoxxPL
Transaction Lifecycle
Create
transaction
The transaction is
propagated to the networ
k
The transaction is verifi
ed by the peers
{ …. }
{ …. }
{ …. }
{ …. }
The transaction is added to t
he pending transactions que
ue
New block containing t
he transactions is mine
d
The new block is added
to the chain
The transaction
is completed
@MagemelloMario#DevoxxPL
data
$ git checkout
5d60236491223ba85cf4fe0eebac35c4e457f1bb
@MagemelloMario#DevoxxPL
DIGITAL SIGNATURE
{we don’t cover the code part in this presentation}
@MagemelloMario#DevoxxPL
• Key pairs system (public key and private key)
• Blockchain addresses are defined using public keys
• The messages encrypted with a public key can only be
decoded using the private key
• Always keep the private key secret and feel free to
distribute the public key
Cryptography
@MagemelloMario#DevoxxPL
Asymmetric encryption
Mike
0101
0101
0101
010
Alex
Public
key
0101
0101
0101
010
Alex
Alex
Private
key
Alex
Public
key
+
0101
0101
0101
010
Alex
Private
key
+
Alex
Public
key
@MagemelloMario#DevoxxPL
Sign Transaction
Alex
Alex
Private
key
0101
0100
1010
10
+
0101
0101
0101
010
Alex
Private
key
Alex
Public
key
{ …. }
{ …. }
{ …. }
Alex
Public
key
@MagemelloMario#DevoxxPL
Block
{fb23540fce45e0ab0f1a50f7dbb7f839561119ed}
@MagemelloMario#DevoxxPL
• There is only one special Block, the genesis block
• Every block is hashed
• Each block contains the hash of the block generated
before, in this way all the blocks are chained together
• This is part of the reason why blocks are considered
immutable records
• Each block has a timestamp to be able to tell what and
when something happened (The chain keep the history)
• The hash is a unique identifier
Block
@MagemelloMario#DevoxxPL
Blocks
Block Header
Block Data
• Hash
• Hash Previous Blo
ck
• Nonce
• Timestamp
Block Header
Block Data
• Hash
• Hash Previous Blo
ck
• Nonce
• Timestamp
Block Header
Block Data
• Hash
• Hash Previous Blo
ck
• Nonce
• Timestamp
Genesis Block Block 1 Block 2
[
Transaction { },
Transaction { },
Transaction { },
]
[
Transaction { },
Transaction { },
Transaction { },
]
[
Transaction { },
Transaction { },
Transaction { },
]
@MagemelloMario#DevoxxPL
$ git checkout
fb23540fce45e0ab0f1a50f7dbb7f839561119ed
@MagemelloMario#DevoxxPL
Hashing
{4eacc3e94c5bee5c869fdaa1e736096718ff6d50}
@MagemelloMario#DevoxxPL
• The hashing function creates 64 characters unique id
(SHA-256)
• You can use the hash to validate the data
• You can’t recreate the data from a hash, it’s a one-way
function
Hashing
010101
010101
010101
010
Hash
Value
{000df2df78d2f87abf13f648febc3e522649804d701d07aac600f2b265bf5c75}
f(x)
SHA256
@MagemelloMario#DevoxxPL
• Hash - Is used as checksum for the blocks, because if you change the info
in the block the hash will change
• Difficulty - Is the number of times that an established char has to be
repeated at the beginning of the hash in order to be valid
• Nonce - Is a random number that gets added to the payload in order to
obtain a valid hash
• Nonce + Difficulty -> forces the hash function to be repeated until it starts
with the established numbers of nonce and is impossible guess the nonce
number to have the right repetition of a certain number in front the hash.
• This is the mathematical problem at the base of the mining and also
because is complicated to calculate make sure one single person can’t
recalculate the entire chain and rewrite the history in his favor
Hashing
@MagemelloMario#DevoxxPL
Hashing
00ec80f6348e70cca8adbddde25ce22ee68e5611f9bbff1caae4d148d137
aba5
010101
010101
010101
010
Difficulty: 2
Valid
Hash
if (repetitionOf(‘0’) == 2)
Nonce:100
f(x)
Nonce++
New hash
@MagemelloMario#DevoxxPL
$ git checkout
4eacc3e94c5bee5c869fdaa1e736096718ff6d50
@MagemelloMario#DevoxxPL
Ledger
{ea08b211ea92529af11520dc24bb86d7fd357a1f}
@MagemelloMario#DevoxxPL
Ledger
• Events storage of blocks
• If we have 2 conflicting ledger, the longest chain wins,
because has most computational power
• For this reason a chain is verified only after few blocks (~
6)
• Unless you have more than 50% of the computational
power of the network you will not be able to create a
longer chain and impose your history
@MagemelloMario#DevoxxPL
Ledger
@MagemelloMario#DevoxxPL
$ git checkout
ea08b211ea92529af11520dc24bb86d7fd357a1f
@MagemelloMario#DevoxxPL
MINING
{5bee1ac50ace79b516276c1d645b66e5e01dcbbd}
@MagemelloMario#DevoxxPL
• Mining consist in the resolution of a complex
mathematical problem (proof of work)
• Mining is used to validate transactions and ensure the
immutability of the chain
• Miners are incentivized with rewards
• Mining is used to validate transactions and ensure the
immutability of the chain
• Miners are specialized nodes
Mining
@MagemelloMario#DevoxxPL
$ git checkout
5bee1ac50ace79b516276c1d645b66e5e01dcbbd
@MagemelloMario#DevoxxPL
CONSENSUS
{b51eb35378c0114b473a824d9a4e0229a2d8db1e}
@MagemelloMario#DevoxxPL
• Blockchain is a distributed system, this means that there
is no central authority to validate the transactions in the
database
• The database is maintained and validated by a large
number of computers that offers their computational
power and are incentivized through a reward system
(mining)
• With the consensus (proof of work) the nodes don’t need
to trust each other, they need only to trust the
mechanism provided by the system
Consensus
@MagemelloMario#DevoxxPL
$ git checkout
b51eb35378c0114b473a824d9a4e0229a2d8db1e
@MagemelloMario#DevoxxPL
WALLET
{8ab8dbf24954b9c8648b5418468465746c125af3}
Wallet icon author: Joseph Augustine
@MagemelloMario#DevoxxPL
$ git checkout
8ab8dbf24954b9c8648b5418468465746c125af3
@MagemelloMario#DevoxxPL
SMART CONTRACTS
{we don’t cover the code part in this presentation}
@MagemelloMario#DevoxxPL
• Can be computer code stored and executed in the blockchain
• Remove the need for a central authority to create and enforce the
contract agreement
• The best example of blockchain supporting smart contracts is
Ethereum
• The contract is immutable and no one can change it (the code is
law)
Smart contracts
hash
genesis
block
block
hash
block
data datacod
e
cod
e
@MagemelloMario#DevoxxPL
• For example, 4 people can agree to get some interest when the
value of an investment riches a certain value, the code in the smart
contract will release the interest automatically to their account
when this condition is solidified.
Smart contracts example
Wallet icon author: Joseph Augustine
Stock icon author: Giannis Choulakis
==code
Smart contract
@MagemelloMario#DevoxxPL
Blockchain Evolution
Evolution icon author: Jakob Vogel
@MagemelloMario#DevoxxPL
Blockchain Evolution
2007 20192010 2013 2016
Blockchain 1.0
Ledger record transaction
s
Blockchain 2.0
Smart Contracts
Blockchain 3.0
Distributed cloud computer
Web 3.0
@MagemelloMario#DevoxxPL
Web 1.0 Web 3.0
Web 2.
0
Read and Write
centralized information
Read and Write
decentralized information
Read Only
King icon author: Sharon Showalte
WEB Evolution
@MagemelloMario#DevoxxPL
WEB 3.0
@MagemelloMario#DevoxxPL
@MagemelloMario#DevoxxPL
Demo
https://github.com/magemello/blockchain
@MagemelloMario#DevoxxPL
DON’T TRY THIS AT HOME
@MagemelloMario#DevoxxPL
@MagemelloMario#DevoxxPL
Q&A
https://github.com/magemello/blockchain

More Related Content

Similar to Blockchain By Code examples - Devoxx Poland 2018

Service Mesh Patterns
Service Mesh PatternsService Mesh Patterns
Service Mesh Patterns
Alex Soto
 
Blockchain explained (Technology running Bitcoin)
Blockchain explained (Technology running Bitcoin)Blockchain explained (Technology running Bitcoin)
Blockchain explained (Technology running Bitcoin)
Qais Ammari
 
blockchain.pptx
blockchain.pptxblockchain.pptx
blockchain.pptx
jaouadAGHLALA1
 
The Secret behind the Blockchain Technology
The Secret behind the Blockchain TechnologyThe Secret behind the Blockchain Technology
The Secret behind the Blockchain Technology
PECB
 
Blockchain
BlockchainBlockchain
Blockchain
Gopal Goel
 
Blockchain
BlockchainBlockchain
Blockchain
Abhinand Valasseri
 
CBGTBT - Part 2 - Blockchains 101
CBGTBT - Part 2 - Blockchains 101CBGTBT - Part 2 - Blockchains 101
CBGTBT - Part 2 - Blockchains 101
Blockstrap.com
 
Blockchain concepts
Blockchain conceptsBlockchain concepts
Blockchain concepts
Murughan Palaniachari
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchains
Dmitry Meshkov
 
Blockchain (1).pptx
Blockchain (1).pptxBlockchain (1).pptx
Blockchain (1).pptx
MeetPBarasara
 
SMART Seminar Series: "Blockchain and its Applications". Presented by Prof Wi...
SMART Seminar Series: "Blockchain and its Applications". Presented by Prof Wi...SMART Seminar Series: "Blockchain and its Applications". Presented by Prof Wi...
SMART Seminar Series: "Blockchain and its Applications". Presented by Prof Wi...
SMART Infrastructure Facility
 
Blockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationBlockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentation
Paperchain
 
Blockchain on AWS
Blockchain on AWSBlockchain on AWS
Blockchain on AWS
AWS Riyadh User Group
 
Blockchain Fundamentals
Blockchain FundamentalsBlockchain Fundamentals
Blockchain Fundamentals
Provide Technologies
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
AvinashChoure2
 
What to expect from Blockchain in 2019?
What to expect from Blockchain in 2019?What to expect from Blockchain in 2019?
What to expect from Blockchain in 2019?
PECB
 
apidays LIVE Australia 2020 - WT* is JWT? by Maciej Treder
apidays LIVE Australia 2020 -  WT* is JWT? by Maciej Trederapidays LIVE Australia 2020 -  WT* is JWT? by Maciej Treder
apidays LIVE Australia 2020 - WT* is JWT? by Maciej Treder
apidays
 
apidays LIVE Paris - WT* is JWT? by Maciej Treder
apidays LIVE Paris - WT* is JWT? by Maciej Trederapidays LIVE Paris - WT* is JWT? by Maciej Treder
apidays LIVE Paris - WT* is JWT? by Maciej Treder
apidays
 
apidays LIVE LONDON - WT* is JWT? by Maciej Treder
apidays LIVE LONDON - WT* is JWT? by Maciej Trederapidays LIVE LONDON - WT* is JWT? by Maciej Treder
apidays LIVE LONDON - WT* is JWT? by Maciej Treder
apidays
 
apidays LIVE Hong Kong - WT* is JWT? by Maciej Treder
apidays LIVE Hong Kong - WT* is JWT? by Maciej Trederapidays LIVE Hong Kong - WT* is JWT? by Maciej Treder
apidays LIVE Hong Kong - WT* is JWT? by Maciej Treder
apidays
 

Similar to Blockchain By Code examples - Devoxx Poland 2018 (20)

Service Mesh Patterns
Service Mesh PatternsService Mesh Patterns
Service Mesh Patterns
 
Blockchain explained (Technology running Bitcoin)
Blockchain explained (Technology running Bitcoin)Blockchain explained (Technology running Bitcoin)
Blockchain explained (Technology running Bitcoin)
 
blockchain.pptx
blockchain.pptxblockchain.pptx
blockchain.pptx
 
The Secret behind the Blockchain Technology
The Secret behind the Blockchain TechnologyThe Secret behind the Blockchain Technology
The Secret behind the Blockchain Technology
 
Blockchain
BlockchainBlockchain
Blockchain
 
Blockchain
BlockchainBlockchain
Blockchain
 
CBGTBT - Part 2 - Blockchains 101
CBGTBT - Part 2 - Blockchains 101CBGTBT - Part 2 - Blockchains 101
CBGTBT - Part 2 - Blockchains 101
 
Blockchain concepts
Blockchain conceptsBlockchain concepts
Blockchain concepts
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchains
 
Blockchain (1).pptx
Blockchain (1).pptxBlockchain (1).pptx
Blockchain (1).pptx
 
SMART Seminar Series: "Blockchain and its Applications". Presented by Prof Wi...
SMART Seminar Series: "Blockchain and its Applications". Presented by Prof Wi...SMART Seminar Series: "Blockchain and its Applications". Presented by Prof Wi...
SMART Seminar Series: "Blockchain and its Applications". Presented by Prof Wi...
 
Blockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationBlockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentation
 
Blockchain on AWS
Blockchain on AWSBlockchain on AWS
Blockchain on AWS
 
Blockchain Fundamentals
Blockchain FundamentalsBlockchain Fundamentals
Blockchain Fundamentals
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
What to expect from Blockchain in 2019?
What to expect from Blockchain in 2019?What to expect from Blockchain in 2019?
What to expect from Blockchain in 2019?
 
apidays LIVE Australia 2020 - WT* is JWT? by Maciej Treder
apidays LIVE Australia 2020 -  WT* is JWT? by Maciej Trederapidays LIVE Australia 2020 -  WT* is JWT? by Maciej Treder
apidays LIVE Australia 2020 - WT* is JWT? by Maciej Treder
 
apidays LIVE Paris - WT* is JWT? by Maciej Treder
apidays LIVE Paris - WT* is JWT? by Maciej Trederapidays LIVE Paris - WT* is JWT? by Maciej Treder
apidays LIVE Paris - WT* is JWT? by Maciej Treder
 
apidays LIVE LONDON - WT* is JWT? by Maciej Treder
apidays LIVE LONDON - WT* is JWT? by Maciej Trederapidays LIVE LONDON - WT* is JWT? by Maciej Treder
apidays LIVE LONDON - WT* is JWT? by Maciej Treder
 
apidays LIVE Hong Kong - WT* is JWT? by Maciej Treder
apidays LIVE Hong Kong - WT* is JWT? by Maciej Trederapidays LIVE Hong Kong - WT* is JWT? by Maciej Treder
apidays LIVE Hong Kong - WT* is JWT? by Maciej Treder
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Codeigniter VS Cakephp Which is Better for Web Development.pdf
Codeigniter VS Cakephp Which is Better for Web Development.pdfCodeigniter VS Cakephp Which is Better for Web Development.pdf
Codeigniter VS Cakephp Which is Better for Web Development.pdf
Semiosis Software Private Limited
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Codeigniter VS Cakephp Which is Better for Web Development.pdf
Codeigniter VS Cakephp Which is Better for Web Development.pdfCodeigniter VS Cakephp Which is Better for Web Development.pdf
Codeigniter VS Cakephp Which is Better for Web Development.pdf
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 

Blockchain By Code examples - Devoxx Poland 2018

Editor's Notes

  1. Come day after tomorrow to our workshop about Activiti
  2. In Alfresco we want to make digital transformation smart and easy. We offer a platform, composed of ui components and rest APIs to companies that want to digitalize their contents an processes. And IF you think to content and process you can see the relation with blockchain and smart contracts….
  3. Blockchain was invented by Satoshi Nakamoto to serve as the public transaction ledger of the bitcoin cryptocurrency . Sataoshi wanted to create a database and make near impossible to remove or corrupt information in that database, he also wanted it to be transparent and make everyone able to have a copy of that database
  4. Etherium was created by Vitalik Buterin and from many people is considered the base for blockchain 2.0 & 3.0, the reasoin is tbe ability that it has to run scripts on the blockchain
  5. And if we think about blockchain 1.0….we can say that is a distributed database
  6. Availability and partition tolerance are business properties….usually business prefers sacrifice consistency and deal with it in a different way AP
  7. Blochchain is more than just technology….is also a social and Economy phenomenon…but today we will not cover the social and economic part
  8. A transaction represents any change in a database. Like in any other database blockchain stores transactions and trough them you can reconstitute the actual state. In blockchain transactions are signed with private keys….so we can validate the authenticity of a transaction The sign of a transaction can be validated by peers using the transaction sender public key In our case here we will assume that the timestamp is the unique id
  9. How do we sign a transaction? And how do we validate it? we don’t cover the code part in this presentation, but I will explain you how this work
  10. because the hash value of a block depends also on the hash of the previous block
  11. Not know how to manage complex situation when rules are less strict and needs a certain degree of jugjments
  12. Not know how to manage complex situation when rules are less strict and needs a certain degree of jugjments
  13. In order to get to Blockchain 3.0 we still have to solve some challenges about scalability and sustenability of the proof of work, it may will require to switch to other system…like proof of stake
  14. All companies working on Blockchain projects
  15. Missing signature on transaction….next demo 
  16. Why we want to decentralize? Upgrade peers problem? Use cases for blockchain? Decentralizers vs Centralizers….reasons? Decentralizers vs Centralizers pro cons? Blockchain limiits?-> Transactions per second? Size Block?