Women in Technology #43 -
Kraków Blockchain and
Cryptocurrency Basics
Crypto@Cracow: Tomasz Kurowski
Tomasz Korwin-Gajkowski Jacek Sieradzki
“ A purely peer-to-peer version of electronic cash would allow online payments to be sent
directly from one party to another without going through a financial
institution.
Satoshi Nakamoto
Agenda
1. Co to są kryptowaluty?
2. Czym jest blockchain?
3. Jak to działa?
4. Demo - IBM Blockchain on Bluemix
5. Q&A
7 Cech Pieniądza
1. Stabilność: ograniczona i przewidywalna podaż
2. Trwałość: nie niszczeje w sposób prosty
3. Akceptowalność: jest środkiem płatniczym
4. Jednolitość: każda sztuka jest identyczna, ta sama wartość
5. Poręczność: rozmiar ułatwia przechowywanie i transport
6. Rozpoznawalność: trudności w podrobieniu, znany wzór
7. Podzielność: umożliwienie wydawania reszty
Co to są Kryptowaluty? ⊡ Ang. cryptocurrency – rodzaj tokena cyfrowego opierającego się na kryptografii użytej do
cyfrowego podpisywania transakcji oraz do kontroli wzrostu podaży tokenów. Kryptowaluty oparte są
na zdecentralizowanej sieci peer-to-peer (P2P). Przykładowo: blockchain lub ethereum
Kryptowaluty są to nośniki wartości. Niektóre z nich spełniają wszystkie lub niektóre funkcje
pieniądza
⊡ Pierwszą, najbardziej znaną kryptowalutą, jest bitcoin. Pozostałe określa się mianem „altcoiny”
(alternatywne coiny). Nie zostały jak dotąd powszechnie uznane za w pełni legalny pieniądz lub
waluta w Polsce.
Najbardziej znane kryptowaluty
Dane dostępne na 21.05.2017 (https://coinmarketcap.com/)
Bitcoin na Świecie
Czym jest blockchain? Blockchain to rozproszona baza danych, która zawiera stale rosnącą ilość informacji rekordów pogrupowanych
w bloki. W ten sposób tworzony jest nierozerwalny łańcuch bloków danych “immutable” (czyli blockchain). Dzięki
niemu dokonanie jakiejkolwiek zmiany w zapisach historycznych (bez zmian całej historii transakcji) jest niemożliwe.
Technologia blockchain została po raz pierwszy użyta w 2009 r. w kryptowalucie bitcoin, jako sposób księgowania
transakcji nią dokonywanych bez możliwości podwójnego wydania (double spend) tych samych środków. Blockchain
bitcoinowy jest publiczny (każdy może mieć do niego dostęp, wziąć udział w tworzeniu nowych bloków).
W przeciwieństwie do blockchain prywatnego np. Hyperledger.
Model: Scentralizowany, Zdecentralizowany oraz
Rozproszony (blockchain)
Praktyczne użycie blockchain
A co jeśli akty własności byłyby wieczne?
„Honduras Case”
„Spośród 7.2 miliard ludzi na Ziemii, tylko 2 miliardy posiadają prawny akt własności swojego majątku”
Praktyczne użycie blockchain
Gruzja ❑ Pierwszy rządowy Blockchain – transparentna księga wieczysta do rejestrowania i śledzenia aktów własnościowych
|Estonia
❑ Publiczny notariusz – zdalny cyfrowy notariusz oparty o technologię blockchain, który dostępny jest z
każdego miejsca na świecie. Część większego projektu cyfryzacji Estonii „e-Residency”.
❑ The eHealth Project – System rejestru danych medycznych, przebyte choroby, podane leki. Zintegrowany
dla całego kraju. Inne: E-School, E-Tax Board, E-Ticket, E-Banking, i-Voting, E-Stonia - 94% ID jest
cyfrowych, 30% głosów w wyborach 2015 internetowo, 98% recept jest elektronicznych.
❑ Blockchain based Voting for Exchanges – Estońska filia NASDAQ będzie używać blockchain jako panel
do przechowywania informacji rynkowych , głosowań rad nadzorczych i akcji korporacyjnych.
Praktyczne użycie blockchain
❑Hyperledger (Consortium/Private Blockchain):
- Everledger: rejestr diamentów
- Crédit Mutuel Arkéa: platforma typu Know-Your-Customer
- ABN AMRO – rejestr właścicieli nieruchomości w holenderskim banku
- IBM Global Financing – finansowa część IBM korzysta z hyperledger, redukcja czasu sprawy 40~do 10~dni.
- Santiago Stock Exchange, TMX, SWIFT, DTCC, Deutsche Borse – w trakcie wprowadzania Hyperledger
❑Mycelia for Music – Kupno muzyki przez internet- http://myceliaformusic.org/
❑Slock - “the sharing economy” rejestr wypożyczeń obiektów, towarów i usług (konkurencja Airbnb, Lyft,Uber,
Trafficar) https://slock.it/
❑Steemit - Steem to portal społecznościowy działający jak Wykop czy Reddit. W zamian za dodawanie treści,
głosowanie i komentowanie otrzymuje się prawdziwe pieniądze. Są one wypłacane pod postacią SteemPower oraz
SteemDollars a te zamienne są na Bitcoiny oraz dolary amerykańskie. Treści są nieodwracalne.
https://steemit.com/
Czy blockchain i kryptowaluty są legalne? W prawie polskim nie obowiązuje zakaz korzystania z technologii blockchain, a zatem jest ona dozwolona i
legalna. W praktyce mogą zaistnieć ograniczenia , takie jak wymóg formy papierowej bądź wykluczenie możliwości
wykorzystania szeroko pojętych środków „elektronicznych”. Centrala Baza Rachunków (PL), AML Directive (UE).
Dane zgromadzone w blockchainie mogą zostać wykorzystane jako dowód w sprawie i postępowaniu karnym.
W prawie polskim nie obowiązuje zakaz korzystania z walut cyfrowych i zakaz tworzenia nowych walut
cyfrowych. Oznacza to, że kryptowaluty są w pełni legalne. Do ustalenia pozostał ich status jako pełnoprawnej waluty
w porównaniu z tradycyjnmi środkami płatności jak Polski Złoty.
Przychód z walut cyfrowych podlega podatkowi przychodowemu, konsument jest chroniony prawnie przez
prawo konsumenckie
Jak działa blockchain i
kryptowaluty, bo to działa tak?
Jak to działa?
Tworzenie bloków bitcoin
Public-key cryptography (asymmetric cryptography)
⊡ ECDSA - Elliptic Curve Digital Signature Algorithm
Cryptographic hash functions
⊡ SHA-256
⊡ RIPMD-160
Jak to działa?
Klucze i adresy sieci Bitcoin
Bitcoin address: 17wPSXDDo9b1KDdXAMV3a1WJcsmRoKpY6t
Public key:
0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E772
37716103ABC11A1DF38855ED6F2EE187E9C582BA6
Private key: 18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725
Elliptic Curve Cryptography
RIPMD-160, SHA-256, Base58Check
Jak to działa?
UTXOs - Unspent Transaction Outputs (transakcje)
An UTXO can be spent as an input in a new transaction
⊡ No balances
⊡ No accounts
In Out 10 BTC 10 BTC
In Out 5 BTC
Out
5 BTC
Tx #1 Tx #2
Jak to działa?
UTXO (transakcje)
Unspent outpus of the 18cBEMRxXHqzWWCxZNtU91F5sbUNKhL5PX Bitcoin address:
[{
"tx_hash":"ff9bf8a9398bda843d90d189db616d113cd3390199e6e78bfb33f646168002ca",
"script":"76a914536ffa992491508dca0354e52f32a3a7a679a53a88ac",
"value": 1129370611 (Satoshi)
},
{
"tx_hash":"ffba26a369ac1ed6b81c68c2aa2dbe78497790bbd916611c7e395c581b440e9d",
"script":"76a914536ffa992491508dca0354e52f32a3a7a679a53a88ac",
"value": 1306498238 (Satoshi)
}, (...)]
Final balance = sum of values in unspent outputs
Jak to działa?
Skrypt transakcji
Bitcoin uses stack-based scripting system.
Transaction is valid when the script execution returns TRUE.
⊡ Supports about 80 OP_CODEs:
□ Flow control: OP_IF, OP_ELSE, ...
□ Arithmetic: OP_ADD, OP_SUB, ...
□ Crypto: OP_RIPEMD160, OP_SHA256, OP_CHECKSIG, ...
□ Bitwise logic: OP_EQUAL, ...
⊡ It is not Turing-complete (no loops)
Jak to działa?
Skrypt transakcji
Bitcoin transaction script is build from two parts: <scriptSig> <scriptPubKey>
scriptPubKey - Locking script (in a transaction output)
scriptSig - Unlocking script
Jak to działa?
Skrypt transakcji
P2PKH (Pay-to-Public-Key-Hash) - most common Bitcoin transaction type
scriptPubKey: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
scriptSig: <sig> <pubKey>
Complete P2PKH script:
<sig> <pubKey> OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
Jak to działa?
“Kopanie” Bitcoin
⊡ Bitcoin mining is needed to prevent double-spends
⊡ New transactions are added to the block (current block size: 1MB)
⊡ Blockchain acts as a distributed timestamp server
⊡ Proof Of Work (POW) is used as a consensus algorithm to choose which block to append to the
blockchain
⊡ Bitcoin nodes accept the longest and “strongest” chain
⊡ Miner gets a reward for “finding” a new block (new coins are created)
Jak to działa?
“Kopanie” Bitcoin
Algorithm:
while(nonce < MAX):
if sha256(sha256(blockHeader)) < target:
return nonce
nonce += 1
blockHeader contains:
⊡ Hash of a prev block
⊡ Hash based on all of the transactions in the block (Merkle tree root)
⊡ Timestamp
⊡ Nonce - usually starts at 0 and is incremented for each hash
⊡ Target - current difficulty
Demo #1: IBM Blockchain on Bluemix
Demo transferu aktywów opartych o technologię Blockchain
W tym przykładzie będziemy „przekazywać” samochody i rejestrować ten fakt we wspólnym
rejestrze (w praktyce może być to cokolwiek innego – nieruchomość, akcje, prawo własności, itp).
Uczestnicy scenariusza
1. Regulator Rynku
3. Dealer Marki
5. Leasingobiorca
6. Stacja demontażu pojazdów
4. Firma Leasingowa
2. Producent Samochodów
Obecny cykl życia pojazdu
2. Producent 3. Dealer Marki 4. Firma
Leasingowa 5.
Leasingobiorca
6.Stacja demontażu pojazdów
Prywatny Rejestr
Prywatny Rejestr
Prywatny Rejestr
Prywatny Rejestr
Prywatny Rejestr
Rejestr Regulatora
1. Regulator
Cykl zycia pojazdu oparty na „wspólnym” rejestrze
1. Regulator
2. Producent
3. Dealer Marki
4. Firma Leasingow
a
5. Leasingobi
orca
6. Stacja demontażu pojazdów
Wspólny
Rejestr
Demo!
Panie, po ile to autko ?
Opis poszczególnych etapów
1. Tworzony jest „template” samochodu przez Regulatora.
2. Regulator przekazuje „template” do Producenta Samochodów.
3. Producent aktualizuje informacje w „templacie” takie jak Marka, Model, Kolor itp.
4. Producent przekazuje samochód do Dealer’a w celu sprzedaży.
5. Dealer przekazuje (sprzedaje) samochód Firmie Leasingowej.
6. Firma leasingowa przekazuje samochód do Leasingobiorcy. W tym przykładzie nie jest prezentowany
przykład samego „leasingu”, lecz sytuacja w której po końcu umowy leasingobiorca decyduje się na wykup
samochodu (np. Taka opcja mogłaby być zaimplementowana w postaci smart contractu, jak też cała
umowa leasingowa).
7. Po zakończeniu użytkowania samochodu użytkownik (leasingobiorca) przekazuje samochód do Stacji
Demontażu Pojazdów w celu utylizacji.
8. Stacja demontażu dokonuje utylizacji samochodu.
Dziękujemy za uwagę!
To co, pytania?
Znajdziecie Nas:
https://www.meetup.com/Crypto-Cracow
https://p2p.systems