Udany Electronic Cash BitCoin. Andrzej P.Urbański



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

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

Blockchain i jego zastosowania w edukacji

Inteligentne kontrakty oparte o blockchain. Mateusz Zaborski

GLOCIN to projekt w technologii BLOCKCHAIN, umożliwiający osobom inwestującym w waluty cyfrowe (tzw. kryptowaluty), korzystanie z naszego parku

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

Kryptowaluty wybrane fakty i podstawy rozwiązań technicznych

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Kryptograficzne aspekty technologii wirtualnej waluty BitCoin

API transakcyjne BitMarket.pl

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

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

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

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

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

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

Sytuacja na rynku Kryptowalut na przestrzeni lat Maciej Stefaniak

Transakcje przy użyciu waluty Bitcoin na tle pozostałych form płatności mobilnych. Sylwester Suszek

Jak działa blockchain?

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

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

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Matematyka dyskretna. Wykład 11: Kryptografia z kluczem publicznym. Gniewomir Sarbicki

System Bankowości Internetowej ABS 24 - AUTORYZACJA za pośrednictwem kodów SMS -

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

Proste i tanie płatności dla wielu zastosowań

Bezpieczeństwo systemów komputerowych

Milton Friedman ma rację przekazanie pieniędzy cyfrowych bez pytania o ID jest możliwe przedstawiamy Państwu cyfrową gotówkę

INFORMATION SECURITY IN THE TOR VIRTUAL NETWORK AND CRYPTO CURRENCY BITCOIN

E-Pieniądz, czyli co?

Implementacja mechanizmu SkyCashClick Wersja 0.1

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

Bitcoin dla początkujących

Instrukcja instalacji certyfikatu na karcie kryptograficznej Certum Code Signing

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

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

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Zastosowania informatyki w gospodarce Wykład 5

PODRĘCZNIK OBSŁUGI BUSINESSNET

Instrukcja logowania i realizacji podstawowych transakcji w systemie bankowości internetowej dla klientów biznesowych BusinessPro.

Współczesna Gospodarka

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Zadanie domowe 1 23 marzec 2015 PESEL. (na podstawie Wikipedii) Autor: Michał Woźniak. Strona 1 / 6

Automatyzacja procesów księgowych w Twojej firmie

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

PODRĘCZNIK OBSŁUGI BUSINESSNET

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

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

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Instrukcja logowania i realizacji podstawowych transakcji w systemie bankowości internetowej dla klientów biznesowych BusinessPro.

SYNCHRONIZACJA SYSTEMU KSIĘGOWEGO Z BANKIEM

INSTRUKCJA AKTYWACJI I INSTALACJI CERTYFIKATU ID

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

Przewodnik użytkownika

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

PROJEKT GRUPY PRODUKTOWEJ COINCASSO

Fundusze Inwestycyjne

Podpisywanie i bezpieczne uruchamianie apletów wg

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Wstęp Bitcoin Ethereum Nie proof-of-work Ataki Wykresy Podsumowanie. Sem:BK: Blockchain. Norbert J. Instytut Informatyki, Uniwersytet Wrocławski

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Instrukcja instalacji nos niko w USB w bankowos ci Alior Banku

CDN KLASYKA/OPT!MA/XL PAKIET ECOD KOMUNIKACJA

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

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

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Instrukcja użytkownika Platforma Walutowa

Spis treści. Od Wydawcy

Efektywność Procedur Obliczeniowych. wykład 5

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4

MOJA FIRMA PLUS. bankowość elektroniczna dla małych i średnich firm

Kurs walut. Specyfikacja projektu. Marek Zając

PERN niepodważalne zaufanie. Grzegorz Stępniak Dyrektor PERN/OLPP Tomasz Kibil Doradztwo technologiczne EY

PODPIS ELEKTRONICZNY. Uzyskanie certyfikatu. Klucze Publiczny i Prywatny zawarte są w Certyfikacie, który zazwyczaj obejmuje:

Współczesna Gospodarka

Informacja o zasadach świadczenia usług zaufania w systemie DOCert Wersja 1.0

