Convenants, Vaults, Colored Coins

 
1.jpg

Covenants (przymierze)

Słowo „covenant” pochodzi z historycznego angielskiego prawa zwyczajowego, oznacza złożenie uroczystej obietnicy dokonania określonego działania lub powstrzymania się od określonego działania. Bardziej powszechne użycie znane z prawa własności jest określone jako zestaw warunków towarzyszących ziemi i jej wykorzystaniu. Zwykle są one restrykcyjne, i można je skutecznie wdrożyć jeśli obostrzenia przynoszą korzyść ziemi. 

Litecoin Covenants są trafnie nazwane. Convenants skutecznie pozwalają na ograniczenie przyszłego wykorzystania coinów po zakończeniu transakcji. Każdy produkt transakcji składa się z kwoty i skyptu programu. Convenats są włączane przez dodanie nowej operacji do języka skryptowego, która przestrzega obu tych pól. Dokładnie rzecz ujmując, operacja przyjmuje wyjściowy indeks, kwotę, i wzorzec (zastępuje oryginalny LTC PubKey) Weryfikuje czy wyjście o danym indeksie istnieje, czy zawiera wymaganą kwotę, i czy skrypt pasuje do danego wzorca.

Jak zwykle polski odpowiednik nie jest idealny dlatego nadal będziemy posługiwać się angielską nazwą.

Podstawowy schemat wyjściowy Convenats - od lewej : wyjściowy index, ilość LTC, Convenant skrypt zastępujący normalny PubKey LTC.

Podstawowy schemat wyjściowy Convenats - od lewej : wyjściowy index, ilość LTC, Convenant skrypt zastępujący normalny PubKey LTC.

Operacja bierze wyjściowy indeks, kwote LTC, i wzorzec, weryfikuje, że pod danym indeksem istnieje wartość, który zawiera wymaganą kwotę, oraz skrypt który pasuje do podanego wzorca. By zapewnić że convenat jest przechowywany we wszystkich kolejnych transakcjach, można zastosować następujące rekurencyjne przymierze - convenats.

                                                                      &nbs…

                                                                          Rekurencyjny schemat wyjściowy

Te wyjściowe skrypty pozwalają na zaaplikowanie do jednej, kilku albo nieograniczonej liczby kolejnych transakcji. W ten sposób pojedyncza transakcja Litecoin może być przeniesiona, podzielona i wielokrotnie przekazywana do convenants (przymierza). Rozszerzają one także wyjściowy skrypt programu Litecoina poprzez dwa wyjątki: CheckLockTimeVerify i CheckSequenceVerify. Które powodują, że produkt wyjściowy jest unspendable (niewykorzystane) aż do konkretnego punktu w czasie, który umożliwi zawieszenie transakcji. To daje użytkownikowi możliwość przeniesienia coinów po określonym czasie bądź z konkretnym kluczem prywatnym. Stanowi to podstawę dla Colored Coinów, które mogą być wykorzystane na blockchainie Litecoina.

Colored Coins

Colored Coins korzystają z protokołu convenants by połączyć odróżnialny znak („distinguishable mark”) z określonymi coinami. To pozwala użytkownikom na uzyskanie większej kontroli nad swoimi środkami. Normalnie gdy dochodzi do wysłania LTC, wszystkie Litecoiny są złączone razem podczas wrzucenia w blok. Odróżnianie ich od convenatsów pozwala na, ich śledzenie i otrzymywanie. Colored coins współpracują także z Hyperledgerem w celu utworzenia frameworka działającego pośród różnych blockchainów tak by utworzyć pewien powszechnie wykorzystywany standard.

Jednym oczywistym przypadkiem użycia Colored coinów jest tworzenie ICO i tokenów użytkowych jak w przypadku Ether’a. Inny przypadek używania Colored coinów to cyfrowy zasób będący przedmiotem wymiany sprzężony z fizycznym dobrem w stosunku jeden do jednego lub wiele do jednego. Na przykład, ktoś może przypisać określoną ilość Litecoinów do określonej ilości złota, przechowywanej przez zaufaną trzecią stronę. Te coiny mogą być wykorzystane do reprezentowania posiadanej ilości złota, i z łatwością mogą być wymieniane bądź dzielone na mniejsze części; blockchain zachowuje się jako poziom porozumienia i mechanizm rozwiązywania sporów, który zabezpiecza aktywa w razie potrzeby. Cyfrowy majątek może być przesłany z niskim czasem walidacji, kontrolą wysokiej jakości oraz niskimi opłatami. Dla każdego systemu wymiany ważne jest by działać szybciej, wydajniej oraz mieć możliwie niskie koszty by być konkurencyjnym na rynku. To w połączeniu z Lightning Network, z pewnością da blockchainowi Litecoina potężny pakiet narzędzi do świadczenia usług finansowych.

