This is the ppt presentation of my MSc thesis with the title "Implementing electronic lotteries by using hash values of Bitcoin blocks as a source of entropy"
For more information you can have a look at the github repository:
https://github.com/TopFlankerKiller/BlockInfo-MScProject
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
Msc_topalidis_georgios_project_presentation
1. by
Topalidis Georgios
under the supervision of
Professor Giaglis George
10 May 2018
University of Nicosia
School of Business
MSc Project - Thesis: Implementing electronic lotteries by
using
hash values of Bitcoin blocks as source of
entropy
2. Purpose of Project - Thesis
The building of an application,
implementing electronic draws with a
decentralized way
The application is using the hash values
of Bitcoin blocks as a source of
randomness
3. Contents
What is entropy?
Capturing entropy from Bitcoin and PoW algorithm
The Draw algorithm
Analysis of the application scheme
Testing Results
Proof of Existence –Bitcoin is not just a currency
Potentiality of using the application
Sources of randomness
Limitations and future work
Demonstration of the application
4. What is entropy?
Entropy refers to disorder or uncertainty
The less the possibility of an event to happen creates more
information about its fulfillment
A more probable event is less random(informative)
SHANNON ENTROPY: H(x) = E[I(x)]=E[-ln(P(x))]
Information entropy is the average amount of information
conveyed by an event, when considering all possible outcomes
5. Capturing entropy from Bitcoin and PoW
algorithm(1)
The process of finding a solution for the PoW
algorithm is related with randomness
Every 10 minutes, miners trying to solve the
inequation:
H(nonce || Prev_hash || tx ||…|| tx)< target
nonce: the random number
6. Capturing entropy from Bitcoin and PoW
algorithm(2)
The probability of solving the PoW algorithm is:
P=0.00000000000000000000005753 (8/5/2018)
Our application uses the blockHash (solution of
the PoW) with the form of SHA256(blockHash )
as a seed, for importing randomness to the draw
process
7. The Draw algorithm
Participant 1
• Bob
• Bob’s ID card number
Participant 2
• Mary
• Mary’s ID card number
Participant 3
• Paul
• Paul’s ID card number
identifier of Bob
+ seed identifier of
Mary
identifier of
Paul
Identifier = SHA256(seed
8. Analysis of the application scheme(1)
1
Hash blocks as
input to the
algorithm
Participants
Bob
Mary
.
.
Paul
2
3
4
1)Fetching data from Blockchain
2)Import unique data from participants
3)Run the lottery
4)Store the results to the Blockchain with
OP_RETURN transaction
9. Analysis of the application scheme(2)
Winner is the participant whose
the outcome of :
SHA256(SHA256(blockhash )||
ticket)
seed
is the smallest among all the
other
10. Testing Results
A/A Number of
Participants
Average Time in
Nanoseconds after
running the test cases 10
times
Average Time in seconds
after running the test
cases 10 times
1 100 18040702.9 0.0180407029
2 1000 38368960.7 0.0383689607
3 10000 1829125543 1.829125543
4 100000 69455143486 69.455143486
The attempt for running the algorithm with 1000000 participants was not taken into
consideration because the executional time of the algorithm in this case was high and
as a result could not simulate a realistic executional time of an electronic draw or
contest.
11. Proof of Existence –Bitcoin is not just a
currency
The application
and the algorithm
itself ensure:
Decentralizatio
n
(No central
authority)
Security
(Randomnes
s is backed
by NIST
recommendat
ions, usage
of hash
functions)
Transparenc
y
(certify that
data existed at a
certain time –
it’s a public
ledger
Verifiability
(auto-
verifiable with
Blockchain)
12. Potentiality of using the application
Companies(Marketing campaigns, User acquisition,
Loyalty bonus)
Governments (Tax avoidance)
Institutions (Micro-earnings)
Organizations (Gamification, Motivate employs)
13. Sources of randomness
Financial Data (Stock
market prices)
Bitcoin
Other Cryptocurrencies
Flight Landings
Weather Conditions
GDP, Unemployment Rates
Big and Open
data
Verifiable
+
Frequent
14. Limitations and future work
Improvement
of the algorithm
in order to run
for more than
100000
participants
effectively
Solve the
problem of
storing the
results of the
draw by using
the
OP_RETURN
More friendly
User Interface
in the
application
15. Demonstration of the application
Running a lottery with 100 participants, video
demonstration…