2. Functions of Money
- Medium of Xchng (purchase Goods/Services)
- Unit of Accounts (Goods and Services are
quoted in terms of money value)
- Store of Value (Can be used to transfer
purchasing power to a future date)
3. A Lookback at Modern FIAT Currencies
- Money printed based on Govt. Decree (FIAT)
- All Currencies are Inflationary (Value depletion)
- Most often Value is arbitrary
- decided by currency supply/demand
- market sentiment
- Hedging ( China and India in $ )
4. What is Bit-Coin?
- A Crypto Currency
- A Technology ( an Open distributed Ledger)
- A Political Tool
5. What is Block Chain?
- The Technology behind Bit-Coin
- A Tamper proof Decentralized Open Ledger
- A Protocol which ensures Transaction
- Confidentiality,Integrity,Availability
- Has a Network Consensus Algorithm in it
- Every node stores all transactions since the
Genesis Block
- A Triple Entry Accounting System
10. Block Chain 3.0 (Beyond Smart Contracts)
- An Effective way to organize Activities
- Censorship-Resistant Organizational Models
- Example of a Distributed DNS ( NameCoin)
- Alexandria (Combining Tweet/BC)
- Ostel (Encrypted VOIP/survilence proof)
- Digital Identity ( OneName, BitID)
- Virtual notary (http://virtual-notary.org/)
- Digital Rights Management (DRM)
- Decentralized Govt. Services
11. Currency,Private equities,Public equities,
Bonds,Derivatives (futures, forwards, swaps,
options, and more complex variations),Voting rights associated with any of the
preceding,Commodities,Spending records,Trading records,Mortgage/loan
records,Servicing records,Crowdfunding,Microfinance
Microcharity
Legra Capital – Finance Record Keeping using Block
Chain
12. Land titles,Vehicle registries,Business license,Business incorporation/dissolution
records,Business ownership records,Regulatory records,Criminal
records,Passports,Birth certificates,Death certificates,Voter IDs,Voting,Health/safety
inspections,Building permits,Gun permits,Forensic evidence,Court records,Voting
records,Nonprofit records,Government/nonprofit accounting/transparency
Legra Capital – Public Records
17. BitCoin/BlockChain Internals
“There are no bitcoins, only records of bitcoin
transactions in a Block Chain (Transaction based
accounting). Another funny fact is that, there is no
Encryption. A distributed Ledger which can get open as
it can ” – something worth remembering!
23. Hashing (SHA256) demo using OpenSSL
• Create a Text file (temp.txt) using “Hello World..” as the content
• Generate the SHA256 of the temp.txt using OpenSSL
• openssl –dgst sha256 temp.txt
• Output
SHA256(temp.txt)=
bbf242f2054d9c01a623b6d340378f83c2e1e3baa055c04ef31f045f24a11b7c
• Generate SHA256 by changing contents of the temp.txt into
“Hello World…”
• openssl –dgst sha256 temp.txt
• Output
SHA256(temp.txt)=
77e612c2fd40015a1945fc2b20d6ac6febcf57d6cbd8ec8026df317e03a346
26. • Some facts about Elliptic Curve Cryptography for BitCoin
• Private keys => 32 bytes long.
• Public keys =>64 bytes (uncompressed form) or 32 bytes (compressed form) long plus a 1-byte prefix.
• The elliptic curve C is the secp256k1 curve.
• EC crypto is based on modular arithmetic
• Generate a ECC Private Key (Output in Base64 format)
openssl ecparam -name secp256k1 -genkey -out ec-priv.pem
• Output in Human Readable format
openssl ec -in ec-priv.pem -text –noout
• Output the public key to a file ( ec-pub.pem)
openssl ec -in ec-priv.pem -pubout -out ec-pub.pem
• Output the file in human readable format
openssl ec -in ec-pub.pem -pubin -text –noout
• Output in the Compressed format
openssl ec -in ec-pub.pem -pubin -text -noout -conv_form compressed
27. EC DSA using OpenSSL
• Take a file and digitally sign its SHA256 digest using EC
• openssl dgst -sha256 -sign ec-priv.pem ex-message.txt >ex-signature.der
• Hex Encoded Signature
• openssl dgst -sha256 -hex -sign ec-priv.pem ex-message.txt
• Verify the Signature
• openssl dgst -sha256 -verify ec-pub.pem -signature ex-signature.der ex-
message.txt
38. Hashing and Proof of work
• The Hash value generated is a random one
• hash256(BlockHeader + Nonce) < target (This is infamous Puzzle)
• Target is based on the current difficulty level
• Target is reduced to make it hard to find out the right Nonce (More
computing power)
• Arrived based on the computation happened in the last 2016
• next_difficulty = (previous_difficulty * 2016 * 10 minutes) / (time to
mine last 2016 blocks)