Upload
sopekmir
View
320
Download
0
Embed Size (px)
Citation preview
Nietypowe zastosowania Blockchain: Cyfrowa Identyfikacja
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
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)
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).
SHA - Secure Hash Algorithm:
SHA-256
RIPEMD - RACE Integrity Primitives
Evaluation Message Digest:
RIPEMD-160
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.
https://anders.com/blockchain/blockchain.html
Data Carved in Stone
https://btctheory.com/tag/denationalization-of-money/
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
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
Identyfikacja cyfrowa
• 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
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
UnikalnośćOtwartośćDecentrali-
zacja
Nie-zaprzeczal-
ność
OdpornośćAutentycz-
nośćNeutral-
nośćTrwałość
Zaufanie
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ę
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
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.
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/
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
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
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
LEI RESOLVER stworzony przez MakoLab: http://lei.info
Visual for Human Web Media (HTML)2 http://lei.info/5493001KJTIIGC8Y1R12
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
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
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.
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
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/
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
GLEIFBody responsible for
application of global
uniform standardsLOU
LOU
LOU
LOU
LOU
LOULOU
LOU
LOU
LOU
Legal Entities
registrars
LOU Local Operating Units
LOU
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
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:
No.
Nonce
Prev
Hash
No.
Nonce
Prev
Hash
No.
Nonce
Prev
Hash
No.
Nonce
Prev
Hash
No.
Nonce
Prev
Hash
Struktury Danych Fundamentalna rola Ontologii OWL w BCK
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 !!!