»  Teknologi  »  Hold invoices og desentralisert pizzabud

Hold invoices og desentralisert pizzabud

Henrik Skogstrøm
calendar 06,august 2019

Lightning nettverket har i dag vært live på Bitcoin mainnet i cirka ett år og blir brukt til alt fra å mate kyllinger til å handle på Amazon.

En normal faktura

Når man betaler for noe over lightning-nettverket gjøres dette ved å betale en “faktura” (invoice). En slik faktura genereres av mottakeren og inneholder et “fingeravtrykk” av et hemmelig tall (hashed preimage). Når man betaler en slik faktura må mottakeren publisere hemmeligheten for å fullføre overføringen.

Hold invoices

Tidligere i år ble “Hold invoices” lagt til som funksjonalitet på LND*. Hold invoices skiller seg fra normale lightning-fakturaer (invoices) ved at den ikke må gjøres opp eller avbrytes umiddelbart av mottakeren. 

*(LND er en programvare som følger lightning-nettverket sin standard. Man kan laste ned og kjøre denne programvaren gratis for å delta i lightning-nettverket.)

Det vil si at mottakeren ikke umiddelbart må publisere hemmeligheten om han ikke ønsker eller kan dette. Dette fører til at avsenderen ikke kan benytte pengene etter at de er sendt, mens mottakeren ikke kan fullføre overføringen før han publiserer hemmeligheten.

Dette muliggjør en rekke alternative bruksområder for lightning-betalinger. 

Snudd på hodet

Om man ønsker å foreta en “no cure, no pay” løsning snur man deler av denne dansen på hodet. 

Hvis avsenderen generer hemmeligheten (preimage) og sender fingeravtrykket (hashed preimage) til mottakeren, kan mottakeren generere en faktura basert på dette fingeravtrykket. Dette oppnår tre ting:

  1. Avsenderen kan verifisere at fakturaen som er generert inneholder fingeravtrykket og dermed er basert på hemmeligheten han genererte.
  2. Når avsenderen betaler fakturaen kan han ikke lenger bruke pengene, likevel er pengene ikke endelig overført før mottakeren gjør krav på dem ved å publisere hemmeligheten.
  3. Mottakeren av betalingen kan ikke publisere hemmeligheten da han ikke kjenner den og kan dermed ikke motta pengene før avsender leverer hemmeligheten til han.

Et eksempel – Pizza garanti

Hvis Ola bestiller pizza fra restauranten Pizza Plutselig som benytter seg av Hold invoices, kan Ola stole på at han mottar pizza før han betaler. Slik fungerer det:

  1. Ola benytter en app som genererer en hemmelighet (et stort tilfeldig tall) og et tilhørende fingeravtrykk. Han sender så fingeravtrykket sammen med sin bestilling til Pizza Plutselig.
  2. Pizza Plutselig lager så en Hold invoice basert på fingeravtrykket fra Ola og sender denne fakturaen til Ola. 
  3. Ola betaler fakturaen og venter så på pizza.
  4. Når pizzabudet ankommer overleverer han pizzaen først når Ola lar pizzabudet skanne hemmeligheten og dermed fullføre betalingen.
  5. Hvis Pizza Plutselig ikke leverer vil fakturaen kanselleres og Ola får tilbake pengene sine.

Dette er bare et enkelt eksempel på hva Hold invoices kan brukes til.

Desentralisert Foodora

Eksempelet kan utvides til større leveringstjenester, som i praksis kan bli helt desentraliserte. 

Hvis Pizza Plutselig ønsker å bruke en tredjepart for å levere pizzaen til Ola, kan en budbringer opprette en hold invoice som benytter samme fingeravtrykk som Pizza Plutselig. Når da Ola viser hemmeligheten til budbringeren for å få overlevert pizzaen vil også Pizza Plutselig få hemmeligheten og dermed kunne ta betalt fra Ola. 

Dette kan fjerne behovet for matleverandører som Foodora, da enkeltpersoner kan opprette slike hold invoices med restauranten og restauranten igjen med en tilfeldig budbringer. I et slikt scenario sikrer både restauranten og budbringeren seg å få betalt når maten leveres. 

Back