At tage penge over nettet ved hjælp af Bitcoin - som det blev designet

Tilbage i 2009 brugte Bitcoin en funktion, der muliggjorde IP-til-IP-udveksling af information. 2009-tegnebogen var ikke mere end et bevis på koncept, og mange af de bedste aspekter af Bitcoin er blevet deaktiveret, da dem, der udvikler softwaren, ikke kunne forstå det.

Sidste uge diskuterede jeg, hvordan en nøgle kunne bruges på et smartkort, mens privatliv blev opretholdt ved hjælp af firewallens identitetsmodel fra Bitcoin. I den kommende uge vil jeg vise både en metode, der giver en webserver sikkert mulighed for at acceptere betalinger i bitcoin naivt og en metode, der gør det muligt at udveksle fiat og andre tokens, mens jeg opretholder et absolut niveau for privatlivets fred.

PKI-certifikater - processen

Sådan - ikke minedrift - er peer-to-peer-aspektet af Bitcoin, og det er en af ​​de første ting, som Core-udviklerne fjernede.

I 2009 var der stadig brug for meget arbejde.

I 2009 var systemet endnu ikke komplet. Flere mulige metoder var nødvendige for at blive testet, og metoden, der blev brugt i 2009-klienten, lod meget tilbage at ønske. Endnu en gang var det kun et bevis på koncept.

For at løse sådanne problemer er vi nødt til at starte med at forstå, at noder og tegnebøger er adskilte. Noder er minearbejdere, og tegnebøger er det, der bruges af brugeren til at give mulighed for en P2P-transaktion. I dagens indlæg vil jeg forklare, hvordan et ECDSA-baseret webcertifikat, et SSL / TLS-servercertifikat, der giver dig mulighed for at surfe på internettet sikkert, kan være grundlaget for et købmandsbetalingssystem - et system, der forbliver sikkert og privat, og endnu er også konstrueret således, at det kun sender en betaling til en bestemt adresse én gang.

Med andre ord genbruger den aldrig nøgler.

Der er to måder at sende penge på. Hvis modtageren er online, du
kan indtaste deres IP-adresse, og den vil oprette forbindelse, få en ny offentlighed
nøgle og send transaktionen med kommentarer. Hvis modtageren er det
ikke online, er det muligt at sende til deres Bitcoin-adresse, som
er en hash for deres offentlige nøgle, som de giver dig. De modtager
transaktionen næste gang de opretter forbindelse og får blokken, er den
i. Denne metode har den ulempe, at ingen kommentaroplysninger
sendes, og lidt privatliv kan gå tabt, hvis adressen bruges
flere gange, men det er et nyttigt alternativ, hvis begge brugere ikke kan
være online på samme tid, ellers modtageren ikke kan modtage indgående
forbindelser.

Certifikatet er noget, der kan bruges i både S / MIME og HTTPS.

Hvis vi tager nøglen, der er knyttet til et CA-registreret certifikat, kan vi oprette en offentlig registrering af alle mønter, der sendes til sælgeren og samtidig bevare privatlivets fred.

Vi starter med Alice, en forbruger, og Bob, en webhandler med et ECDSA-baseret webcertifikat for hans websted HTTPS://www.bob.com.

Alice har en Bitcoin-nøgle. Hovednøglen bruges ikke til at sende eller modtage bitcoin, og kan være en metode til at oprette en identitetsnøgle (og kan endda være på et smart card). Sådan er den nøgle, som vi vil kalde P (Alice).

Bobs websted (jeg overlader det til andre at tænke på, hvor enkelt det er at udvide mekanismen til e-mail med S-MIME) har en hovednøgle P (Bob).

Alice har et sæt mønter (det vil sige UTXO-referencer), der kan være helt uden relation til P (Alice), og som overhovedet ikke har nogen relation til hendes hovednøgle. Vi kalder det P (A-1-i); her (i) henviser nummeret på den anvendte mønt.

Alice kan oprette en fælles hemmelighed (s1) ved hjælp af processen, der er dokumenteret i følgende dokument:

BESTEMMELSE AF EN FÆLLES HEMME TIL SIKRET UDVEKSLING AF INFORMATION OG HIERARKISKE, DETERMINISTISKE KRYPTOGRAFISKE TASTER

For at bruge en sådan mekanisme (et af mange eksempler), går Alice til Bob's webshop og søger nu at betale. Alice kan beregne en delt hemmelighed med Bob. For at være mere sikker kan Alice bruge det web-session-id, som hun deler med Bob, fakturanummeret eller noget andet. Det kan bruges i en HMAC-baseret værdi for at tilføje yderligere sikkerhed og privatliv, men i dag vil jeg bruge en simpel hash for at gøre processen enklere at forstå.

