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
4. 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)
5. 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).
7. 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.
12. 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
14. • 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
15. 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
18. 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ę
19. 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
20. 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.
21. 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/
22. 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
23. 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
24. 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
25. LEI RESOLVER stworzony przez MakoLab: http://lei.info
Visual for Human Web Media (HTML)2 http://lei.info/5493001KJTIIGC8Y1R12
26. 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
27. 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
28. 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.
29. 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
32. 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/
33. 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
34. 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
35. 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
37. 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:
42. 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 !!!