Pagkuha ng pera sa web gamit ang Bitcoin - sa paraang dinisenyo

Noong 2009, ginamit ng Bitcoin ang isang tampok na pinapayagan para sa IP-to-IP na palitan ng impormasyon. Ang pitaka sa 2009 ay hindi higit sa isang patunay ng konsepto, at marami sa mga pinakamahusay na aspeto ng Bitcoin ay hindi pinagana dahil ang mga bumubuo ng software ay nabigo na maunawaan ito.

Noong nakaraang linggo, tinalakay ko kung paano magamit ang isang susi sa isang matalinong kard, habang pinapanatili ang privacy gamit ang modelo ng pagkakakilanlan ng firewall ng Bitcoin. Para sa darating na linggo, ipapakita ko ang parehong isang pamamaraan na nagpapahintulot sa isang web server na ligtas na tanggapin ang mga pagbabayad sa bitcoin naively at isang pamamaraan na nagpapahintulot sa mga fiat at iba pang mga token na palitan habang pinapanatili ang isang ganap na antas ng privacy.

Mga sertipiko ng PKI - ang proseso

Ang nasabing - hindi pagmimina - ay ang aspeto ng peer-to-peer ng Bitcoin, at ito ay isa sa mga unang bagay na tinanggal ng mga developer ng Core.

Noong 2009, maraming trabaho ang kinakailangan.

Noong 2009, ang sistema ay hindi pa kumpleto. Maraming posibleng mga pamamaraan na kinakailangan upang masuri, at ang pamamaraan na ginamit sa 2009 client ay nag-iwan ng maraming nais. Pagkatapos muli, ito ay isang patunay lamang ng konsepto.

Upang ayusin ang mga naturang isyu, kailangan nating magsimula sa pamamagitan ng pag-unawa na ang mga node at mga pitaka ay magkahiwalay. Ang mga node ay mga minero, at ang mga pitaka ay ginagamit ng gumagamit upang payagan ang isang transaksyon ng P2P. Sa post ngayon, ipapaliwanag ko kung paano ang isang sertipiko sa web na nakabase sa ECDSA, isang sertipiko ng SSL / TLS-server na nagpapahintulot sa iyo na mag-surf sa internet nang ligtas, ay maaaring maging batayan ng isang sistema ng pagbabayad ng mangangalakal - isang sistema na nananatiling ligtas at pribado, at gayon pa man ay itinayo ito na nagpapadala lamang ito ng isang pagbabayad sa isang partikular na address nang isang beses.

Sa madaling salita, hindi nito muling tinatanggihan ang mga susi.

Mayroong dalawang mga paraan upang magpadala ng pera. Kung ang tatanggap ay online, ikaw
maaaring makapasok sa kanilang IP address at magkakonekta ito, makakuha ng isang bagong publiko
key at ipadala ang transaksyon sa mga komento. Kung ang tatanggap ay
hindi online, posible na magpadala sa kanilang Bitcoin address, na
ay isang abala ng kanilang pampublikong susi na ibinibigay sa iyo. Tatanggap sila
ang transaksyon sa susunod na kumonekta sila at makuha ang bloke nito
in. Ang pamamaraang ito ay may kakulangan na walang impormasyon sa puna
ay ipinadala, at isang piraso ng privacy ay maaaring mawala kung ginagamit ang address
maraming beses, ngunit ito ay isang kapaki-pakinabang na kahalili kung ang parehong mga gumagamit ay hindi maaaring
maging online nang sabay-sabay o ang tatanggap ay hindi maaaring tumanggap ng papasok
koneksyon.

Ang sertipiko ay isang bagay na maaaring magamit sa parehong S / MIME at HTTPS.

Kung kukuha tayo ng susi na nauugnay sa isang sertipiko na nakarehistro sa CA, maaari kaming lumikha ng isang pampublikong talaan ng lahat ng mga barya na ipinadala sa negosyante at sa parehong oras mapanatili ang privacy.

Magsisimula kami sa Alice, isang consumer, at Bob, isang web merchant na may isang web certificate na nakabase sa ECDSA para sa kanyang site HTTPS://www.bob.com.

Si Alice ay may isang key ng master ng Bitcoin. Ang master key ay hindi ginagamit upang magpadala o makatanggap ng bitcoin, at maaaring maging isang pamamaraan upang lumikha ng isang key ng pagkakakilanlan (at maaaring maging sa isang matalinong kard). Ganyan ang susi na tatawagin namin si P (Alice).