Alice og Bob kan begge beregne en værdi S, som er knyttet til nøgler, som Alice og Bob bruger på nettet. Alice kan have en identitets- og autentificeringsnøgle, der ikke forbinder offentligt til hendes køb, men sikrer al sin kommunikation med Bob.

Alice sender en besked til Bob, der er krypteret i en Bitcoin-transaktion. Transaktionen kan gennemføres ved hjælp af enten en offline eller online proces. Hvis Bob er online, kan han gemme værdien af ​​en nonce fra Alice som en del af web-kassen.

Hvis Bob ikke er online og har et ret simpelt websted, kan han bruge blockchain til at registrere oplysninger om betalingen og kontrollere den.

Alice sender Bob en transaktion til P (Bob). Bob bruger ikke en sådan adresse, så betalingen er lille; uden støvgrænsen vil en simpel enkelt satoshi være tilstrækkelig. Alice sender meddelelsen om betaling til P (Bob) -adressen, og Bob bruger den ikke til penge. Vi kan sige, at Bob KUN bruger fra adressen (den der er knyttet til den offentlige nøgle P (Bob)), når certifikatet er markeret som udløbet. Processen fungerer som en form for distribueret "tilbagekaldsliste", hvor Bob kan kontrollere sin egen nøgle. Mere, hvis Bob's nøgle og certifikat nogensinde er angrebet, og støvtransaktionerne her bruges af en angriber, fungerer det som en automatisk alarm. Bob kunne opbevare et lille beløb på kontoen som et middel til at give hackere mulighed for at tro, at det er en gyldig adresse til brug (f.eks. $ 2.000), der kun ville gå tabt, hvis kontoen blev hacket, men som også advarer alle Bobs kunder til angrebet.

Bob kan gøre kontoen mere privat ved hjælp af en undernøgle - se fig. 9 i patentet:

Fig. 9 fra patent 42

Bob kunne endda have en proces, hvor fakturanummeret er knyttet til en undernøgle.

Alice sender nu til den adresse, der er knyttet til P (Bob) - og i scriptet eller som en OP_RETURN-værdi inkluderer en værdi, der er krypteret (f.eks. Ved brug af en AES-krypteringsalgoritme). Ved hjælp af ovennævnte metode kan Bob beregne (S). Dataene i meddelelsen til Bob sendt med en enkelt satoshi (plus minegebyrer) indeholder alt hvad Bob har brug for at vide for at finde, hvor Alice har sendt betalingen. Bob bruger den symmetriske nøgle (S) til at dekryptere dataene i meddelelsen:

  • Kryptere (S) [M]

der giver Bob beskeden fra Alice, M.

  • Dekryptér (S) [M]

Bob kan nu beregne en nøgleadresse fra den afledte nøgle:

  • P (Bob-Paid) = P (Bob) + HMAC (M ~ S) xG
  • Meddelelsestasten er P (Shared Message) = HMAC (M ~ S) xG

KUN Bob og Alice kender den nye hemmelige HMAC (M ~ S).

Alice kan bevise, at hun har sendt en betaling til Bob. Bob kan finde penge fra Alice og bekræfte transaktionen.

På samme tid kan ingen udenforstående bestemme den adresse, som Alice sendte hendes betaling fra - P (A-1-i) til Bob på P (Bob-Paid).

Da Bob har en post på blockchain hos P (Bob), og har en komplet revisionsspor over alle de betalingsadresser, han har modtaget. Posten kan knyttes til fakturaer, indkøbsordrer med mere, så Bob kan konstruere et komplet revisionsspor over alle udvekslinger og en, der ikke kan slettes, ændres eller manipuleres. Metoden opfylder alle de krævede lovgivningsmæssige regnskabsspørgsmål for Bob, og han kan have en delt adresse, hvor moms og andre omsætningsafgifter sendes til regeringen, når han betales. Med andre ord behøver Bob ikke at opleve dyre revisioner, og skattemyndigheden kan straks udbetales.

Tokens og Bitcoin

Ved hjælp af en protokol som Tokenized eller en af ​​de forskellige, som nChain har indgivet patenter til, kan Alice og Bob også udveksle tokenised fiat. Det betyder, at Alice kunne betale Bob ved hjælp af et GBP-token udstedt af en bank i England. Et sådant token overføres ved hjælp af fremgangsmåden nævnt ovenfor, hvilket gør det muligt for Alice og Bob at handle sikkert og sikkert ved hjælp af digitale kontanter i deres valgte lokale valuta, mens de stadig bruger Bitcoin som ”VVS” til udvekslingen.

