Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2
Transcript of Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2
![Page 1: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/1.jpg)
Nietypowe zastosowania Blockchain: Cyfrowa Identyfikacja
![Page 2: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/2.jpg)
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
![Page 3: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/3.jpg)
![Page 4: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/4.jpg)
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)
![Page 5: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/5.jpg)
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).
![Page 6: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/6.jpg)
SHA - Secure Hash Algorithm:
SHA-256
RIPEMD - RACE Integrity Primitives
Evaluation Message Digest:
RIPEMD-160
![Page 7: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/7.jpg)
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.
![Page 8: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/8.jpg)
https://anders.com/blockchain/blockchain.html
![Page 9: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/9.jpg)
Data Carved in Stone
![Page 10: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/10.jpg)
https://btctheory.com/tag/denationalization-of-money/
![Page 11: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/11.jpg)
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
![Page 12: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/12.jpg)
Technologia Biznes
PrawoBitcoin 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
![Page 13: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/13.jpg)
Identyfikacja cyfrowa
![Page 14: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/14.jpg)
• 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
![Page 15: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/15.jpg)
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
![Page 16: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/16.jpg)
UnikalnośćOtwartośćDecentrali-
zacja
Nie-zaprzeczal-
ność
OdpornośćAutentycz-
nośćNeutral-
nośćTrwałość
Zaufanie
![Page 17: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/17.jpg)
![Page 18: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/18.jpg)
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ę
![Page 19: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/19.jpg)
Rekord opisujący dany byt oraz identyfikujący
go KLUCZ stanowią „atom” danych i są zarządzane* jako
unikalna jednostka danych
Reprezentacja pojedynczego
„atomowego” rekordujest zdefiniowana jako
stan pojedynczego smart contract’u
* Przez „authority” jakie przydziela klucze
![Page 20: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/20.jpg)
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.
![Page 21: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/21.jpg)
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/
![Page 22: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/22.jpg)
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
![Page 23: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/23.jpg)
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
![Page 24: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/24.jpg)
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
![Page 25: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/25.jpg)
LEI RESOLVER stworzony przez MakoLab: http://lei.info
Visual for Human Web Media (HTML)2 http://lei.info/5493001KJTIIGC8Y1R12
![Page 26: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/26.jpg)
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
![Page 27: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/27.jpg)
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-LDobjects
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
![Page 28: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/28.jpg)
Fast index service used for searches (SOLR)
Individual web interfaces are enabledfor 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.
![Page 29: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/29.jpg)
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
![Page 31: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/31.jpg)
![Page 32: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/32.jpg)
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/
![Page 33: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/33.jpg)
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
![Page 34: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/34.jpg)
GLEIFBody responsible for
application of global
uniform standardsLOU
LOU
LOU
LOU
LOU
LOULOU
LOU
LOU
LOU
Legal Entities
registrars
LOU Local Operating Units
LOU
![Page 35: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/35.jpg)
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
![Page 36: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/36.jpg)
![Page 37: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/37.jpg)
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:
![Page 38: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/38.jpg)
No.
Nonce
Prev
Hash
No.
Nonce
Prev
Hash
No.
Nonce
Prev
Hash
No.
Nonce
Prev
Hash
No.
Nonce
Prev
Hash
![Page 39: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/39.jpg)
![Page 40: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/40.jpg)
![Page 41: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/41.jpg)
Struktury Danych Fundamentalna rola Ontologii OWL w BCK
![Page 42: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/42.jpg)
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 !!!
![Page 43: Nietypowe Aplikacje Blockchain - dla Lodz Blockchain Meetup #2](https://reader034.fdocuments.net/reader034/viewer/2022051301/5a65438d7f8b9a5b558b5d33/html5/thumbnails/43.jpg)