Ang website ni Bob (Iiwan ko ito sa iba upang isipin kung gaano kadali ang pagpapalawak ng mekanismo sa email gamit ang S-MIME) ay may master key P (Bob).

Si Alice ay may isang hanay ng mga barya (iyon ay, sangguniang UTXO) na maaaring ganap na hindi nauugnay sa P (Alice) at na walang kaugnayan sa kanyang pangunahing key. Tatawagin natin itong P (A-1-i); dito, (i) tinutukoy ang bilang ng barya na ginamit.

Si Alice ay maaaring lumikha ng isang pangkaraniwang lihim (s1) gamit ang proseso na naitala sa sumusunod na dokumento:

PAGSULAT NG ISANG KOMPLETO NG KOMPLETO PARA SA IKALAWANG PAGLALAP NG INFORMATION AT HIERARCHICAL, DETERMINISTIC CRYPTOGRAPHIC KEYS

Upang magamit ang gayong mekanismo (isa sa maraming mga halimbawa), si Alice ay pumupunta sa web store ni Bob, at naghahangad na magbayad. Maaaring makalkula ni Alice ang isang ibinahaging lihim kay Bob. Upang maging mas ligtas, maaaring magamit ni Alice ang web-session ID na ibinahagi niya kay Bob, ang numero ng invoice, o ano pa man. Maaari itong magamit sa isang halaga na nakabase sa HMAC upang magdagdag ng karagdagang seguridad at privacy, ngunit para sa ngayon, gagamit ako ng isang simpleng hash upang gawing mas maunawaan ang proseso.

Sina Alice at Bob ay maaaring magkalkula ng isang halaga S, na naka-link sa mga susi na ginagamit nina Alice at Bob sa web. Si Alice ay maaaring magkaroon ng isang pagkakakilanlan at susi ng pagpapatunay na hindi mai-link sa publiko sa kanyang mga pagbili, ngunit sinisiguro ang lahat ng kanyang pakikipag-usap kay Bob.

Nagpadala si Alice ng isang mensahe kay Bob na naka-encrypt sa isang transaksyon sa Bitcoin. Ang transaksyon ay maaaring makumpleto gamit ang isang offline o online na proseso. Kung online si Bob, maaari niyang maiimbak ang halaga ng isang nonce mula sa Alice bilang isang bahagi ng web checkout.

Kung si Bob ay hindi online at may isang simpleng site, maaari niyang gamitin ang blockchain upang maitala ang impormasyon tungkol sa pagbabayad at suriin ito.

