Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2

514 views

Published on

Prezentacja na Lodz Blockchain Meetup #2

Published in: Internet
  • Be the first to comment

  • Be the first to like this

Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2

  1. 1. Nietypowe zastosowania Blockchain: Cyfrowa Identyfikacja
  2. 2.  Niezaprzeczalności identyfikacji i transakcji  Niezmienności danych  Decentralizacji przetwarzania danych  Obniżenia kosztów elementarnych transakcji  Przejrzystości wewnątrz- i zewnątrz- organizacyjnej  Odporności na awarie systemowe Digital Identity needs trust
  3. 3.  Blockchain jest technologiczną podstawą dla Bitcoin i innych cyfrowych walut.  Blockchain jest de-facto technologią bazodanową oferującą rozproszoną, odporną na manipulacje architekturę i jest typowo używana jako publiczny rejestr zapisów transakcji znaczonych czasem.  Blockchain dostarcza metody weryfikacji zaistnienia transakcji w określonym czasie. Taka weryfikacja może być przeprowadzona niezależnie przez dowolnego innego uczestnika systemu – bez potrzeby żadnego centralnego autorytetu (np. banku lub izb rozrachunkowych)
  4. 4.  Blockchain został stworzony w roku 2008 i po raz pierwszy zaimplementowany w roku 2009 jako fundament technologiczny cyfrowej waluty BITCOIN.  BlockChain pozwala na stworzenie struktur danych które są absolutnie nienaruszalne mimo, że są całkowicie i publicznie dostępne dla każdego chętnego.  Blockchain zawdzięcza tę niezwykłą cechę zaawansowanym teoriom matematycznym będącym podstawą technologii kryptograficznych oraz całkowicie opartej na technologii internetowej metodzie dystrybucji danych (wcześniej używanej przez usługi takie jak BitTorrent).
  5. 5.  SHA - Secure Hash Algorithm: SHA-256  RIPEMD - RACE Integrity Primitives Evaluation Message Digest: RIPEMD-160
  6. 6.  ECDSA – Elliptic Curve Digital Signature Algorithm  The elliptic curve C is the secp256k1 curve  Y2=X3+7  The point location on the curve is determined by the private key, but it’s nearly impossible to find the private key from the point coordinates.
  7. 7. https://anders.com/blockchain/blockchain.html
  8. 8. Data Carved in Stone
  9. 9. https://btctheory.com/tag/denationalization-of-money/
  10. 10. Całkowicie ZDECENTRALIZOWANE Medium wymiany WARTOŚCI pomiędzy uczestnikami Nowy, w pełni ZAUFANY sposób zawierania kontraktów nie wymagający pośrednictwa (np. notariuszy lub instytucji nadrzędnych) Masywnie rozproszona, praktycznie nienaruszalna baza danych. Technologia Biznes Prawo
  11. 11. Technologia Biznes Prawo Bitcoin i inne monety cyfrowe “Praktyczne wdrożenie walut cyfrowych – zmiany w bankowości” Quotations from: “Blockchain” by Melanie Swan, O'Reilly Media, Inc. Kontrakty i identyfikacja „Zastosowania biznesowe, finansowe i prawne zmieniające nieodwołalnie sposób funkcjonowania biznesu elektronicznego” Aplikacje “Powyżej walut i rynków – np. DAO – Zdecentralizowane Autonomiczne Organizacje” BLOCKCHAIN 3.0 BLOCKCHAIN 2.0 BLOCKCHAIN 1.0
  12. 12. Identyfikacja cyfrowa
  13. 13. • Cyfrowa Identyfikacja jest procesem pozyskiwania informacji o pewnym bycie jednostkowym używanym w systemach komputerowych do reprezentacji agentów świata zewnętrznego (osób, organizacji, aplikacji czy też urządzenia) • Formalna definicja Identyfikacji Cyfrowego (DI – Digital Identity) zawarta jest w standardzie ISO/IEC 24760-1 mówi iż dotyczy ona „zbioru atrybutów odnoszących się do jednostkowego bytu” • Informacja pozyskiwana w Identyfikacji Cyfrowej pozwala na odpowiedź na najważniejsze pytania dotyczące zewnętrznego agenta – bez udziału człowieka. • Identyfikacja Cyfrowa wymaga Cyfrowych Identyfikatorów: TOKENów lub STRINGów które byłyby unikalne w obszarze (globalnym lub lokalnym) ich działania • Identyfikatory Cyfrowe są kluczami używanymi przez partnerów relacji identyfikującej w celu uzgodnienia tożsamości reprezentowanych przez nie bytów https://en.wikipedia.org/wiki/Digital_identity
  14. 14. Legal Entity Identifiers (GLEIF)LEI International Securities Identification Number (ANNA)ISIN Financial Instrument Global Identifier (Bloomberg)FIGI Unique Product/Transaction Identifiers (CMPI – BIS)UPI, UTI Companies Registration Numbers/VAT (Various National Agencies, Registrars) (w Polsce: REGON, KRS)CRN, VAT Electronic Product Codes, European Article Numbering (GS1 - EAN UCC)EPC, EAN Vehicle Identification Number (Automotive Manufacturers)VIN
  15. 15. UnikalnośćOtwartość Decentrali- zacja Nie- zaprzeczal- ność Odporność Autentycz- ność Neutral- ność Trwałość Zaufanie
  16. 16.  Zaufanie  Otwartość danych  Unikalność  Decentralization  Nie zaprzeczalność  Autentyczność  Odporność i trwałość  Neutralność  Zapewniona przez praktyczną niezależność od szczegółów technologii, dostawców sprzętu czy też oprogramowania  Gwarantowane przez zasady matematyki i konsensus algorytmiczny  Wspierana przez mechanizmy replikacji i architekturę BCK  Zapewniona na poziomie algorytmów kryptograficznych BCK (hash)  Gwarantowana przez fundamentalną architekturę systemu  Gwarantowana przez algorytmy kryptograficzne (PK)  Gwarantowana przez „consensus algorithms” (PoW, PoS,PoA)  Zapewniona przez całkowicie rozproszoną architekturę
  17. 17. Rekord opisujący dany byt oraz identyfikujący go KLUCZ stanowią „atom” danych i są zarządzane* jako unikalna jednostka danych Reprezentacja pojedynczego „atomowego” rekordu jest zdefiniowana jako stan pojedynczego smart contract’u * Przez „authority” jakie przydziela klucze
  18. 18. Kontrakty oferują metody dostępu do reprezentacji rekordu oraz struktury danych, które przedstawiają jego „rewizje” Jeśli w rekordzie zachodzą zmiany, jego nowa reprezentacja będzie dołączona do stanu kontraktu.
  19. 19. Sugerowana przez nas architektura systemu to „Consortium blockchains” Znana też czasami pod nazwą „Permissioned blockchains” Vitalik Buterin - https://blog.ethereum.org/2015/08/07/on-public-and-private-blockchains/ Monax (być może lider „permissioned”)- https://blog.ethereum.org/2015/08/07/on-public-and-private-blockchains/
  20. 20. Najbardziej właściwy dla Cyfrowych Identyfikatorów: PoA - Proof of Authority. Łańcuchy Proof-of-Authority używają pewnej liczby specjalnych kluczy (authorities) do kolaboracji i kreacji najdłuższego łańcucha – zamiast schematu Proof-of-Work. TurboEthereum supports PoA private chains through the Fluidity Core Ethereum client. Ethcore Parity is building PoA into its High-performance & low-footprint Ethereum client. Ethereum POA (Proof-of-Authority): https://ethereum.stackexchange.com/questions/15565/ethereum-poa-proof-of-authority-for- private-network
  21. 21.  The Legal Entity Identifier (LEI) jest alfanumerycznym kodem opisanym normą ISO 17442.  LEI wskazuje na kluczowe informacje referencyjne umożliwiające pełną identyfikację podmiotów prawnych partycypujących w transakcjach finansowych (w tym obowiązkowo: banki)  Publicznie dostępne zasoby danych LEI tworzą globalną kartotekę podmiotów transakcji finansowych co zwiększa transparentność globalnego systemu finansowego.  Jednostki rejestrujące: LOU (Local Operating Unit) www.gleif.org
  22. 22. LEI RESOLVER stworzony przez MakoLab: http://lei.info 5493001KJTIIGC8Y1R12 http://lei.info/5493001KJTIIGC8Y1R12 Visual for Human Web Media (HTML) Data for Machine consumption (RDF) Picture for Paper Media (QR-Code) 1 Create URI LEI.INFO LEI.INFO 2 http://lei.info/5493001KJTIIGC8Y1R12
  23. 23. LEI RESOLVER stworzony przez MakoLab: http://lei.info Visual for Human Web Media (HTML)2 http://lei.info/5493001KJTIIGC8Y1R12
  24. 24. LEI RESOLVER stworzony przez MakoLab: http://lei.info Data for Machine consumption The data can be returned in multiple formats:  rdf+xml  x-turtle  n-triples  Trig  rdf+n3  n-quads  ld+json  owl+xml  turtle  trix  n3  text/plain  x-nquads 3 http://lei.info/5493001KJTIIGC8Y1R12
  25. 25.  Private Ethereum nodes (run as GETH processes) are interfaced using WEB3.js library  node.js is used as a primary layer on top of GETH and as a web server to access the Blockchain  Additional logic is delivered by a layer of Python scripts  LEI data is represented as JSON-LD objects  Web application Front-End JS code allows for retrieval, entry and update of data  Single node is: 8GB/4 cores/ 3,2 GHz/Intel i7
  26. 26.  Fast index service used for searches (SOLR)  Individual web interfaces are enabled for each LOU  POC functionality: Search, Creation of contracts for LEIs records, registration in the master, creation of the new revisions …  Used PoW: Estimated mining time for a single LEI: mining of 1 block itself, with low difficulty PoW (0x4000), typically less than 10 secs 1 LEI = 3 blocks = ~30 sec.
  27. 27.  Basic contracts defined: Mortal, Record, Master  Two calling methods (from node.js code using web3.js):  dry/local call (no new blocks created)  transaction call (new blocks created)  Typical sequence:  node.js gets LEI record (in JSON)  index data passed to SOLR  zip-ing  b64-ing  binary blob passed to the Blockchain
  28. 28.  Reprezentacja pełnego dataset LEI w prywatnym Blockchain Ethereum (pół miliona firm)  Pierwsze użycie Ontologii GLEIO do semantyki  Nowy UI – podobny do LEI.INFO  Nowy, mocny backoffice (z użyciem .NET technology)  Nowe, bezpiczne (blockchain- based) metody do ochrony cache http://wisem.makolab.pl/leibc/
  29. 29.  Since Blockchain is a state machine …  … Ontology can not be an external object to the Blockchain  It must be embedded into the Blockchain - We have invented a method how to do it. contract Class { address public subClassOf; string public label; string public comment; function Class(address _subClassOf, string _label, string _comment) { subClassOf = _subClassOf; label = _label; comment = _comment; } } contract Instance { address public isA; //address of Class contract describing entity } contract LeiRecord is Instance { struct Revision { bytes data; Solidity contracts OWL Ontology
  30. 30. GLEIF Body responsible for application of global uniform standards LOU LOU LOU LOU LOU LOU LOU LOU LOU LOU Legal Entities registrars LOU Local Operating Units LOU
  31. 31.  Ethereum jest bardzo dobrą platformą dla budowy systemów Identyfikacji Cyfrowej  Pomimo to, istniejące systemy Blockchain nie wystarczają do zbudowania w pełni funkcjonalnego systemu identyfikacji cyfrowej  Muszą zostać uzupełnione przez:  Indeksowanie  Cache’owanie  Warstwę semantyczną  Byłoby też wskazane aby Blockchain miał:  Nowocześniejsze struktury danych
  32. 32.  Aplikacje systemu:  VIN – niedługo rozpoczniemy PoC dotyczący tego systemu  Rejestr Podmiotów Wykonujących Działalność Leczniczą (https://rpwdl.csioz.gov.pl/) – rozmawiamy z dużym podmiotem z sektora farmaceutycznego na temat rozpoczęcia PoC  Prace badawczo-rozwojowe:
  33. 33. No. Nonce Prev Hash No. Nonce Prev Hash No. Nonce Prev Hash No. Nonce Prev Hash No. Nonce Prev Hash
  34. 34. Struktury Danych Fundamentalna rola Ontologii OWL w BCK
  35. 35.  Zapraszamy, szczególnie developerów, chcących uczestniczyć w nietypowych projektach BlockChain do współpracy  Wszelkie formy współpracy dozwolone (  )  Osoby z zacięciem biznesowym (nowe zastosowania BCK) – równie mile widziane !!!

×