Rozważmy teraz trzeci możliwy przypadek użycia dla Colored coinów ale tym razem z samowykonaniem. Jako Airbnb, możesz potencjalnie wysłać colored coiny które wygasną po 3 dniach, do swoich najemców. Te colored coiny będą działały jako klucze do wynajmowanego apartamentu. Jeśli najemcy będą mieli chęć zostać dłużej to zostaną odcięci od naszych usług bo nasze colored coiny wygasną i przestaną działać.

Vaults (skarbce)

Przy instrumentach finansowych, Covenants pozwalają na zbudowanie dodatkowych środków bezpieczeństwa. Jeden nowatorski przypadek użycia, jest przedstawiony w white paper, MES16, to Recoverable Vaults (odnawialne skarbce).

Skarbce skupiają się na poprawieniu bezpieczeństwa prywatnych kluczy kryptograficznych. W przeszłości, bezpieczne i rzetelne zarządzanie takimi kluczami było główną podatnością użytkowników. Skarbce zniechęcają złodziei kluczy poprzez zapobieganie uzyskania pełnego dostępu do skradzionych środków. Aby to osiągnąć zaprezentowano dwa mechanizmy:

  1. Środki przechowywane w skarbcu mogą być odzyskane przy wykorzystaniu klucza służącego do odzyskiwania, w momencie gdy klucz skarbca został ujawniony bądź jest zagrożony (dostał się w niepowołane ręce). Klucze prywatne są dosłownie jedynym dostępem użytkownika do jego środków. Poprawne zarządzanie kluczami prywatnymi jest w związku z tym jednym z głównych wyzwań stojącymi przed użytkownikami, by chronili siebie od strat i kradzieży. Cold storage czyli zimny portfel, był i jest preferowanym sposobem na bezpieczne przechowywanie kluczy prywatnych, zazwyczaj przy wykorzystaniu urządzenia, które nie jest podłączone do internetu. Jednakże, żeby skorzystać ze swoich środków, takie urządzenie musi być podpięte do Internetu, a to powoduje, że znowu może stać się punktem ataku. Nie wspominając o możliwości zgubienia/utraty swojego cold walleta wraz ze wszystkimi środkami i odpowiadającymi im kluczami prywatnymi.
  2. W przypadku gdy klucz prywatny jest w jakiś sposób zagrożony, właściciel w dalszym ciągu może zapobiec przeniesieniu środków przez atakującego. Najgorsze, co może zrobić napastnik, to uniemożliwić właścicielowi odzyskanie pełnej kontroli nad funduszami. Jako, że to zmniejsza motywację do kradzieży klucza, użytkownicy mogą być bardziej swobodni w kwestii przechowywania ich kluczy prywatnych, zmniejszając szanse na utratę klucza.

    Transakcje Vault mogą zapobiegać wykorzystywaniu skradzionych środków przez atakującego, poprzez opóźnienie czasowe nałożone na transakcje. Działa to na takiej zasadzie, że transakcja musi być publicznie zablokowana przez określony czas w łańcuchu bloków. To daje czas właścicielowi na użycie klucza do odzyskiwania, i na przesłanie środków do nowego adresu vault (skarbca) w nowej transakcji. W związku z tym atakujący zostaje zatrzymany przed wykorzystaniem skradzionych środków. Wykorzystane tutaj zostaje „double spend” czyli próba wydania środków po raz drugi, by przechwycić transakcję z kradzieżą i przekierować środki do nowego adresu. Może to być wykonywane w koło i nieskończenie, co może doprowadzić do sytuacji, w której osoba atakująca mogła uzyskać dostęp do klucza odzyskiwania. Mimo że być może nie zaprzestanie to kradzieżom w 100%, to na pewno utrudnia i wydłuża cały proces.

Ilustracja powyżej obrazuje transakcję wykonywaną przez użytkownika wysyłającego środki do skarbca (vault fund). Pokazuje to jak umieścić tam, wyznaczoną ilość coinów. Zewnętrzna transakcja wymaga odpowiadającej jej sygnatury klucza do skarbca i zawiera instrukcje, które ograniczają ruch środków przez transakcje korzystającą ze środków. Skarbiec oferuje dwie możliwości by odzyskać środki:

  1. Środki mogą być wysłane do standardowego adresu, ale tylko po określonej ilości wydobytych bloków. Zegar który pilnuje skarbca.
  2. Środki mogą być wysłane w dowolnym momencie bez czekania na upłynięcie określonego czasu, wykorzystując klucz do odzyskiwania w innej transakcji pochodzącej ze skarbca, identycznej do tej pierwszej. 

Adresy dotacji:
BTC — 1KssP7Y47doZMFKf4ke5b7qAPiYyXLaN82
LTC — LfnmBLtnogxNEBq4wS62y9DDvUTpddK8S3

 
Technologykrb