Ipinadala ni Alice kay Bob ang transaksyon kay P (Bob). Hindi gumagamit si Bob ng isang adres, kaya maliit ang pagbabayad; kung wala ang limitasyon ng alikabok, sapat na ang isang solong satoshi. Ipinadala ni Alice ang mensahe para sa pagbabayad sa address ng P (Bob), at hindi ito ginagamit ni Bob para sa mga pondo. Masasabi natin, si Bob LAMANG ay gagastos mula sa address (ang nauugnay sa pampublikong susi ng P (Bob) kapag ang marka ay minarkahan bilang nag-expire. Ang proseso ay nagsisilbing isang form ng ipinamamahaging "listahan ng pagwawasto" kung saan makontrol ni Bob ang kanyang sariling susi. Higit pa, kung ang susi at sertipiko ni Bob ay kailanman naatake at ang mga transaksyon sa alikabok dito ay ginugol ng isang umaatake, ito ay gumaganap bilang isang awtomatikong alerto. Maaaring panatilihin ni Bob ang isang maliit na halaga ng mga pondo sa account bilang isang paraan upang payagan ang mga hacker na isipin na ito ay isang wastong address para magamit (hal. $ 2,000) na mawawala lamang, kung ang account ay na-hack, ngunit naalala rin nito ang lahat ng mga customer ni Bob sa pag-atake.

Maaaring gawing pribado ni Bob ang account gamit ang isang subkey - tingnan ang Fig. 9 sa patent:

Larawan ng 9 mula sa patent 42

Si Bob ay maaaring magkaroon ng isang proseso kung saan ang numero ng invoice ay nauugnay sa isang subkey.

Nagpapadala ngayon si Alice sa address na nauugnay sa P (Bob) - at sa script o bilang isang halaga ng OP_RETURN ay may kasamang halaga na na-encrypt (tulad ng paggamit ng isang AES encryption algorithm). Gamit ang pamamaraan na nabanggit sa itaas, maaaring makalkula ni Bob (S). Ang data sa mensahe kay Bob na ipinadala gamit ang isang solong satoshi (kasama ang mga bayad sa pagmimina) ay naglalaman ng lahat ng kailangang malaman ni Bob upang malaman kung saan ipinadala ni Alice ang pagbabayad. Ginagamit ni Bob ang simetriko key (S) upang i-decrypt ang data sa mensahe:

  • Encrypt (S) [M]

na nagbibigay kay Bob ng mensahe mula kay Alice, M.

  • I-decrypt (S) [M]

Maaari na ngayong makalkula ni Bob ang isang pangunahing address mula sa nagmula susi:

  • P (Bob-Bayad) = P (Bob) + HMAC (M ~ S) xG
  • Ang key ng mensahe ay P (Ibinahagi na Mensahe) = HMAC (M ~ S) xG

LAMANG si Bob at Alice ay malalaman ang bagong lihim na HMAC (M ~ S).

Mapapatunayan ni Alice na nagpadala siya ng bayad kay Bob. Mahahanap ni Bob ang pera mula kay Alice at i-verify ang transaksyon.

Kasabay nito, walang panlabas na partido ang maaaring matukoy ang address na ipinadala ni Alice sa kanyang pagbabayad mula - P (A-1-i) kay Bob sa P (Bob-Paid).

Tulad ng si Bob ay may talaan sa blockchain sa P (Bob), at may isang kumpletong trail ng pag-audit ng lahat ng mga address ng pagbabayad na kanyang natanggap. Ang tala ay maaaring maiugnay sa mga invoice, pagbili ng mga order, at higit pa, na nagpapahintulot kay Bob na bumuo ng isang kumpletong ruta ng pag-audit ng lahat ng mga palitan at isang hindi maaaring tanggalin, mabago, o manipulahin. Tinutupad ng pamamaraan ang lahat ng kinakailangang mga isyu sa pambatasan para sa Bob, at maaari siyang magkaroon ng isang split address kung saan ipinapadala ang gobyerno sa VAT at iba pang mga buwis sa pagbebenta habang siya ay binabayaran. Sa madaling salita, hindi kinakailangang makaranas si Bob ng magastos na mga pag-audit, at ang awtoridad sa buwis ay maaaring mabayaran agad nang walang pagkaantala.

Mga Token at Bitcoin

Gamit ang isang protocol tulad ng Tokenized o isa sa mga iba't-ibang mga na-file ng nChain para sa mga patente, si Alice at Bob ay maaari ring makipagpalitan ng tokenised fiat. Nangangahulugan ito na maaaring magbayad si Alice kay Bob gamit ang isang token ng GBP na inisyu ng isang bangko sa UK. Ang nasabing token ay ipinadala gamit ang proseso na nakalista sa itaas, na nagpapahintulot kay Alice at Bob na ligtas at ligtas na makipag-transaksyon gamit ang digital cash sa kanilang lokal na pera na pinili, habang ginagamit pa rin ang Bitcoin bilang "pagtutubero" para sa palitan.

Pag-link ng Metanet

Tulad nito, kahit na si Bob ay nagpapatakbo ng isang offline na website - iyon ay, isang simpleng sistema nang walang back-end database - ang mga tala na natanggap laban sa P (Bob) key ay maaari na ngayong kumilos bilang isang form ng hindi mababago ng data store.

Ang mensahe na naka-encrypt kay Alice kay Bob ay maaaring kumpletong pagkakasunud-sunod.

Maaari itong makumpleto gamit ang umiiral na mga uri ng mensahe ng EDI. Hindi tulad ng EDI, ang pamamaraan ay ligtas, ligtas, at pribado.

Mas mabuti, ang tala ay hindi mababago. Walang lugar para sa mga pandaraya sa accounting. Maaari mong baligtarin ang mga transaksyon, ngunit ang paggawa nito ay nangangailangan ng isang pagbabalik ng mga pondo sa pinanggalingan na pinagmulan.

Maaaring maitatala nina Alice at Bob ang buong proseso ng komersyal.

Si Bob ay maaaring humawak ng isang serye ng mga hierarchical address na nagtatala ng lahat ng mga yugto ng pagkakasunud-sunod - mula sa pag-invoice at pagbabayad hanggang sa pagpapadala at paghahatid. Kung si Bob ay mayroon nang sub-master key para sa bawat kliyente (tingnan ang patent sa itaas at Fig. 9), maaari rin siyang magtayo ng isang hiwalay na subkey, na kilala sa kanyang sarili, kliyente, at awtoridad sa buwis para sa mga layunin ng pag-audit, ngunit hindi ang iba pa, na nagpapahintulot sa kanya na mapanatili ang isang ganap na antas ng privacy, kung saan ang ibang mga kliyente at supplier ay hindi alam kung gaano karaming mga transaksyon ang ginagawa niya. Higit pa, maaari siyang magtayo ng mga pagbabayad sa isang paraan na nagpapahintulot sa kanya na ihiwalay ang mga panloob na empleyado at ipaalam sa kanila ang impormasyon lamang na may kaugnayan sa kanilang sariling mga kagawaran.

Habang ang pindutan na naka-link sa CA ay hindi baliw, ang mga account ay maaaring maipadala sa lumang address. Ang isang sub-CA key ay maaaring maiugnay sa taon ng accounting at pinagsama ang bawat panahon ng buwis. Isinara mo ang sertipiko, mangolekta ng anumang mga pagbabayad na ginawa bilang alikabok, at sa parehong oras, isara ang mga libro na handa na para sa bagong taon ng accounting.

Mensahe ng EDI

Ang EDI ay isang umiiral na pamamaraan ng pag-encode para sa komersyo.

Maaari naming makita ang mga format ng mensahe ng ANSI at EDIFACT sa imahe sa ibaba:

ANSI vs EDIFACT

Sa aming system, ginagamit namin ang key encryption para sa data sa mensahe (hindi ang pagbabayad) bilang ang "mensahe ng pangkat." Hindi na kailangan para sa isang mensahe ng pagpapalit. Ang ganitong magiging isang gitnang tao, at sa Bitcoin, tinanggal namin ang pangangailangan para sa kanya.

Pamantayang EDI

Ang bagong modelo para sa commerce ay isa kung saan ang lahat ng mga talaan ay hindi mababago, hindi mawawala, at payagan silang pribado sina Alice at Bob.

Pagpalit ng Data ng Bitcoin

At, ang mga tool upang i-map ang EDI sa isang transaksyon sa Bitcoin ay magiging hitsura ng mga tool ng EDI tulad ngayon.

Kahit na naka-embed sa isang transaksiyon sa Bitcoin, ang naka-encrypt na format na EDI XML ay maaaring makuha lamang at maipakita o i-print o i-print tulad ng anumang iba pang invoice o order:

Ipinapakita ang invoice

Sa umiiral na mundo ng EDI, ang mga kliyente ay sisingilin gamit ang mga modelo na nagpapatakbo sa loob ng mga banda ng presyo batay sa inaasahang dami ng Kilo-Char character (KCs) o mga dokumento. Mayroon ding mga nakatagong singil tulad ng mga minimum na haba ng record na may maraming mga tagapagbigay na tinukoy ang haba ng record na 128 hanggang 512 character. Ang resulta ay kung magpadala ka ng 12 mga dokumento ng 12 character, sisingilin ka ng hanggang sa 5,120 character, kahit na nagpapadala lamang ng 144 na character.

Para sa mga mangangalakal na may malaking dami ng maliliit na transaksyon, maaari silang magdagdag ng isang malaking halaga sa iyong buwanang singil.

Ang ganitong bagay ay hindi isang isyu sa Bitcoin.

Bagaman ang pinakamataas na laki ng mensahe na pinahihintulutan para sa mga mensahe ng NACCS EDI ay 500,000 byte, ang katotohanan ay ang EDI at iba pang mga nauugnay na mensahe sa pangkalahatan sa pagkakasunud-sunod ng 150 byte. Ang pagpapadala ng isang hindi mababago, pribado, ligtas na pag-invoice at sistema ng accounting para sa mga praksiyon ng isang sentimo bawat invoice - ihambing ang paggawa nito sa 2 hanggang 3 dolyar para sa ilang mga solusyon sa EDI at kahit $ 0.20 para sa isang simpleng transaksyon sa Visa, at ... oras na upang simulan ang muling pag-iisip. paano ka nagnegosyo.

Sa ganoong modelo, hindi kinakailangan ang adres ng Bitcoin na ginagamit nang higit sa isang beses, at ang mga pagbabayad at mga invoice ay nai-link nang pribado - na kahit na maaaring maging pseudonymous, dahil ang ID ay hindi kailangang nasa isang sertipiko ng gumagamit.