Pełnomocnictwa (i nie tylko) na blockchainie
Rozmowa z Danielem Bigosem, Gabrielem Dymowskim, Marcinem Lorencem i Piotrem Żelazko, członkami zespołu DoxyChain (wcześniej DigiDocs), który zajął drugie miejsce w polskim etapie Global Legal Hackathonu.
JZM: Wasz projekt zajął drugie miejsce na Global Legal Hackathonie. Na czym polega wasze rozwiązanie?
Marcin Lorenc: Zaproponowaliśmy oparcie pełnomocnictw procesowych, a w przyszłości również innych dokumentów, na bezpiecznej technologii blockchain. Za pomocą naszej aplikacji, którą właśnie udoskonalamy, będzie można ustanowić i odwołać pełnomocnika, a także zarządzać obiegiem pełnomocnictw oraz mieć dostęp do historii działania. Mocodawca będzie wiedział, gdzie jego pełnomocnictwo zostało wykorzystane i kto jest jego faktycznym pełnomocnikiem w danej sprawie. Prawnicy stosują substytucję, czyli przekazują pełnomocnictwo innemu pełnomocnikowi, w związku z czym mocodawca nie zawsze ma pewność, kto go właściwie reprezentuje. Z kolei pełnomocnik może nie pamiętać o wszystkich sprawach, w których został ustanowiony pełnomocnikiem. Nasze rozwiązanie kompleksowo rozwiązuje problem takich dokumentów.
Gabriel Dymowski: Zauważyliśmy, że to jest realny problem. Z momentem wydania pełnomocnictwa tracimy właściwie kontrolę nad tym dokumentem. Mocodawca nie wie, gdzie wystawione przez niego pełnomocnictwo zostało wykorzystane, gdzie przedłożone. Dzięki blockchainowi ten proces można usprawnić i zabezpieczyć.
JZM: Czyli rozwiązuje to również problem fałszowania pełnomocnictw?
Piotr Żelazko: Oczywiście. Dzięki zastosowaniu technologii blockchain, prymitywów kryptograficznych, podrobienie takiego dokumentu będzie znacznie trudniejsze. To już nie będzie zwykły podpis na papierze ani pieczątka „zgodne z oryginałem”. Bezpieczeństwo naszego rozwiązania jest znacznie wyższe.
Gabriel: Nasza platforma umożliwi też odwołanie pełnomocnictwa, gdy pełnomocnik działa na niekorzyść mocodawcy. I ta informacja będzie od razu dostępna dla wszystkich użytkowników.
Marcin: Poza tym aplikacja pozwoli reagować w czasie rzeczywistym np. na zmiany nazw ulic. Obecnie w takiej sytuacji trzeba wystawić nowe pełnomocnictwo. U nas wystarczyłoby nanieść odpowiednią zmianę w systemie.
JZM: Ale czy to nie znaczy, że aby to funkcjonowało, wszyscy musieliby mieć waszą aplikację? Czyli musielibyście zmonopolizować rynek?
Marcin: Niekoniecznie. Jesteśmy w stanie zintegrować się z innymi systemami. Uwierzytelnianie mogłoby się odbywać nie tylko za pomocą prymitywów kryptograficznych, o których myślimy teraz, ale również za pomocą podpisu elektronicznego czy profilu zaufanego ePUAP. Wdrożenie tych rozwiązań będzie kolejnym etapem rozwoju naszej aplikacji.
JZM: Ale rozumiem, że takie pełnomocnictwo będzie tylko cyfrowe. Nie da się go wydrukować.
Gabriel: Wydrukować można, tyle że dokument drukowany nie będzie miał żadnej mocy. Ale rozwiązanie elektroniczne jest wygodniejsze. Prawnik, jadąc do sądu, nie musi mieć przy sobie teczki z dokumentami, tylko pokazuje telefon na dowód, że ma pełnomocnictwo.
JZM: Czyli takie rozwiązania musiałyby najpierw zostać zaakceptowane przez sądy.
Marcin: We współpracy z podmiotami publicznymi zdecydowanie. Dlatego na początku chcielibyśmy wdrożyć nasze rozwiązanie w podmiotach niepublicznych, np. w kancelariach, które dzięki temu mogłyby łatwiej zarządzać bazą swoich pełnomocnictw. Dopiero na kolejnym etapie chcemy zwrócić się do podmiotów publicznych i pokazać, jak to mogłoby ułatwić życie zarówno podmiotom publicznym i komercyjnym, jak i zwykłym obywatelom.
JZM: Czy wdrożenie takiego systemu wymagałoby zmiany prawa?
Marcin: Prawo jak wiadomo nie nadąża za technologią i za biznesem, więc zmiana w którymś momencie byłaby potrzebna, ale na tym etapie nie jest niezbędna. Prawo nie zabrania takich rozwiązań, jakie my obecnie oferujemy.
JZM: Jak zaawansowane są wasze prace?
Piotr: Na potrzeby hackathonu stworzyliśmy projekt w wersji MVP, czyli zawierający kluczowe funkcjonalności. Teraz poszukujemy partnerów, u których moglibyśmy wdrożyć pilotażowe rozwiązanie. Odbyliśmy już kilka rozmów.
KW: A dlaczego zdecydowaliście się właśnie na pełnomocnictwa?
Gabriel: Uznaliśmy, że jest taka potrzeba. To jest dość popularny dokument, który jest dość często wykorzystywany, słabo kontrolowany, a nie ma jak dotąd żadnych technologicznych udoskonaleń.
KW: W takim razie co chcecie usprawnić za pomocą technologii i czemu do tego potrzebny jest blockchain? To standardowe pytanie, które się zadaje startupom blockchainowym.
Piotr: Dlaczego blockchain? Z jednej strony – i pewnie większość startupów tak odpowiada – to ciekawa technologia. Z drugiej strony jego zastosowanie ma tu sens. Po pierwsze akurat w tym przypadku nie będzie to drogie. Po drugie zwykła baza danych nie jest aż tak rozliczalna, gdyby coś się zaczęło dziać. Dziś gdyby ktoś chciał się włamać do któregoś z systemów, powiedzmy profilu zaufanego, i zmienić tam na moment kilka podpisów, to wystarczy, że włamie się do jednej firmy. Jeśli chcę coś zmienić w blockchainie, to muszę wprowadzić zmiany w zasadzie we wszystkich wierzchołkach. I dużo łatwiej to zauważyć. Czyli niewielkim kosztem dokładamy dużo bezpieczeństwa. A jeśli zaczniemy commitować stany do publicznych blockchainów, to mamy zagwarantowaną niezmienialność. Każda zmiana będzie od razu widoczna. Wystarczy spojrzeć, czy dany wierzchołek, czy dany podmiot zachowuje się według protokołu. Jeżeli nie, to wiadomo, że należy go odrzucić.
Gabriel: Czyli z biznesowego punktu widzenia blockchain zastępuje zaufanie, które nie zawsze istnieje między różnymi podmiotami. Daje podstawy, żeby wierzyć, że to, co zostało stworzone, będzie nienaruszalne i jednolite.
KW: Czyli rozumiem, że przez sam fakt umieszczenia na blockchainie czegoś, co jest silnie powiązane z pełnomocnictwem, zyskujemy bezpieczeństwo, którego tradycyjny system nam nie daje. A to bezpieczeństwo wynika stąd, że łatwo nam wychwycić zmianę.
Gabriel: Dokładnie tak. Mamy zagwarantowaną niezmienność danych.
Daniel Bigos: I możemy prześledzić, jak się zmieniał stan krok po kroku i jaki był w danym momencie. To też może być przydatne.
KW: To porozmawiajmy o stronie technicznej. Jakiego blockchaina używacie na tym etapie?
Piotr Żelazko: Tak zwanego „Permissioned Blockchain”, w którym konsensus jest zapewniony przez Proof-of-Authority, czyli takiego, w którym tylko wybrane jednostki, wybrane wierzchołki mogą tworzyć nowe bloki. Działamy na otwartym projekcie Tendermint. Tendermint obsługuje sieć p2p oraz zapewnia konsensus. My dokładamy cały protokół, na którym jest oparty projekt. To jest nasza minimalna działająca wersja. Teraz planujemy wymienić Tenderminta na coś innego. Zastanawialiśmy się nad użyciem projektu Hyperledger Fabric, napisaniem czegoś własnego – co prawdopodobnie by było nieopłacalne – albo wykorzystaniem kodu Ethereum czy Bitcoina.
KW: Dlaczego zdecydowaliście się właśnie na Tenderminta?
Daniel: To była decyzja na potrzeby hackathonu. Tendermint jest dużo prostszy do użycia niż Hyperledger, który ma ogromną dokumentację i trzeba pisać smart kontrakty. Nie byliśmy pewni, czy uda nam się podłączyć do systemu w tak krótkim czasie. A z Tendermintem pracowaliśmy już wcześniej, podczas pisania pracy inżynierskiej, dlatego uznaliśmy, że do tego zastosowania da radę. I dał radę.
KW: A co wrzucacie na blockchaina?
Piotr: Transakcje. Do blockchaina dorzucamy kolejne bloki, czyli zbiory transakcji. Jest kilka typów transakcji. Pierwszym jest dodanie nowego użytkownika. Musimy jakoś powiedzieć, że Jan Kowalski, o danym numerze PESEL, może brać udział w blockchainie. I zagwarantować, że jak coś zacznie podpisywać, to faktycznie będzie on. Oczywiście nie ujawniamy przy tym danych osobowych. Czyli Jan Kowalski, oznaczony jako instytucja lub obywatel, to jest klucz publiczny. To jest pierwsza rzecz. Drugim typem transakcji jest dodanie pełnomocnictwa, czyli wrzucenie w jakiejś formie – tylko takiej, która nie odkrywa całego dokumentu – informacji o tym, że zostało zawarte pełnomocnictwo między danymi stronami. Zostało zawarte pełnomocnictwo, ale nie odkrywamy ani zakresu, ani stron. Mówimy tylko o kluczach publicznych. Trzeci typ transakcji to jest wykorzystanie tego pełnomocnictwa. Czyli jeżeli pełnomocnik zaczyna wykorzystywać swoje pełnomocnictwo, to w systemie pojawia się o tym informacja. Taką transakcję musi podpisać zarówno pełnomocnik, jak i osoba, która dopuszcza czynności. Czwartym typem transakcji byłoby odwołanie pełnomocnictwa. Mocodawca czy pełnomocnik wysyłają informację, że dane pełnomocnictwo już wygasło, już nie jest ważne. Pełnomocnictwa mogłyby też same wygasać. Protokół by to zapewniał. W tej chwili mówimy o pełnomocnictwach, ale zamierzamy to rozciągnąć dużo większą ilość typów dokumentów. Ale dopiero kiedy prawo nam na to pozwoli.
KW: Czyli zakładacie automatyzację wygaśnięcia pełnomocnictwa?
Marcin: Tak. System po prostu nie pozwoli wykorzystać pełnomocnictwa. Już dodając pełnomocnictwo, możemy określić moment jego wygaśnięcia. Albo możemy dodać kolejny typ transakcji. Możemy określić, że pełnomocnictwo wygasa po tym, jak zostanie wykorzystane trzy razy, albo gdy zrealizujemy czynności ściśle określone w zakresie umocowania.
KW: I rozumiem, że wasze rozwiązanie jest wyabstrahowane od konkretnego sytemu prawa i od tego, jak są w nim uregulowane formy pełnomocnictw czy oświadczenia woli z tym związane. Czyli wasz system nie jest geograficznie ograniczony?
Piotr: Dokładnie tak. Jedyne co nas ogranicza, to możliwość zapisania informacji w postaci bitów, bajtów i tak dalej. A jesteśmy w stanie wszystko zapisać w takiej postaci.
KW: I rozumiem, że wierzchołki, czy też nody, mogą być różne? Czyli i podmioty prywatne, i publiczne?
Piotr: Zdecydowanie tak. Podstawową sprawą jest to, który nod może pisać do tego blockchaina. Który ma uprawnienia, żeby tworzyć nowe bloki, a który nie. Na dobrą sprawę każdy może stworzyć tak zwanego lekkiego noda, czyli noda, który patrzy na to, co się dzieje w blockchainie, patrzy, czy stan się zgadza, ale nie trzyma całego stanu. Może trzymać na przykład tylko stan tych transakcji, tych pełnomocnictw, które są interesujące z jego punktu widzenia.
KW: A gdybyście mieli wskazać praktyczne biznesowe korzyści waszego rozwiązania?
Marcin: Przede wszystkim oszczędność czasu. Zdarza się, że ktoś musi odwołać swoje pełnomocnictwo w kilkunastu czy kilkudziesięciu miejscach. To bardzo uciążliwy proces, który w naszym systemie potrwałby kilkanaście sekund. Podobnie jest z pełnomocnictwami udzielanymi na odległość. Jeśli klient w Australii chce nam szybko przesłać pełnomocnictwo, dzięki tej technologii może to zrobić błyskawicznie, bez robienia skanów czy wysyłania potwierdzeń.
Daniel: Strony mają też pewność, że pełnomocnictwo nie zostało odwołane. Bo gdyby zostało odwołane, natychmiast byłoby to widoczne w systemie. Rośnie więc bezpieczeństwo i zaufanie.
Gabriel: A na dodatek mocodawca widzi, co się dzieje w jego sprawie. W aplikacji może sprawdzić, gdzie jego pełnomocnictwo zostało przedłożone, co jego pełnomocnik zrobił w zleconej mu sprawie.
Piotr: Poza tym nasz system może być pomocny w zwykłych, codziennych czynnościach. W tej chwili, żeby ktoś odebrał za mnie pocztę, muszę przedłożyć pełnomocnictwo w urzędzie pocztowym. A mógłbym przecież wrzucić to pełnomocnictwo do systemu, i to nawet w momencie, gdy ten ktoś jest już na poczcie. To tak jak z przelewem: robimy blikiem przelew i już możemy płacić. Wygoda jest niesamowita. Czyli myślimy nie tylko o świecie prawników, ale też zwykłego człowieka, który musi odebrać pocztę.
JZM: A gdyby ktoś chciał wdrożyć u siebie takie rozwiązanie, to jak szybko jesteście w stanie mu to zapewnić?
Piotr: To zależy od tego, o jak rozwiniętym produkcie mówimy. Ale szacujemy, że w pół roku do roku.
JZM: Kto mógłby być zainteresowany takim rozwiązaniem?
Marcin: Na pewno duże firmy, korporacje, gdzie w krótkim czasie wystawia się bardzo wiele powtarzalnych dokumentów. W przyszłości również urzędy i różne instytucje, ale na początek mówimy o podmiotach prywatnych. Rynek nas oczywiście zweryfikuje. Zobaczymy, czy jest na tyle dojrzały, żeby z takiego rozwiązania korzystać. To się okaże w chwili, gdy już wyjdziemy z tym produktem na rynek.
Daniel: W przyszłości można by to zintegrować z systemami państwowymi. Z ePUAP-em na przykład. To byłoby niesamowite zrobić coś takiego.
JZM: Wróćmy może jeszcze do Global Legal Hackathonu. Jak go wspominacie z perspektywy miesiąca?
Daniel: Ja w nocy z soboty na niedzielę w ogóle nie spałem.
Marcin: Ale to dlatego, że nie wiedzieliśmy, czy będzie pierwsze czy drugie miejsce.
Gabriel: Bardzo dobrze się bawiliśmy. Od dawna chcieliśmy wziąć udział w czymś takim, ale decyzję podjęliśmy kilka dni przed konkursem. Trochę mieliśmy problemy ze znalezieniem składu. Sporo naszych znajomych nie mogło w tym czasie, bo dość późno się dowiedzieliśmy o tym wydarzeniu.
Piotr: Było mało czasu i sporo rzeczy do zrobienia. Zastosowaliśmy rozwiązania scrumowe, oczywiście lekko dostosowane. Na przykład podsumowania robiliśmy nie codziennie, ale co kilka godzin, żeby wiedzieć, kto jest na jakim etapie. Wypracowaliśmy własny styl pracy, który na szczęście się sprawdził. Wiele ułatwiło to, że znaliśmy się już wcześniej. Nasza czwórka współpracowała już przy kilku wyróżnionych projektach. Dlatego mamy do siebie zaufanie i dobrze nam się razem pracuje. Organizatorzy sporo rzeczy zapewniali, w tym bardzo ciekawe szkolenia.
Daniel: My z Piotrem, jako osoby techniczne, dowiedzieliśmy się sporo rzeczy biznesowych. Jak sprzedać produkt, jak przygotować się do wystąpień publicznych. To bardzo przydatna wiedza dla startupu.
Piotr: Spotkaliśmy wielu pozytywnych ludzi. Mentorzy podchodzili i rozmawiali z nami, podpowiadali nam ścieżki rozwoju. Na przykład to, żeby głównym produktem zrobić zupełnie inny wycinek niż ten, który pierwotnie mieliśmy na myśli. To zupełnie zmieniło naszą wizję. Dlatego jesteśmy wdzięczni mentorom za pomoc.
Marcin: Sama rywalizacja była utrzymana na stosunkowo wysokim poziomie. Kilkanaście zespołów było naprawdę mocnych. Taka zdrowa rywalizacja nakręca do jeszcze cięższej pracy.
Gabriel: Ciekawe było też spotkanie osób z różnych światów: technicznego, biznesowego, prawniczego. Zwykle w hackathonach biorą udział tylko ludzie od technologii.
Daniel: No i było dobre jedzenie. W ogóle wydarzenie stało na bardzo wysokim poziomie organizacyjnym. Nic, tylko ciężko pracować i rozwijać fajne projekty.
Piotr: Dlatego zachęcamy wszystkich, którzy mają jakiś pomysł, żeby wystartowali w kolejnej edycji.
Gabriel: A my się zabieramy do ciężkiej pracy, żeby dokończyć projekt, oczywiście nie ograniczając się do samych pełnomocnictw. Jeśli kogoś zainteresowało nasze rozwiązanie, zapraszamy na stronę internetową: www.doxychain.com. Głęboko wierzymy, że nam się uda.
Rozmawiali Krzysztof Wojdyło i Justyna Zandberg-Malec