Informatyczne aspekty systemu kryptowaluty Bitcoin. prof. dr inż. Wojciech Nowakowski Instytut Maszyn Matematycznych



Podobne dokumenty
Udany Electronic Cash BitCoin. Andrzej P.Urbański

BITC T O C IN - wi w r i tua t lna l wa w lut l a ut w w skr k ócie i Dawid Sobieraj

Kryptowaluty wybrane fakty i podstawy rozwiązań technicznych

Blockchain i jego zastosowania w edukacji

SET (Secure Electronic Transaction)

Referat wygłosi: inż. Michał Czyż

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Inteligentne kontrakty oparte o blockchain. Mateusz Zaborski

Przewodnik użytkownika

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Bezpieczna poczta i PGP

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Trwały nośnik w Alior Bank

PODRĘCZNIK OBSŁUGI BUSINESSNET

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Zastosowania informatyki w gospodarce Wykład 5

Trwały nośnik w T-Mobile Usługi Bankowe. Opis rozwiązania dla zapewnienia elektronicznym dokumentom publicznym postaci trwałego nośnika

Szyfrowanie RSA (Podróż do krainy kryptografii)

Regulamin sprzedaży usług drogą elektroniczną przez Playlink SA

Infrastruktura klucza publicznego w sieci PIONIER

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 9

SSL (Secure Socket Layer)

Klawiatura. Klawisz Blokady. Klawisz Enter. Wyświetlacz. Klucz cyfrowy FAQ

Podpis elektroniczny

ZAŁĄCZNIK 2. Specyfikacja Techniczna Oprogramowania Billon

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 1

Kwantowe przelewy bankowe foton na usługach biznesu

Kompresja tablic obliczeń wstępnych alternatywa dla tęczowych tablic. Michał Trojnara.

Wdrożenie infrastruktury klucza publicznego (PKI) dla użytkowników sieci PIONIER

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Zastosowania PKI dla wirtualnych sieci prywatnych

PODRĘCZNIK UŻYTKOWNIKA PROGRAMU LBD <-> TBD

WSIZ Copernicus we Wrocławiu

01. Bezpieczne korzystanie z urządzeń i systemów teleinformatycznych przez pracowników instytucji finansowych

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

Bezpieczeństwo korespondencji elektronicznej

Zdalne logowanie do serwerów

PODRĘCZNIK OBSŁUGI BUSINESSNET

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

E-Pieniądz, czyli co?

Bezpieczeństwo usług oraz informacje o certyfikatach

PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM

MobileMerchant firmy Elavon Najczęstsze pytania

Od Wydawcy Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9

Protokół Kerberos BSK_2003. Copyright by K. Trybicka-Francik 1. Bezpieczeństwo systemów komputerowych. Złożone systemy kryptograficzne

Spis treści. Od Wydawcy

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

Kryptograficzne aspekty technologii wirtualnej waluty BitCoin

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

Bezpieczeństwo w Internecie

2 Kryptografia: algorytmy symetryczne

Rozpoczynamy pracę nad stworzeniem wspólnego krajowego standardu płatności mobilnych

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Bezpieczeństwo kart elektronicznych

Jak działa blockchain?

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Implementacja mechanizmu SkyCashClick Wersja 0.1

Akademia Techniczno-Humanistyczna w Bielsku-Białej

PGP - Pretty Good Privacy. Użycie certyfikatów niekwalifikowanych w programie PGP

Wykorzystanie protokołu T=CL w systemach kontroli dostępu

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Zarządzanie dokumentacją techniczną. Wykł. 11 Zarządzania przepływem informacji w przedsiębiorstwie. Zabezpieczenia dokumentacji technicznej.

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

Kryptologia przykład metody RSA

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Laboratorium Programowania Kart Elektronicznych

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

SYNCHRONIZACJA SYSTEMU KSIĘGOWEGO Z BANKIEM

Zarys algorytmów kryptograficznych

API transakcyjne BitMarket.pl

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

NAJCZĘŚCIEJ ZADAWANE PYTANIA GOOGLE PAY

Opis efektów kształcenia dla modułu zajęć

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Bezpieczeństwo informacji w systemach komputerowych

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych. w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Umiejętności cyfrowe kluczowym warunkiem rozwoju gospodarki, państwa oraz kapitału społecznego

Automatyzacja procesów księgowych w Twojej firmie

Instytut Badania Opinii HOMO HOMINI BADANIE OPINII PUBLICZNEJ PRZEPROWADZONE NA ZLECENIE BZWBK JAK POLACY KORZYSTAJĄ Z KART PŁATNICZYCH?

Pieniądz. Polityka monetarna

Serwery autentykacji w sieciach komputerowych

