Madalas itinuturing na kritikal sa paggampan sa tungkulin ng isang
blockchain ang tapat na sistema. Nangangahulugan ito na ang bawat
node sa network ay makapagtatago ng kopya at makapagbeberipika na walang nalalabag na alituntunin. Para sa maraming mga distributed ledger, maaaring gamitin ng sinuman ang online
block explorer na pinahihintulutan silang maghalungkat sa mga
block, mga transakyon, at mga
address.
Pagdating sa pagiging pribado, hindi ito ang mainam. Sa isang sistema tulad ng Bitcoin, ang bawat transaksyon ay maaaring iugnay pabalik sa nakaraan. Ang mga coin ay hindi
fungible, ibig sabihin na ang bawat isa ay nakatali sa isang partikular na transaksyon. Walang makapipigil sa iyo na magpadala ng bitcoin, ngunit maaari nilang tanggihan ang iyong transaksyon kapag ang mga coin na ito ay nauna nang dumaan sa isang ipinagbabawal na address.
Ang pinakamalalang maaaring mangyari ay posibleng maapektuhan ng kawalan ng fungibility ang mga mismong pundasyon ng sistema. Ang mga malinis na coin ay maaaring makaakit ng dagdag na halaga, habang ang mga luma ay mas mababa na ang halaga dahil sa kanilang pinagdaanan.
Labis-labis ang pagkakabanggit ng pagiging pribado sa Bitcoin. Hindi lamang mga coin ang natutunton, kundi maging ang mga user. Tinatamasa nila ang bahagyang pagtatago ng kanilang identidad (nakikita ang mga public address imbes na ang mga pangalan), ngunit mayroon din itong kahinaan. Ang mga sopistikadong pagsusuri kasama ng tumataas na kawastuhan ay maaaring magkumpol ng mga address sa tangkang basagin ang pagtatago sa mga identidad sa network.
Isang pag-unlad na iminumungkahi para gawing tunay na pribado ang mga transaksyon ay ang Confidential Transactions.
Ang Confidential Transactions (CT) ay
unang tinalakay ng Blockstream CEO na si Adam Back noong 2013 at kalaunan ay
pinalawig ng Bitcoin developer na si Gregory Maxwell. Binalangkas ni Maxwell ang mga problema na binanggit sa unang bahagi (fungibility at mahinang pagtatago ng indentidad) – at nagmungkahi ng solusyon. Ang mga halagang ipinadala ay maaaring itago sa mas malawak na network para ang mga magkatransaksyong partido lamang ang nakakaalam kung magkano ang ipinadala.
Sa normal na sitwasyon (kung saan nakikita ng publiko ang mga transaksyon), madali para sa isang node na beripikahin na ang halagang natanggap ay hindi lalagpas sa halagang ipinadala. Kung nais ni Alice na magpadala na 0.3 BTC kay Bob, kukuha siya ng hindi nagastos na output (tawagin nating 1 BTC) at hahatiin ito sa dalawang piraso: 0.3 na ipadadala kay Bob, at 0.69 na ibabalik sa kanya (ang natitira ay isinusuko bilang singil sa
mining).
Ito ay isang simpleng algebra sa ibang mga node: 1 ay sumosobra sa 0.3 + 0.69, tama lahat ng mga
signature, at ang mga input ni Alice ay hindi pa nagagastos sa iba, kaya may bisa ang transaksyon. Ganunpaman, kapag itinago ang halaga, hindi na nagiging simple ang usapan. Paano mo sisimulan na timbangin na ang hindi nalalamang halaga ay katumbas o higit pa sa pinagsamang dalawang hindi rin nalalamang halaga?
Para itago ang mga datos, kinakailangan ng
encryption. Ganunpaman, ang mga tradisyunal na paraan ay katulad ng paglalagay ng mga dokumento sa isang safe: oras na maikandado ito sa loob, nawawalan ito ng pakinabang hanggang sa ito ay ilabas. Ang kinakailangan natin para gumana ang Confidential Transactions ay isang digital safe kung saan hindi inilalantad ang mga nilalalaman, ngunit maaaring beripikahin ng isang outsider ang mga katangian nito.
Ang sagot ay nakasalalay sa homomorphic encryption sa isang paraan na tinatawag na Pedersen commitment. Pinapayagan ng ganitong uri ng encryption ang isang outsider na magsagawa ng mga operasyon sa isang encrypted na datos (na hindi nila nakikita) para sa ilang kadahilanan.
Magagamit ang regular na hash para i-commit sa datos na gusto mong ilantad kalaunan. Ipagpalagay na gusto mong ianunsyo ang isang kompetisyon sa social media, kung saan ang sinumang makakahula ng iyong paboritong exchange ay makakakuha ng premyong 0.01 BTC. Maaaring magduda ang mga kalahok dahil maaari mo namang tignan ang mga sagot sa pagsasara ng kompetisyon, at pumili ng exchange na hindi nabanggit.
Ang maaari mong gawin ay bigyan ang iyong mga follower ng isang
hash; isang serye ng tila random na mga numero at letra na tumutunton sa isang partikular na input. Idadaan mo ang iyong exchange sa isang function para makakuha ng partikular na output. Ilalarawan natin ito sa SHA256 na algorithm:
f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191
Habang pinagmamasdan ito, hindi ka magkakaroon ng ideya kung ano ang naging input. Hindi mo rin maaaring baliktarin ang function para makuha ito. Ganunpaman, kung alam mo na ang input ay “Binance”, madali mong mapapatunayan na ang hash ay tugma sa ipinakita sa itaas. Sa ganitong paraan, magkakaroon ng katiyakan ang iyong mga follower na hindi mo babaguhin ang iyong sagot sa pagsasara ng kompetisyon – ang paggawa nito ay lilikha ng naiibang output.
Ganunpaman, sa katotohan ay hindi ito maituturing na ganap na ligtas. Bagamat hindi mababaliktad ng iyong mga follower ang algorithm, maaari silang maglista ng mga posibleng exchange at
i-hash ang bawat isa sa mga ito hanggang sa may mapagtugma. Maaari nating mapababa ang tiyansang mangyari ito sa pamamagitan ng pagdagdag ng mga random na datos na tinatawag na blinding factor sa datos na ating iha-hash.
Kapag inilagay nating input ang “Binance is my favorite exchange I love it more than any other exchange 2#43Wr”, lalong nagiging mas mahirap itong hulaan ng kalaban (at para sa premyong 0.1 na BTC, malabong tangkain pa ito ng sinuman).
Pinahihintulutan tayo ng Pedersen commitment na magdagdag ng mga input sa likod ng mga commitment. Tulad ng paglalarawan ni Maxwell:
C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)
Kung saan ang BF ay ang blinding factor at ang D ay ang datos
May ilan pang mga hakbang mula rito na may kaugnayan sa elliptic curve cryptography at range proofs, ngunit ang pangunahing ideya ay may Pedersen commitment ang user para sa kanilang address. Kapag nagpapadala ng mga pondo, dalawang karagdagang commitment ang nililikha (isa para sa change address para maibalik sa user, at isa para sa destination address).
Walang nakakaalam kung gaano kalaki ang ipinadala, ngunit maaari nilang i-check na ang change at destination commitment (kaliwang bahagi ng equation ni Maxwell) ay tugma sa originating address (kanang bahagi ng equation). Kapag nagtugma ito, ibig sabihin ay tunay ang transaksyon ng user dahil maaaring mapatunayan na ang mga input ay katumbas ng mga output.
Kapag nagkaroon ng implementasyon ng Confidential Transactions sa Bitcoin, matatamasa natin ang isang mas malawak na pribadong sistema. Parehong maitatago ang mga input at output mula sa mas malawak na network, at maitatago ang mga tala sa ledger - ngunit mabeberipika pa rin ng nodes ang kanilang katunayan. Sa malaking pag-unlad na ito sa pagiging pribado, maaaring epektibo nang maituturing na fungible ang mga bitcoin, dahil hindi na ipinapakita ng chain analysis ang kasaysayan ng ibinigay na unit.
Pagdating naman sa integrasyon ng Confidential Transactions sa protocol, mukhang malabo pa ito sa kasalukuyan. Dahil sa karagdagang tungkulin na ito, nagiging mas malaki ang mga transaksyon kaysa sa mga nauna – dahil sa limitado ang blockspace, patataasin lamang nito ang demand. Kakailanganin din na ang karamihan sa mga kalahok ay sasang-ayon sa pagbago ng code, isang gawaing dati nang napatunayan na mahirap gampanan.
Nakitaan na ang Confidential Transactions ng paggamit sa ibang mga cryptocurrency at mga Bitcoin sidechain. Halimbawa, ginamit ito ni Monero kasama ng mga ideyang tinatawag na ring signatures para makamit ang pagtatago ng identidad at
fungibility. Iniimplementa ito ng Liquid sidechain para sa pagiging mas pribado, at pinapalawak din ito ng
MimbleWimble para sa parehong resulta.
Para sa benepisyong dala nila, may kaakibat ang Confidential Transactions na kapalit na may mas malaking epekto. Madalas nahihirapan ang mga cryptocurrency sa scalability at throughput sa pinakamababang layer, at ang malalaking transakyon ay hindi kanais-nais para sa lahat. Dahil dito, ang mga nagsusulong sa pagiging pribado ay naniniwalang mahalagang itago ang mga halaga ng transaksyon at payagan ng mga kalahok ang cryptocurrency na magsilbi bilang fungible na pera.