TARYFA OPŁAT I PROWIZJI POBIERANYCH PRZEZ BANK ZACHODNI WBK S.A. ZA CZYNNOŚCI BANKOWE DLA LUDNOŚCI

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt)

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Bazy danych NoSQL Część III. Maciej Zakrzewicz Politechnika Poznańska, Instytut Informatyki,

Krok 2: Pierwsze uruchomienie

Wstawianie filmu i odtwarzanie go automatycznie

Rozdział 1. Integracja systemu "KasNet" z pinpadami firmy "First Data Polska S.A."

Instrukcja aktywacji i instalacji Certum Code Signing

Bezpieczeństwo informacji w systemach komputerowych

Trwały nośnik a technologia blockchain

Polcode Code Contest PHP-10.09

Kryptografia na procesorach wielordzeniowych

JAK ZDOBYWAĆ KRYPTOWALUTĘ MONERO (XMR)

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

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

kompleksowe oprogramowanie do zarządzania procesem spawania

Bezpieczna poczta i PGP

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Instrukcja użytkownika Platformy Walutowej

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

JAK ZDOBYWAĆ KRYPTOWALUTĘ MONERO (XMR)

Instrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego

Instalacja rozwiązania Uruchomienie rozwiązania w systemie Sage Konfiguracja dodatku Ustawienia dodatkowe rozwiązania...

Symulacja w przedsiębiorstwie

Transkrypt:

Udany Electronic Cash BitCoin Andrzej P.Urbański

Wczesne pomysły e-cash Transakcje anonimowe jak przy gotówce Kryptograficznie generowane liczby jako monety Monety mogą brać udział w transakcjach bez pośrednictwa banku Program może tylko raz zapłacić jedną monetą Założenie podobnie niemożliwe do zapewnienia jak ochrona oprogramowania przed piractwem

BitCoin Waluta cyfrowa zaprojektowana w 2009 autor o pseudonimie Satoshi Nakamoto Nie ma emitenta centralnego Zaufanie budowane na zasadzie demokratycznej Możliwe anonimowe posiadanie i transfery Koncept kryptowaluty - 1998 przez Wei Dai

Rozwiązanie problemu przez BitCoin Publiczne ogłaszanie transakcji w sieci P2P Podpisywanie listy transakcji kluczami prywatnymi uniemożliwiające wszelkie fałszowanie

implementacja Bitcoin jest implementacją konceptu b-money autorstwa Wei Dai Bitgold autorstwa Nicka Szabo, oparta na sieci P2P. Specyfikacja techniczna stworzona w 2008 przez Satoshiego Nakamoto

Adresy Każdy klient ma portfel par kluczy Klucz publiczny jest jednocześnie adresem Klucz prywatny służy podpisywaniu transakcji Adresy są anonimowe 34 znakowe rozpoczynają się zawsze od liczby 1 lub 3 zawierają wielkie i małe litery oraz cyfry alfabetu łacińskiego z wykluczeniem cyfry 0, wielkiej litery O, wielkiej litery I i małej litery l.

Transakcje Bitmonety zawierają klucz publiczny (adres) aktualnego posiadacza. Kiedy użytkownik A przetransferuje jakąś ilość do użytkownika B, A rezygnuje z ich posiadania dodając klucz publiczny (adres) B do tych monet oraz podpisując je własnym kluczem prywatnym. Ogłasza wykonaną przez siebie transakcję w komunikacie wysłanym do sieci peer-to-peer. Sieć sprawdza przed zaakceptowaniem transakcji poprawność zastosowanych podpisów cyfrowych oraz ilości monet.

Łańcuch bloków 1 Rodzaje łańcuchów bloków Czarny to najdłuższa seria bloków od zielonego do aktualnego Zielony to początkujący blok genezy szare bloki istnieją poza głównym łańcuchem Tzw. Osierocone Nową transakcję dodaje się do łańcucha bloków opatrując znacznikiem czasu To system matematycznych dowodów wykonanych działań, zwanym proof of work Zapobiega podwójnemu wydawaniu oraz fałszerstwu. Każdy generujący węzeł zbiera wszystkie niepotwierdzone transakcje, które zna w kandydacie na blok pliku zawierającym między innymi kryptograficzne hashe poprzedniego poprawnego bloku znanego temu węzłowi.