INSTRUKCJA AKTYWACJI I INSTALACJI CERTYFIKATU ID

Bringing privacy back

JAK ZDOBYWAĆ KRYPTOWALUTĘ MONERO (XMR)

Algorytmy asymetryczne

Nowy sposób autoryzacji przelewów w Usłudze Bankowości Elektronicznej

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

Dołącz do największej na świecie rewolucji gospodarczej. airbitworld.com

Transkrypt:

Informatyczne aspekty systemu kryptowaluty Bitcoin prof. dr inż. Wojciech Nowakowski Instytut Maszyn Matematycznych

Co to jest Bitcoin? Jednostka kryptowaluty? Idea niezależnego pieniądza? System informatyczny?

Wszystkie odpowiedzi są prawdziwe! Bitcoin to system oprogramowania, oparty na technologii tzw. łańcucha bloków będący próbą realizacji idei niezależnego, społecznego, wirtualnego środka płatniczego, definiujący obrót i przechowywanie jednostek płatniczych o nazwie bitcoin.

1. Uwaga pierwsza: wirtualnymi środkami płatniczymi posługujemy się na co dzień (konta bankowe, karty płatnicze itd.) 2. Uwaga druga: Istnieje wiele wirtualnych 2. Uwaga druga: Istnieje wiele wirtualnych internetowych środków płatniczych, np. w grach i aplikacjach komputerowych, ostatnio np. BILLON, ale wszystkie one nie są społeczne, tzn. mają emitenta lub zarządcę

