Co to jest dowód zerowej wiedzy i jego rola w świecie Blockchain?
Opublikowany: 2020-01-09W ciągu ostatnich kilku lat przyzwyczailiśmy się do sposobu, w jaki duże banki i inne firmy uzyskują dostęp do naszych danych osobowych i wykorzystują je, aby zapewnić nam lepsze wrażenia. Z biegiem czasu daliśmy im „zielony sygnał” dla mechanizmów, które wykorzystują nasze wrażliwe szczegóły, aby pomóc nam w pewnym podtrzymaniu.
Ale potem wszedł do technologii Blockchain i całkowicie zmienił wszystko.
Technologia Blockchain wprowadziła różne cechy, takie jak przejrzystość, niezmienność, decentralizacja i rozproszona księga. Umożliwiło użytkownikom działanie anonimowe i przeprowadzanie transakcji z najwyższymi zabezpieczeniami.
[Zanim przyjrzymy się dalej, zdecydowanie zalecamy poświęcenie czasu na zrozumienie podstaw Blockchain .]
Blockchain, w prostych słowach, dawał użytkownikom kontrolę nad ich prywatnością i przyszłym powrotem.
Ale czy Blockchain naprawdę to osiągnął?
Jednym słowem odpowiedź brzmi NIE .
Wiele sieci blockchain korzysta z publicznych baz danych. Tak więc każdy, kto ma połączenie z Internetem, może wyświetlić listę historii transakcji w sieci. Widzą wszystkie szczegóły związane z transakcją i dane Twojego portfela, ale nazwa użytkownika nadal będzie dla nich nieznana. Zamiast tego będą postrzegane jako klucz publiczny – unikalny kod reprezentujący użytkownika w sieci blockchain.
W ten sposób klucz publiczny utworzony za pomocą techniki kryptograficznej w pewnym stopniu chroni Twoją prywatność. Ale nadal możliwe jest, że jeden z nich ujawni cię za pomocą innych technik.
To sprawiło, że twoja anonimowa przykrywka została zniszczona; obalenie mitu anonimowości i prywatności Blockchaina i uświadomienie, że –
Poufne informacje użytkownika przechowywane w sieci Blockchain są tylko poufne, a nie anonimowe .
Podobnie istnieją różne sieci blockchain zarządzane przez algorytmy konsensusu w celu zapewnienia wysokiej prywatności i stabilności, ale decentralizacja jest w takich przypadkach uważana za drugi priorytet. W wielu takich przypadkach obie strony nie ufają sobie nawzajem. [Aby przeczytać szczegółowo o tych modelach konsensusu, zapoznaj się z tym przewodnikiem po algorytmach konsensusu blockchain .]
To jako całość jasno wskazuje, że Blockchain nie jest tak anonimowy i zdecentralizowany, jak uważa wielu jego entuzjastów. A nawet rodzi różne pytania, takie jak –
Czy sieci Blockchain naprawdę muszą być anonimowe? W jaki sposób Blockchain może zapewnić większą anonimowość i lepszą ochronę prywatności swoim użytkownikom?
W obecnych sieciach Blockchain transakcje są rejestrowane w księdze publicznej i mają przejrzysty charakter. Z tego powodu różne renomowane marki i rynki, takie jak Wall Street, wahają się przed przyjęciem technologii zapewniającej zerową wiedzę, ponieważ poufność klienta i transakcji jest dla nich koniecznością. To, jako całość, stawia pod znakiem zapytania, czy w ogóle Blockchain Web 3.0 będzie w stanie wpłynąć na firmy .
Przechodząc do drugiego pytania, istnieją różne koncepcje i metody, takie jak Coin Mieszanie, Ringct i Coin Join, które powodują, że transakcje są anonimowe w Blockchain, ale ta, która jest wysoko ceniona, to Zero-Knowledge Proof .
Ten , który omówimy szczegółowo w tym artykule.
Zacznijmy więc od prostej definicji łańcucha bloków z dowodem zerowej wiedzy .
Co to jest dowód zerowej wiedzy?
Zero-knowledge Proof to schemat szyfrowania zaproponowany przez naukowców z MIT Silvio Micali , Shafi Goldwasser i Charles Rackoff w latach 80. XX wieku. W tej metodzie jedna strona (Weryfikator) może udowodnić, że określone oświadczenie jest prawdziwe dla drugiej strony (Weryfikatora) bez ujawniania jakichkolwiek dodatkowych informacji.
Technologia Zero Knowledge Encryption gwarantuje, że nikt poza Tobą (nawet dostawca usług lub agencja rozwoju aplikacji blockchain) nie będzie miał dostępu do Twoich zabezpieczonych danych.
Po wyjaśnieniu definicji weźmy przykład, aby zrozumieć, jak działa ZKP .
Przykład: Dzieci i batony
Załóżmy, że dwoje dzieci – Bob i Alice, otrzymało na przyjęciu kilka batoników. Bob chce wiedzieć, czy Alicja ma taką samą liczbę batoników, czy nie. Ale jednocześnie żaden z nich nie jest gotowy ujawnić dokładnej liczby.
Więc to, co robią, to to, że Bob przynosi cztery zamykane pudełka do pokoju, zakładając, że liczba otrzymanych batoników wyniesie 10, 20, 30 i 40. Każde pudełko oznacza wartość odpowiadającą liczbie batoników.
Następnie Bob trzyma klucz do pudełka, które określa liczbę batoników, które otrzymał w kieszeni (powiedzmy, że dostał 30 batoników) i wyrzuca klucze do wszystkich innych pudełek. I wychodzi z pokoju.
Teraz Alicja wchodzi do pokoju z 4 małymi kartkami papieru i pisze „+” na jednej z nich, a „-” na pozostałych. Tutaj „+” oznacza liczbę otrzymanych batoników, a „-” reprezentuje każdą inną wartość.
Wsuwa kartkę ze znakiem „+” do jednego pudełka (powiedzmy, że reprezentuje 20 batonów) i „-” do pozostałych pudełek. A ona odchodzi.
Teraz Bob ponownie wchodzi do pokoju i otwiera pudełko, którego klucz znajduje się w jego kieszeni. Następnie sprawdza, czy w pudełku znajduje się kartka ze znakiem „+” lub „-”. Jeśli to znak „+”, zdaje sobie sprawę, że Alicja ma taką samą liczbę batoników. Podczas gdy w innym przypadku nie.
Ponieważ wiemy, że Alicja ma 20 batoników, a Bob ma 30 batoników, jasne jest, że Bob znajdzie znak „-” w zamykanym pudełku, którego klucz ma. To mu wyjaśni, że oboje nie mają tej samej liczby batoników.
W tym samym momencie Alicja ponownie wejdzie do pokoju i znajdzie znak „-” w dłoni Boba, a także dowie się, że mają inną liczbę batoników.
Uwaga: Dzięki tej metodzie Bob dowie się, że nie mają takiej samej liczby batoników. Ale nadal nie będzie miał pojęcia, czy Alicja ma więcej czy mniej batoników niż on i vice versa.
W ten sposób ethereum z zerową wiedzą zachowuje prywatność poufnych informacji użytkowników podczas dokonywania transakcji (w tym przypadku transakcja polega na ustaleniu, czy mają taką samą liczbę batoników, czy nie).
Chociaż ten przykład pomógłby ci zrozumieć, czym dokładnie są dowody zerowej wiedzy (ZKP), odświeżmy koncepcję obrazem-
Teraz, gdy wyjaśniono koncepcję dowodów z wiedzą zerową (ZKP), nadszedł najlepszy czas, aby zastanowić się, co sprawia, że wszyscy wolą je od innych dostępnych opcji. Zagłębmy się w zalety i wady dowodu wiedzy zerowej:
Korzyści z dowodów z zerowej wiedzy (ZKP)
- Proste — jedną z głównych zalet kryptografii z zerową wiedzą jest to, że nie obejmuje ona żadnej złożonej metody szyfrowania.
- Bezpieczeństwo – nie wymaga od nikogo ujawniania jakichkolwiek informacji.
- Transakcje ─ Kolejna pewna korzyść związana z ZKP dotyczy skrócenia transakcji na blockchain. W rezultacie użytkownicy nie będą musieli martwić się o przechowywanie informacji w celu uwzględnienia zgodności i tożsamości z różnymi rodzajami zasobów.
Chociaż są to zalety dowodu z wiedzą zerową, koncepcja ta ma również pewne wady. Kilka z nich to:-
- Długotrwałe – w technologii wiedzy o zerowej wiedzy istnieje około 2 tys. obliczeń, z których każde wymaga pewnej ilości czasu do przetworzenia. Jest to najważniejsza zaleta korzystania z dowodu z wiedzą zerową.
- Niedoskonałe — wiadomości dostarczone do weryfikatora/dowodzącego mogą zostać zniszczone lub zmodyfikowane.
- Ograniczone — protokół z wiedzą zerową wymaga, aby sekret był wartością numeryczną. W innych przypadkach wymagane jest tłumaczenie.
Mając to na uwadze, zagłębimy się w szczegóły techniczne, zanim ocenimy, kiedy i jak protokoły z wiedzą zerową można wprowadzić do ekosystemu Blockchain.
Zaczynając od podstawowych cech dowodu z wiedzą zerową.
Właściwości dowodów z wiedzą zerową
1. Kompletność
Jeśli stwierdzenie jest prawdziwe i obaj użytkownicy przestrzegają zasad religijnie, weryfikator byłby przekonany bez pomocy z zewnątrz.
2. Zdrowy
Jeśli zdanie jest fałszywe, weryfikator nie będzie przekonany w żadnym scenariuszu (nawet jeśli dowodzący stwierdzi, że zdanie jest prawdziwe z pewnym małym prawdopodobieństwem).
3. Wiedza zerowa
W obu przypadkach weryfikator nie będzie w stanie poznać żadnych informacji poza tym, że stwierdzenie jest prawdziwe lub fałszywe.
Chociaż zasady ZKP są już omówione, porozmawiajmy o różnych typach ZKP, w które może inwestować entuzjasta biznesu.
Rodzaje dowodów z zerową wiedzą
1. Interaktywny dowód zerowej wiedzy
W interaktywnym dowodzie z wiedzą zerową dowodzący wykonuje serię działań w ramach mechanizmu matematycznego prawdopodobieństwa, aby przekonać weryfikatora o określonym fakcie.
2. Nieinteraktywny dowód zerowej wiedzy (NIZKP)
Jak wynika z nazwy, nieinteraktywny dowód wiedzy zerowej nie wymaga procesu interaktywnego. Oznacza to, że weryfikator może wygenerować wszystkie wyzwania naraz, a weryfikatorzy mogą później odpowiedzieć. Ogranicza to możliwość zmowy. Wymaga to jednak dodatkowych maszyn i oprogramowania, aby ustalić kolejność eksperymentów.
Uwaga: Istnieje możliwość przejścia z nieinteraktywnego do interaktywnego ZKP.
Gdzie wdrożyć dowód zerowej wiedzy w systemie Blockchain?
1. Wiadomości
W wiadomościach szyfrowanie typu end-to-end jest niezbędne, aby nikt nie mógł odczytać Twojej prywatnej wiadomości poza tą, z którą się komunikujesz. Aby zapewnić bezpieczeństwo, platformy komunikacyjne proszą użytkowników o weryfikację swojej tożsamości na serwerze i odwrotnie.
Ale wraz z pojawieniem się ZKP będą mogli zbudować pełne zaufanie w świecie wiadomości bez wycieku dodatkowych informacji. Jest to jedno z głównych zastosowań dowodu wiedzy zerowej w świecie blockchain.
2. Uwierzytelnianie
Dowód zerowej wiedzy może również ułatwić przesyłanie poufnych informacji, takich jak informacje uwierzytelniające, z lepszymi zabezpieczeniami. Może zbudować bezpieczny kanał, w którym użytkownicy będą mogli wykorzystywać swoje informacje bez ich ujawniania. I w ten sposób unikniesz wycieku danych w najgorszych scenariuszach.
3. Ochrona przechowywania
Innym możliwym przypadkiem użycia dowodów z wiedzą zerową (ZKP) są narzędzia do przechowywania.
Dowód wiedzy o zerowej wiedzy jest dostarczany z protokołem, który nie tylko chroni jednostkę pamięci, ale także zawarte w niej informacje. Nie trzeba dodawać, że kanały dostępu są również chronione, aby zapewnić bezproblemową i bezpieczną obsługę.
4. Wysyłanie prywatnych transakcji Blockchain
Mówiąc o wysyłaniu prywatnych transakcji blockchain, niezwykle ważne jest, aby trzymać je poza zasięgiem osób trzecich. Teraz, podczas gdy tradycyjne metody są nieco ochronne, mają pewne luki.
To kolejny obszar, w którym ZKP wchodzi w grę. Koncepcja ta, gdy jest mądrze zintegrowana, pomaga w prawie uniemożliwieniu włamania lub przechwycenia prywatnych transakcji blockchain.
5. Złożona dokumentacja
Ponieważ dowód z wiedzą zerową może potencjalnie szyfrować dane porcjami, umożliwia kontrolowanie niektórych bloków w celu zapewnienia dostępu do określonego użytkownika, jednocześnie ograniczając dostęp dla innych. W ten sposób koncepcja chroni złożoną dokumentację przed osobami nieuprawnionymi do jej przeglądania.
6. Kontrola systemu plików
Innym miejscem, w którym można zobaczyć skuteczną implementację dowodu z wiedzą zerową, jest system plików.
Koncepcja dodaje różne warstwy bezpieczeństwa do plików, użytkowników, a nawet loginów, co utrudnia hakowanie lub manipulowanie przechowywanymi danymi.
7. Przesyłanie prywatnych transakcji Blockchain
Transmisja prywatnych giełd blockchain jest jedną z rzucających się w oczy informacji wśród różnych wybitnych egzekucji ZKP w blockchain. Prywatne transakcje Blockchain powinny być chronione przed osobami trzecimi podczas ich wysyłania.
Główny problem związany z wysyłaniem prywatnych transakcji blockchain nawiązuje do różnych luk widocznych w zwykłych strategiach. Potężna integracja ZKP z prywatnymi transakcjami blockchain może sprawić, że będą one wszechstronne w przypadku wszelkiego rodzaju włamań lub ingerencji.
8. Demokratyzacja weryfikacji głosowania
Najbardziej oczywisty przykład zastosowania ZKP z blockchainem nawiązuje do ich demokratycznej roli w sprawdzaniu głosów. ZKP mogą udzielić wiarygodnych odpowiedzi w przypadku głosowania podlegającego kontroli, rejestrując głosy na publicznym blockchainie (takim jak ethereum).
W związku z tym procesy głosowania nie wymagałyby żadnego potwierdzenia przez stronę trzecią oprócz wyłączenia wymogu ograniczenia. ZKP mogą zezwolić wyborcom na wykazanie się uprawnieniami do oddania głosu, w ten sposób zapobiegając ujawnieniu ich wrażliwych danych osobowych. Podobnie, wyborcy mogą zażądać niezmiennych dowodów w celu rozpatrzenia ich głosu w ostatecznym liczeniu głosów.
9. Bezpieczeństwo informacji wrażliwych
Co nie mniej ważne, dowód wiedzy o zerowej wiedzy udoskonala również sposób, w jaki technologia blockchain zmienia transakcje .
ZKP dodaje wysoki poziom bezpieczeństwa do każdego bloku zawierającego poufne informacje bankowe, takie jak dane karty kredytowej i historia, tak że banki muszą manipulować tylko wymaganymi blokami, gdy użytkownik zażąda informacji. Inne bloki pozostają nietknięte, a tym samym chronione.
Na przykład
ZoKrates (cyfrowy zestaw narzędzi) jest używany przez wykwalifikowanych programistów do opracowywania i weryfikowania ZKP za pomocą Solidity — obiektowego języka programowania, który jest używany do tworzenia inteligentnych kontraktów opartych na Ethereum.
Aztec stara się wprowadzić dowód zerowej wiedzy o ethereum w istniejącej sieci Ethereum, opracowując stos inteligentnych kontraktów ukierunkowanych na prywatność.
Były to więc niektóre przypadki użycia dowodu wiedzy zerowej w usługach programistycznych blockchain . Aby Twoja marka była obecna na rynku, budując jedną z nich, zatrudnij firmę zajmującą się tworzeniem aplikacji blockchain .
A jeśli nie masz pewności co do jego rzeczywistej implementacji, sprawdź następujące istniejące projekty działające z konwergencją dwóch.
Rzeczywiste przykłady konwergencji dowodów wiedzy zerowej i łańcucha bloków
1. ZCash
Zcash to platforma typu blockchain o otwartym kodzie źródłowym i bez uprawnień , która oferuje funkcjonalność umożliwiającą utrzymywanie transakcji „przezroczystych” i „osłoniętych” zgodnie z wymaganiami.
W pierwszym przypadku transakcje są regulowane przez t-addr, podobnie jak transakcje bitcoin. Podczas gdy w tym drugim przypadku używany jest dowód z wiedzą zerową o nazwie zk-SNARKs , a transakcje są kontrolowane przez adres z.
Jest to pierwszy przypadek użycia i zastosowania kryptowaluty ZKP w świecie kryptowalut. Jest to pierwsza kryptowaluta z zerową wiedzą, w której wdrożono tę technologię.
2. ING
ING to holenderski bank, który wprowadził własny blockchain o zerowej wiedzy. Jednak zmodyfikowali swój system wiedzy zerowej, aby stał się dowodem na zakres wiedzy zerowej, aby zmniejszyć zapotrzebowanie na moc obliczeniową.
W ten sposób przygotowali swój system wiedzy zerowej, aby zwiększyć wpływ blockchain na fintech .
3. ZCoin
Firma korzysta z protokołu Zerocoin, który opiera się na dowodzie wiedzy zerowej, w celu zwiększenia bezpieczeństwa i anonimowości w procesie transakcyjnym. Jednak tym, co odróżnia go od innych projektów pracujących nad tą koncepcją, jest to, że oferuje również skalowalność.
Chociaż różne podmioty międzynarodowe zaczęły wykazywać zainteresowanie wdrożeniem koncepcji dowodu z wiedzą zerową do łańcucha bloków, tempo wdrażania jest zbyt wolne. A głównym powodem jest następujący zestaw wyzwań związanych z dodaniem ZKP do środowiska blockchain.
Wyzwania, które możesz napotkać podczas integracji ZKP z projektem Blockchain
1. Brak norm
Ponieważ sama technologia blockchain jest na wczesnym etapie wdrażania, nie ma standardów, systemów i jednorodnych języków, które umożliwiłyby twórcom aplikacji i perspektywom biznesowym interakcję z koncepcją ZKP i efektywne wykorzystanie jej potencjału.
2. Skalowalność
Kolejnym wyzwaniem, które ogranicza przyjęcie dowodów z wiedzą zerową w środowisku blockchain, jest skalowalność, pod warunkiem, że takie algorytmy wymagają dużej mocy obliczeniowej do działania na wysokim poziomie.
Zawijanie
Teraz, gdy koncepcja ZKP i jej zakres w domenie Blockchain (wraz z przykładami z życia wzięte) są dla Ciebie jasne, spodziewamy się, że zainwestujesz w szersze zastosowanie tej koncepcji, wchodząc w zdecentralizowany świat.
Ale jeśli nadal masz jakieś pytania, skontaktuj się z naszymi konsultantami Blockchain lub naszymi ekspertami w zakresie usług rozwoju aplikacji blockchain w USA.