Łańcuch bloków 2 Następnie próbuje obliczyć kryptograficzny hash tego bloku z określonymi cechami, co wymaga z góry przewidywalnej liczby prób i błędów. Kiedy znajdzie rozwiązanie, ogłasza je reszcie sieci. Węzły otrzymujące nowo rozwiązany blok, sprawdzają jego poprawność przed zaakceptowaniem i dodaniem do łańcucha. Ostatecznie łańcuch bloków zawiera kryptograficzną historię zmian posiadania wszystkich monet, poczynając od adresu ich emitenta, aż po adres aktualnego posiadacza. Jeżeli użytkownik spróbuje ponownie wykorzystać wydane wcześniej monety, sieć odrzuci próbę wykonania takiej transakcji.

Transakcja Publiczny klucz Właściciela 1 Transakcja Publiczny klucz Właściciela 2 Transakcja Publiczny klucz Właściciela 3 hash hash hash Podpis Właściciela 0 Podpis Właściciela 1 Podpis Właściciela 2 Prywatny klucz Właściciela 1 Prywatny klucz Właściciela 2 Prywatny klucz Właściciela 3

Serwer znacznika czasu hash hash Blok Element Element. Blok Element Element.

Pozyskiwanie monet nowych bitmonet szacunkowo 6 razy na godzinę w losowych odstępach czasu do jednego z użytkowników. Potencjalnie każdy użytkownik może otrzymać partię dzięki użytkowaniu aplikacji lub ekwiwalentnego oprogramowania dostosowanego do posiadanego przez użytkownika wyposażenia. Generowanie bitmonet jest często nazywane wydobywaniem, poprzez analogię do wydobywania złota Prawdopodobieństwo tego, iż dany użytkownik otrzyma partię monet, zależy od stosunku ilości mocy obliczeniowej wniesionej do sieci za jego pośrednictwem do sumy mocy obliczeniowej wniesionej przez wszystkie węzły. Liczba bitmonet stworzona w partii nigdy nie jest większa niż 25 BTC (dane na luty 2013), a nagrody są zaprogramowane na zmniejszanie się w czasie aż do zera, tak aby nie więcej niż 21 milionów monet mogło kiedykolwiek zaistnieje. W miarę, jak wypłaty będą się zmniejszać, oczekuje się, iż zbieranie opłat transakcyjnych będzie motywacją dla użytkowników do uruchamiania węzłów generujących. Wszystkie generujące węzły sieci współzawodniczą w celu bycia pierwszymi w znalezieniu rozwiązania problemu kryptograficznego dla przetwarzanego bloku kandydującego, co wymaga stosowania powtarzających się prób i błędów. Kiedy węzeł znajdzie takie rozwiązanie, ogłasza je reszcie sieci oraz deklaruje się posiadaczem nowej partii bitmonet. Węzły otrzymujące nowo rozwiązany blok sprawdzają jego poprawność przed zaakceptowaniem i dodaniem do łańcucha. Węzły mogą używać CPU,GPU a nawet FPGA [8][13][14]. Użytkownicy mogą także generować bitmonety grupowo [15]. Tak więc każdy blok jest generowany co 10 minut, każdy węzeł osobno co 2016 bloków (co w praktyce zajmuje średnio 2 tygodnie) rekalkuluje stopień trudności problemu, który próbuje rozwiązać, używając do tego średniej kroczącej, celującej w średnią liczbę bloków na godzinę. Jeżeli bloki są generowane zbyt szybko lub zbyt wolno, co zależy od zwiększającej lub zmniejszającej się mocy obliczeniowej całej sieci, stopień trudności odpowiednio wzrasta lub maleje

Ekonomia Eksperymentalna Płacenie BitCoinem Dotacje BitCoinem Kantory BitCoinowe

Fiasko BitCoin dewaluację waluty, zmniejszającą się bazę użytkowników globalne sankcje rządowe, skierowane przeciwko temu oprogramowaniu.

Czy BitCoin jest legalny? Problem prawników Problem ustawodawców

Ciemne strony Nielegalne transakcje Handel narkotykami Niebezpieczne wahania kursu