3. Uwaga trzecia: wartość wszystkich środków płatniczych mających emitenta zależy przede wszystkim od działań tego emitenta (nadmierna emisja, de- lub rewaluacja, wymiany, interwencje itp. Wartość społecznych środków płatniczych zależy wyłącznie od podaży i popytu. Wartość ta może zmieniać się np. tysiąckrotnie w ciągu tygodnia i może podlegać grze spekulacyjnej.

3.Uwaga czwarta: w oprogramowaniu Bitcoin wykorzystano współczesne metody kryptografii, szereg procedur a także algorytmów matematycznych oraz funkcji obliczeniowych opracowanych w ostat- nich latach: kryptografii klucza publicznego funkcji skrótu (hash) procedury Proof of Work (hashcash) A NA DODATEK NIE WIADOMO, KTO TO ZROBIŁ!

ELEMENTY

KRYPTOGRAFIA SYMETRYCZNA klasyczna?

1976 Martin Hellman Whitfield Diffie Para różnych kluczy zależnych prywatnyi publiczny, przy czym klucza prywatnego nie da się (łatwo) odtworzyć na podstawie publicznego.

KRYPTOGRAFIA KLUCZA PUBLICZNEGO Zwana też: asymetryczną lub z dwoma kluczami

KRYPTOGRAFIA KLUCZA PUBLICZNEGO ZASTOSOWANIA 1991 Poczta elektroniczna, protokół PGP (PrettyGoodPrivacy-Całkiem Niezła Prywatność) autorstwa Phila Zimmermanna udostępniony przez niego powszechnie i bez wynagrodzenia. PGP jest jeszcze i dziś trudny do złamania nawet przez służby. 1989 (ISO), 1999 (EC), 2001 (PL) Podpis elektroniczny. Wdrażany w Polsce i Unii Europejskiej z dużym wysiłkiem prawnym, ale miernym skutkiem. 2008 System kryptograficzny waluty Bitcoin

KRYPTOGRAFIA KLUCZA PUBLICZNEGO ZASTOSOWANIA c.d. 2011 Silent Circle, Silent Network. Phil Zimmermann, MikeJanke, Jon Callas. System mobilnej cyfrowej łączności szyfrowanej, niemożliwy (jak na razie) do podsłuchu, nawet przez NSA. Umożliwia bezpieczne połączenia głosowe, wideo-czat i połączenia konferencyjne, w jakości HD, w sieciach 3G/4G i Wi-Fi. Połączenia są szyfrowane on-line protokołem ZRTP, który jest (pochodną od PGP) wersją RTP (Real Time Protocol) rozszerzoną o wykrywanie początku rozmowy i mechanizm uzgadniania kluczy między rozmówcami. Uzgodnienie kluczy odbywa się bezpośrednio w strumieniu danych. Klucze są niszczone z końcem rozmowy.

FUNKCJA SKRÓTU (hash) Jest to funkcja, która przyporządkowuje dowolnie dużej liczbie (plik, wiadomość) krótką wartość (skrót wiadomości, sygnatura, hash), zwykle posiadającą stałą długość. W systemie Bitcoinwykorzystywana jest m. in. funkcja skrótu SHA-256 (tworzy skróty o dlugości 256 bitów). Porównanie skrótów dwóch plików umożliwia stwierdzenie, czy w pliku zostały dokonane jakiekolwiek zmiany.

PROOF OF WORK (hashcash) Tzw. dowód wykonanej pracy lub funkcja kosztów Procedura ta została wymyślona pierwotnie w celu ograniczania spamu. Polega na asymetrii: praca obliczeniowa musi być żmudna, ale jednocześnie łatwa do sprawdzenia. W systemie Bitcoin została wprowadzona do sprawdzania wiarygodności dokonanych transakcji będąc jednocześnie pierwotnym mechanizmem emisyjnym jednostek płatniczych, czyli bitcoinów. Mechanizm ten często jest porównywany do wydobywania złota(mining).

KRYPTOGRAFIA KLUCZA PUBLICZNEGO FUNKCJA SKRÓTU (hash) PROOF OF WORK (hashcash) Tzw. dowód wykonanej pracy lub funkcja kosztów

HISTORIA

Prekursorzy David Chaum(1990). Untraceable Electronic Cash. http://blog.koehntopp.de/uploads/chaum_fiat_naor_ecash.pdf Wei Dai(1998). B-Money. http://www.weidai.com/bmoney.txt Nick Szabo(1998-2005). Decentralized digital currency BitGold. http://unenumerated.blogspot.co.uk/2005/12/bit-gold.html

2008 Sieć typu peer-to-peer (równy z równym, sieć równoprawnych węzłów) umożliwiająca przekazywanie elektronicznej gotówki on-line bezpośrednio od jednego podmiotu (węzła) sieci do drugiego, bez pośrednictwa jakiekolwiek instytucji finansowej. Obok uwiarygodniania niezbędne jest zabezpieczanie przed podwójnym przekazem gotówki. Proponujemy rozwiązanie tego problemu również za pomocą sieci peer-to-peer. Sieć dołącza do pliku każdej transakcji znacznik czasu, oblicza jej skrót (hash) oraz umieszcza go w łańcuchu bloków (historii transakcji) po wykonaniu obliczeń matematycznych tzw. proof of work, stanowiących dowód wykonania transakcji...

Sieć z serwerem Sieć peer-to-peer

Podstawowe cechy

W systemie nie ma emitenta i administracji centralnej. Nie ma też administracji własnej inadzorcy. Baza danych systemu i transakcji jest rozproszona w sieci peer-to-peer. Emisję pieniądza zapewnia aparat matematyczny zawarty w oprogramowaniu systemu.

System uniemożliwia manipulację wartością pieniądza przez ingerencję jakiejkolwiek organizacji, firmy czy jednostki. Transfer kwot między rachunkami dokonywany jest za pomocą kryptografii klucza publicznego. Wszystkie transakcje są przechowywane w łańcuchu bloków czyli publicznie dostępnej, rozproszonej bazie danych.

UWAGA: W bazie tej nie ma informacji, które umożliwiałyby identyfikację osób dokonujących transakcji i przelewów. Identyfikacja taka jakkolwiek teoretycznie możliwa, w praktyce jest niewykonalna ze względu na skalę niezbędnego przetwarzania danych.

POWTÓRZMY: System Bitcoinrealizuje transfery kwot między publicznymi rachunkami używając kryptografii klucza publicznego. Wszystkie transakcje są publiczne i przechowywanew rozproszonej bazie danych, w postaci łańcucha wszystkich transakcji od początku istnienia systemu. Transakcje są anonimowe. System działa automatycznie bez emitenta.

Transakcje

Każda osoba przystępująca do sieci Bitcoininstaluje na swoim smart-fonie, tablecie lub komputerze program kliencki, który generuje portfel (Bitcoin Wallet) zawierający dowolną liczbę par kluczy kryptograficznych

Klucze publiczne to adresyodpowiadające numerom kont Klucze publiczne to adresyodpowiadające numerom kont w klasycznej bankowości dla wszystkich płatności. Klucze prywatne autoryzują płatności. Użytkownik może posiadać wiele adresów, nawet do każdej transakcji inny Przekazy są wykonywane bezpośrednio, bez operatorów finansowych i osób trzecich. Przekazy nie mogą być refundowane.

Transakcja Każdy przekaz Bitcoin jest podpisany cyfrowo kluczem publicznym jej właściciela (ECDSA) Dokonujący przelewu rezygnuje z posiadania przelewanych środków dodając klucz publiczny nowego właściciela i podpisuje transakcję kluczem prywatnym

Transakcja (c.d.) Następnie ogłasza wykonaną przez siebie transakcję w komunikacie wysłanym do sieci. Gdy nowy właściciel zechce zapłacić swoją monetą komuś innemu, podpisuje ją swoim kluczem prywatnym, wykorzystując klucz publiczny kolejnego właściciela.

Łańcuch bloków System tworzy w sieci rejestr wszystkich transakcji od początku istnienia sieci, w postaci tzw. łańcucha bloków (block chain), który jest upubliczniany przez zapisanie go do powszechnie dostępnego rejestru. Każdy blok składa się z nagłówka, skrótu nagłówka poprzedniego bloku oraz skrótu transakcji.

Akceptacja bloków, Proof of Work Transakcja przesłana do sieci nie staje się natychmiast ważna, tzn. zamieszczona w łańcuchu bloków, oznakowana znacznikiem czasu i potwierdzona. Potwierdzenie ważności bloku również dokonuje sama sieć. Czyli kto? Po prostu użytkownicy sieci Bitcoin, którzy włączają się w ten proces korzystając z odpowiedniego modułu oprogramowania systemu Bitcoin. To oni zbierają wszystkie niepotwierdzone jeszcze transakcje i próbują obliczyć hashtego bloku z dodatkowo zadanymi przez system cechami. Kiedy znajdą rozwiązanie, ogłasza je w sieci. Nowo rozwiązany blok, jest sprawdzany przed zaakceptowaniem i dodaniem do łańcucha. Sprawdzanie bloków wymaga bardzo silnych maszyn i szybkich obliczeń. Ten trzeci element systemu Bitcoin: wyliczanie takiego superhasha(hashcash) z dodatkowymi wymaganiami utrudniajacymi określa się dowodem wykonanej pracy (ang. Proof of Work). Można też tę czynność określić sprawdzaniem pracą.

Emisja jednostek płatniczych, czyli bitcoinów Emitentem jest procedura systemu informatycznego Bitcoin Emisja jest skończona, jednorazowa i wynosi 21 mln jednostek które zostaną wyemitowane stopniowo w latach 2009-2136. Emisja, a właściwie asymptotyczny proces uwalniania jednostek połączone jest z wykonywaniem procedury sprawdzania Proof of Work 7 mld USD

Emisja jednostek płatniczych, c.d. Emisja zachodzi przez wynagradzanieużytkowników akceptujących bloki, któremu za zaakceptowany blok sieć dokonuje przelewu. Jest to trudne zadanie, gdyż sieć utrudnia je przez dodanie wymagań, jakie musi spełnić obliczany hash(np. żeby było 10 zer na początku). Obecnie przeliczenie i akceptacja bloku wymaga obecnie ponad 320 tysięcy lat pracy lepszego domowego komputera. Dlatego konstruo- wanesą bardzo szybkie maszyny ze specjalizowanymi czipamiasic, zoptymalizowane i przeznaczone wyłącznie do obliczeń bitcoinowych. Sieć Bitcoinjest siecią o cechach homeostatycznych. Utrzymuje bowiem z góry założone parametry. Jeżeli wydajność sieci w akceptacji bloków zwiększy się, to sieć tak dostosuje trudność obliczania, by blok wydobywanybył nie częściej niż co 10 minut. Obecnie nagroda za akceptację bloku wynosi 25 BTC i spada o połowę co 210 tysięcy bloków czyli średnio co 4 lata.

A co po zakończeniu emisji? Już obecnie wysyłający transfery pieniężne w sieci Bitcoin mogą wnosić niewielką opłatę transakcyjną. Nie jest to obowiązkowe, ale przyśpiesza autoryzację transakcji, gdyż zachęca do uruchamiania oprogramowania generującego, zwłaszcza, że stopień trudności weryfikacji bloku rośnie, a nagroda spada. System Bitcoin zakłada, że po zakończeniu emisji węzły weryfikacyjne będą utrzymywać się wyłącznie ze zbierania opłat transakcyjnych. Obecnie minimalna opłata transakcyjna za transakcje niskiego priorytetu wynosi 0,0005 BTC.

prawie koniec...

Poznając Bitcoin nie można się w nim nie zakochać. Jest uwielbiany przez libertarian, podziwiany przez matematyków, spełnia marzenia największych ekonomistów i jednocześnie jest uważany za realne zagrożenie dla monetarnych elit tego świata. Sam w sobie nie jest niczym innym jak tylko ciągiem zer i jedynek... Daniel Haczyk, antyweb.pl

Kim jest Satoshi Nakamoto?

Tacitly acknowledging his role in the Bitcoin project, he looks down, staring at the pavement and categorically refuses to answer questions. "I am no longer involved in that and I cannot discuss it," he says, dismissing all further queries with a swat of his left hand. "It's been turned over to other people. They are in charge of it now. I no longer have any connection. Temple City, Los Angeles, California, USA

i... już.