350 likes | 364 Views
This presentation demonstrates how blockchain concepts can be explained using the imaginary digital currency BARTS, which involves buying and selling drawings. Topics covered include an introduction to blockchain, its various applications, the difference between cryptocurrency and fiat currencies, and the concepts of mining and hashing. The simulation exercise involves artists, gallery owners, and mining pools.
E N D
BARTSBlockchain ARTSimulation The purpose of this presentation is to illustrate how blockchain concepts can be illustrated using an imaginary digital currency called BARTS, to buy and sell drawings.
Topics of Discusison • Introduction: What is a blockchain? • Where blockchain is used • What is the difference between cryptocurrency and Fiat • What is Mining and Hashing? • BARTS Exercise • Summary • Additional supplemental exercises on hashing
Blockchain Introduction • Satoshi Nakamoto developed the digital currency Bitcoin • Blockchain serves as the public ledger. It is managed autonomously through the use of a peer-to-peer network of miners, along with a timestamp server. • The miners assist in validating Bitcoin transactions between two parties that are to be added to the blockchain. • The miners get paid for validating transaction from fees, and by receiving newly created Bitcoins
Where the blockchain is used? • Stores • Supply Chain • Healthcare • Government • FinancialInstitutions • Automated Governance
Benefits of blockchain • Eliminates the middle person or third party. • Solves the double spending issue. • Creates an immutable ledger that cannot be modified.
https://www.ehowportal.com/cryptocurrencies-vs-fiat-currencies/https://www.ehowportal.com/cryptocurrencies-vs-fiat-currencies/
Hashing & Mining • Hashing algorithms are used to verify digital currency transactions and then to add them to the distributed blockchain ledger. This process of validation is applicable to a variety of applications, not just cryptocurrency applications. • Tremendous computational and energy demands of mining are reducing the opportunity for success. • The decrease in mining success for new entrants is related to the presence of large mining companies and consortia with deep pockets. • A mining pool is a group of miners that join forces to combine computing power for monetary gain. Large mining pools increase the chance for successful hashing.
BARTS Players Coordinator or instructor 3 Artists 3 Gallery Owners At least 3 Mining Pools with two miners in each pool. One of the miners will be the spokesperson for the mining pool.
We like to use the same names for the simulations but you can use any names. This exercise can be adapted to any class size by adding more people to each mining pool or reducing the number of mining pools. Artists and buyers can also be added. • Art Buyer Names • Flipflop • Krystal • Bobo • Artists Names • DrawGud • Crafty • Charkole • Miner Names • Placer Kings • Gold Gulch • Spider Miners • Dig It Fast • Royal Placer • Barts Miner • Hash Crash • Fire Ants
BARTS Simulation Process • Sellers or Artists: Drawgud, Crafty and Charkole • Draw a picture in two minutes on BARTS transaction paper. • Sell it to a buyer • Buyers or Sellers: Flipflop, Krystal and Bobo • Bid on pictures from 1-5 BARTS • Once you get the bid, you enter your name, artists name and hand the drawing to the instructor.
BARTS Simulation Process Contd… • Instructor: Is like the core blockchain coordinating software • Announces the transaction to everyone in the room. I.e.Krystal 5 Charkole • Mining Pools: Placer Kings, Gold Gulch and Spider Miners, etc. • Each member of mining pool will use the BART Mining Program at https://tinyurl.com/BARTSMining • Start the nonce at 1 and keep incrementing until there is a leading zero on SHA 256 hash. • Yells “Eureka” when a leading zero is found. • Instructor • Asks the individual that yelled eureka what nonce value generated the leading zero. • Instructor announces the nonce value to the miners. • If three or more mining pools can generate a hash with the same leading zero, then the transaction is added to the blockchain using https://tinyurl.com/BARTSBlockchain
Artists use this sheet to draw. The Gallery owners enter Sender name, amount and receiver.
Artists use this sheet to draw. The Gallery owners enter sender name, amount and receiver.
Artist Drawgud creates a picture and sells to Flipflop Mining pools try to find a nonce with a leading zero for the transaction Transaction is added to ledger after 50% of mining pools agree that it is a valid transaction
Hash Program for each miner at https://tinyurl.com/BARTSMining
Lets begin the simulation • Who wants to draw? • Who wants to buy the drawings? • The remaining individuals are miners and will be in one of the eight mining pools. • https://tinyurl.com/BARTSMining (Use this link for mining)
This is a simulation: Many similarities and several differences. • We use names such as Drawgud, Crafty instead of a 160 bit hashed public key as the Bitcoin destination address. • We do not use a private key, which is like a password, to make sure that the sender is a valid owner of BARTS tokens. • A timestamp and other information is usually hashed along with the buyer, seller and amount.
This is a simulation: Many similarities and several differences. Contd… • Bitcoin blocks usually contains 1,000 to 3,000 transactions. • Miners also receive transaction fees for Bitcoin. • The instructor is a centralized validator of the transactions and the participants. Digital currencies use many nodes in a peer-to-peer network to verify transactions. • If this system was perfect, we would probably sell it and have an initial coin offering (Not!). • The only people that really understand blockchain are the core developers/programmers. But here is an additional overview: Down in the Weeds. Mining and the Bitcoin Network: (Explain Like I’m 5)
Debriefing • What did you find interesting about the process? • What did you like about the simulation? • What would you like to see differently? • Lets look at some of the differences.
Consensus approaches differ • Proof of work (Bitcoin and BARTS): Miners try to solve the hash problem. The first miner to solve the hash problem will get a reward, (12.5 bitcoins) their transaction will be added to the blockchain after other minershave validated it. • Proof of stake (Etherium): One miner (actually called validator) is sort-of-randomly elected or selected to mint or forge new blocks. The minter or forger node with the highest number of coins in possession has a higher probability of being chosen as the forger for the block. 51% Attack is supposedly harder with proof of stake. Problem with proof of stake is that the rich can get richer.
Gas in Etherium-type blockchains • In Etherium-type ledgers, you can pay additional cryptocurrency to have your transaction added to the blockchain faster. This is called gas, and it can be used to reduce transaction times.
Research and Development • The BARTS simulation can illustrate how R&D can be used to reduce the time to find a hash with a leading zero and increase mining performance. For example, process innovation would occur when miners in a mining pool start at different numbers for the nonce. For instance, if there were three miners, one miner could begin at 1, the second at 11, and the third at 20. Another way to increase mining performance is to find or develop a program to automatically generate a hash with a leading zero. Of course, the instructor could then have the miners generate a hash with more leading zeros.
Mining complexity is controlled by number of leading zeros • The number of leading zeros required for a transaction can be used to control the speed of the mining process. If we had a room with 200 miners, we could have them generate a hash with two leading zeros. That would on average take 16^2 or 256 attempts to find a text with two leading zeros.
How would smart contracts work in BARTS? • Smart contracts are programs, code, protocols, or scripts controlling when and how of cryptocurrency is transferred between parties or the when and how of non-blockchain transactions. We might have a smart contract that puts the minimum amount that could be paid for a drawing is 5 BARTS, or that after a gallery owner purchases three pictures from one artist, the gallery owner gets a 1 BARTS discount from the artist.
Digital currency market demand concepts • Drawings can only be bought and sold through the BARTS market using the BARTS transaction paper. Before the simulation was started, 1 million BARTS cryptos were sold at an initial coin offering. People purchased the original BARTS using a credit card or direct deposit. • Demand is created, if people had to turn to the BARTS environment to purchase the beautiful drawings, you saw today.
Names of BARTS participants would be encrypted in an actual crypto application • The name of the parties participating in the BARTS transactions would be hashed encrypted signatures. No names are involved with true cryptos. The process of validation would include something like the elliptic curve cryptography. This is a very technical topic that could be covered in more technical/specialized courses. It is essentially a secure user-id/password-type validation procedure.
Summary • Mining is made more difficult by adding more zeros to the front of the hash. • Bitcoin now demands 17 zeroes on the front of the hash. This would take on average 16^17 attempts to find a hash with 17 leading zeros. • By adding more miners to the mining pool, you can decrease the mining time. Just let each person in the pool start at a different number to start the nonce.
Additional Technical material on Hashing:Not required but useful for understanding • A set of four exercises were developed to illustrate hashing concepts . The four exercise takes about an additional hour or two of class time depending upon the level of detail need to discuss the concepts. They can be introduced before or after the BARTS simulation and present additional insight into the hashing concepts. • These exercises were first introduced at the 2018 North Eastern conference for the CSCC in Arlington Virginia. The paper received the best student paper award ("A-Nonce the Use and Performance of Hashing Algorithms), but the paper and content has not published in any proceedings or journal.
Exercise 1: Generate a nonce that will result in a leading zero for a hash. • Students enter their name with the number 1 right after their name. If the first character is not a zero, they keep incrementing the number following their name by one more unit until a hash with one leading zero is generated. This program is available at https://tinyurl.com/ZeroHashMining.
Exercise 2: A Hashing program that automatically searches for a nonce. • This algorithm is quite complex because the program has to keep searching until it finds a hash with the correct number of leading zeros. This is what miners do for a living using specialized hardware to find a hash with 17 leading zeros. This program is written in PHP and is available at https://tinyurl.com/ZeroHashMining2.
Exercise 3: Mining Computation Issues • The purpose of this exercise is to illustrate in greater detail the computational demand that is required for using hashing for proof of work. This is a very advance simulation that can be used to illustrate how the size of the text to be hashed along with the number of leading zeros influences the hash rate. • It requires participants to enter the text to be hashed, along with the number of leading zeros, then to click on the hashing algorithm desired and the number of times to run the simulation. The program will find the hash by adding a nonce, or random number, to the string until it generates a hash with the appropriate number of leading zeros. This program is available at https://tinyurl.com/ZeroHashMining3.
Exercise 4: Birthday Paradox and cracking secure hash algorithms • The safety of secure hash algorithms is always an issue of interest. The Birthday Paradox can be used as an approximation of the amount of brute force computing necessary to find a hash collision. The program used to illustrate the number of years to find a hash Collison for various SHA bit sizes and hash rates can be found at https://tinyurl.com/BirthdyaParadoxExample. • For example, the number of years needed to find a collision for the lowly 160 bit SHA1 algorithm using 5,000 ASICS computers each capable of 13TH/s with a total hashing rate of 65,000 TH/s, is 0.74 years. This is in contrast to the 208.06 trillion years to find a collision with the SHA256 algorithm using the brute force approach.