Metanet-link

Som sådan, selvom Bob kører et offline websted - det vil sige et simpelt system uden en back-end-database - kan de poster, der er modtaget mod P (Bob) -tasten, nu fungere som en form for uforanderlig datalager.

Beskeden, som Alice krypterer til Bob, kan være den komplette rækkefølge.

Det kan afsluttes ved hjælp af eksisterende EDI-meddelelsestyper. I modsætning til EDI er metoden sikker, sikker og privat.

Bedre, rekorden er uforanderlig. Der er ikke plads til regnskabssvindel. Du kan reversere transaktioner, men at gøre det kræver tilbagelevering af midler til den oprindelige kilde.

Alice og Bob kan optage hele den kommercielle proces.

Bob kan indeholde en række hierarkiske adresser, der registrerer alle stadier i ordren - fra fakturering og betaling til afsendelse og levering. Hvis Bob nu har en undermasternøgle til hver klient (se patentet ovenfor og fig. 9), kan han også konstruere en separat undernøgle, der er kendt for ham selv, klienten og skattemyndigheden til revisionsformål, men ikke andre, hvilket tillader ham at bevare et absolut niveau for privatliv, hvor andre klienter og leverandører ikke engang ved, hvor mange transaktioner han udfører. Mere, han kan konstruere betalinger på en måde, der giver ham mulighed for at isolere interne medarbejdere og få dem til kun at kende de oplysninger, der er relateret til deres egne afdelinger.

Mens den CA-linkede nøgle ikke berøres, kan kontiene sendes til den gamle adresse. En sub-CA-nøgle kunne også knyttes til regnskabsåret og rulles også hver skatteperiode. Du lukker certifikatet, samler alle betalinger, der er foretaget som støv, og lukker samtidig bøgerne klar til det nye regnskabsår.

EDI-meddelelse

EDI er et eksisterende kodningsskema for handel.

Vi kan se ANSI- og EDIFACT-meddelelsesformaterne på billedet herunder:

ANSI vs EDIFACT

I vores system bruger vi krypteringsnøglen til dataene i meddelelsen (ikke betalingen) som "gruppemeddelelse." Der er ikke behov for en interchange-meddelelse. Sådan ville være en midterste mand, og i Bitcoin har vi fjernet behovet for ham.

Standard EDI

Den nye model for handel er en, hvor alle poster er uforanderlige, ikke kan gå tabt og tillade Alice og Bob at handle privat.

Bitcoin dataudveksling

Og værktøjer til at kortlægge EDI til en Bitcoin-transaktion ville simpelthen ligne EDI-værktøjer, som de er i dag.

Selv det integrerede i en Bitcoin-transaktion kunne det krypterede EDI XML-format ganske enkelt udtrækkes og vises eller udskrives som enhver anden faktura eller ordre:

Viset faktura

I den eksisterende EDI-verden debiteres klienter ved hjælp af modeller, der opererer inden for prisbånd baseret på forventede mængder af Kilo-Characters (KC'er) eller dokumenter. Der er også skjulte gebyrer såsom minimum postlængder hos mange udbydere, der angiver en rekordlængde på 128 til 512 tegn. Resultatet er, at hvis du sender 12 dokumenter på 12 tegn, vil du blive opkrævet for op til 5.120 tegn, selvom du kun sender 144 tegn.

For købmænd med et stort antal små transaktioner kan de tilføje et betydeligt beløb til dit månedlige gebyr.

En sådan ting er ikke et spørgsmål med Bitcoin.

Selvom den maksimale tilladte meddelelsesstørrelse for NACCS EDI-meddelelser er 500.000 byte, er virkeligheden, at EDI og andre relaterede meddelelser generelt er i størrelsesordenen 150 byte. Afsendelse af et uforanderligt, privat, sikkert fakturerings- og regnskabssystem for brøkdele af en cent pr. Faktura - sammenlign at gøre det med 2 til 3 dollars for nogle EDI-løsninger og endda $ 0,20 for en simpel Visa-transaktion, og… det er tid til at begynde at tænke igen hvordan du gør forretninger.

I en sådan model behøver ingen Bitcoin-adresse nogensinde bruges mere end én gang, og betalinger og fakturaer er knyttet privat - hvilket kan endda være pseudonym, da ID'et ikke behøver at være i et brugersertifikat.