Ang TXID, o Transaction ID, ay isang natatanging alphanumeric na tagapagkilala na ibinibigay sa bawat transaksyong cryptocurrency na naitala sa isang blockchain. Para sa Bitcoin, ang tagapagkilalang ito ay nililikha sa pamamagitan ng paglalapat ng isang cryptographic hash function, partikular ang SHA-256 nang dalawang beses, sa datos ng transaksyon. Ito ay nagsisilbing digital fingerprint o resibo, na nagpapahintulot sa mga gumagamit na subaybayan, beripikahin, at sanggunian ang mga partikular na paglilipat ng BTC gamit ang isang blockchain explorer.
Pag-unawa sa Bitcoin Transaction ID (TXID)
Ang Bitcoin Transaction ID, na karaniwang dinadaglat bilang TXID, ay nagsisilbing isang pangunahing identifier sa loob ng Bitcoin ecosystem. Ito ay isang alphanumeric na string na nagsisilbing natatanging digital na fingerprint para sa bawat transaksyong naitala sa Bitcoin blockchain. Tulad ng nakasaad sa background, ang identifier na ito ay nililikha sa pamamagitan ng paglalapat ng isang cryptographic hash function, partikular ang SHA-256 nang dalawang beses, sa buong data ng transaksyon. Higit pa sa pagiging isang string ng mga karakter, ang TXID ay nagsisilbing isang mahalagang resibo, na nagbibigay-daan sa mga user na i-track, i-verify, at i-reference ang mga partikular na paglilipat ng Bitcoin (BTC) nang may katumpakan gamit ang anumang pampublikong blockchain explorer.
Ang pagkakaroon ng TXID ay nagbibigay ng isang immutable na rekord na ang isang partikular na halaga ng BTC ay ipinadala mula sa isang address patungo sa isa pa sa isang partikular na oras. Kung wala ang natatanging identifier na ito, ang pagsubaybay sa daloy ng halaga sa isang decentralized na ledger ay magiging halos imposible, na magpapahina sa transparency at auditability na mga pangunahing prinsipyo ng teknolohiyang blockchain. Pinagbubuklod nito ang data ng isang transaksyon – kabilang ang mga input, output, at metadata – sa isang iisang compact at natatanging representasyon.
Bakit Napakahalaga ng mga TXID
Ang pangangailangan para sa mga TXID ay direktang nagmumula sa mga prinsipyo ng disenyo ng isang decentralized at trustless na ledger system. Sa isang tradisyunal na sistema ng pagbabangko, ang mga account number at transaction ID ay sentralisadong pinamamahalaan at ibinibigay ng mga bangko. Sa Bitcoin network, walang sentral na awtoridad. Samakatuwid, ang isang self-generated, nabe-verify, at natatanging identifier para sa bawat transaksyon ay napakahalaga.
Narito kung bakit kritikal ang mga TXID:
- Uniqueness (Pagiging Natatangi): Ang bawat TXID ay natatangi sa kaukulang transaksyon nito. Kahit ang isang napakaliit na pagbabago sa data ng transaksyon ay magreresulta sa isang ganap na magkaibang TXID dahil sa mga katangian ng cryptographic hashing.
- Immutability (Hindi Nababago): Kapag ang isang transaksyon ay nakumpirma na at naidagdag na sa isang block sa blockchain, ang TXID nito ay hindi na mababago. Tinitiyak ng immutability na ito na ang mga nakaraang transaksyon ay hindi maaaring baguhin o itanggi.
- Verifiability (Kakayahang Ma-verify): Kahit sino ay maaaring kumuha ng raw data ng isang transaksyon at kalkulahin ang TXID nito upang i-verify na tumutugma ito sa nakatala sa blockchain. Ang transparency na ito ay isang pundasyon ng mga public ledger system.
- Referencability (Kakayahang Ma-reference): Ang TXID ay nagbibigay ng isang direktang paraan upang ituro ang isang partikular na transaksyon sa mga talakayan, support inquiries, o mga proseso ng audit.
- Tracking (Pagsubaybay): Nagbibigay-daan ito sa mga user at serbisyo na subaybayan ang katayuan ng isang transaksyon, obserbahan ang mga kumpirmasyon nito, at malaman kung kailan nakarating ang mga pondo sa destinasyon nito.
Ang Genesis ng isang TXID: Isang Malalim na Teknikal na Pagsusuri
Ang paglikha ng isang Bitcoin TXID ay isang tumpak at deterministic na proseso na kinasasangkutan ng buong raw transaction data at isang partikular na cryptographic algorithm. Hindi ito isang random na itinalagang numero kundi isang direktang resulta ng matematika mula sa mga nilalaman ng transaksyon.
Anatomiya ng isang Bitcoin Transaction
Bago makabuo ng isang TXID, mahalagang maunawaan kung ano ang bumubuo sa isang "Bitcoin transaction." Ang isang Bitcoin transaction ay isang data structure na nagsasabing "nais magpadala ni payer A ng X halaga ng BTC kay recipient B." Ang data structure na ito ay binubuo ng ilang mahahalagang bahagi, na madalas na naka-serialize sa isang byte stream:
- Version Number: Nagpapahiwatig ng mga panuntunan sa bersyon ng transaksyon, na nagbibigay-daan para sa mga upgrade sa protocol sa hinaharap.
- Inputs (Vin): Isang listahan ng "unspent transaction outputs" (UTXOs) na ginagastos ng nagpadala. Ang bawat input ay tumutukoy sa TXID ng isang nakaraang transaksyon at sa partikular na output index mula sa transaksyong iyon, kasama ang isang unlocking script (ScriptSig) na naglalaman ng lagda (signature) ng nagpadala.
- Outputs (Vout): Isang listahan ng mga bagong UTXO na nililikha ng transaksyong ito. Ang bawat output ay tumutukoy sa isang value (halaga ng BTC) at isang locking script (ScriptPubKey) na tumutukoy sa mga kondisyon para sa paggastos ng output na iyon, na karaniwang nakatali sa public key hash ng tatanggap.
- Locktime (o NLocktime): Isang optional na field na maaaring tumukoy sa isang oras o block height kung kailan lamang magiging valid ang transaksyon. Madalas itong nakatakda sa zero para sa agarang pagproseso.
- Marker & Flag (para sa mga SegWit transaction): Mga partikular na byte na ipinakilala sa Segregated Witness (SegWit) upang itangi ang mga SegWit transaction mula sa mga legacy na transaksyon at upang isama ang witness data.
Mahalagang tandaan na ang witness data (na kinabibilangan ng mga signature sa mga SegWit transaction) ay hindi kasama sa data na ginagamit upang kalkulahin ang TXID para sa mga SegWit transaction. Ito ay isang sinadyang desisyon sa disenyo upang ayusin ang transaction malleability, na tatalakayin mamaya. Para sa mga legacy (non-SegWit) transaction, ang buong payload ng transaksyon, kabilang ang mga signature, ay isinasailalim sa hashing.
Ang Proseso ng Serialization
Upang i-hash ang data ng transaksyon, kailangan muna itong i-convert sa isang standardized at compact na binary format. Ang prosesong ito, na kilala bilang serialization, ay tinitiyak na ang bawat node sa network ay magbibigay ng parehong interpretasyon sa data ng transaksyon, na hahantong sa parehong kalkulasyon ng TXID. Ang mga panuntunan sa serialization ang nagtatakda ng pagkakasunod-sunod at byte representation ng bawat bahagi (version, inputs, outputs, locktime, atbp.).
Para sa isang non-SegWit na transaksyon, ang data na naka-serialize at isinasailalim sa hashing ay kinabibilangan ng:
- Bersyon
- Bilang ng mga input
- Para sa bawat input:
- Hash ng nakaraang transaksyon (TXID ng UTXO na ginagastos)
- Output index (kung aling partikular na output mula sa nakaraang transaksyong iyon)
- Haba ng ScriptSig
- ScriptSig (ang unlocking script, hal. signature)
- Sequence number
- Bilang ng mga output
- Para sa bawat output:
- Value (halaga sa satoshis)
- Haba ng ScriptPubKey
- ScriptPubKey (ang locking script, hal. address ng tatanggap)
- Locktime
Ang Mekanismo ng Double Hashing
Kapag ang data ng transaksyon ay naka-serialize na sa isang byte array, ang susunod na hakbang ay ang paglalapat ng cryptographic hash function. Gumagamit ang Bitcoin ng SHA-256 (Secure Hash Algorithm 256-bit) nang hindi lang minsan, kundi dalawang beses.
Ang proseso ay nagaganap gaya ng sumusunod:
- Unang Hash: Ang buong serialized transaction data (tulad ng inilarawan sa itaas) ay ipinapasok sa SHA-256 algorithm. Nagreresulta ito sa isang 256-bit (32-byte) na hash.
H1 = SHA256(serialized_transaction_data)
- Ikalawang Hash: Ang output ng unang SHA-256 hash (H1) ay muling ipinapasok sa SHA-256 algorithm. Nagreresulta ito sa pinal na 256-bit na hash.
H2 = SHA256(H1)
TXID = H2
Ang nagresultang 32-byte hash ay ang raw TXID. Ang raw hash na ito ay karaniwang kinakatawan bilang isang 64-character na hexadecimal string para madaling mabasa ng tao (ang bawat byte ay kinakatawan ng dalawang hex character).
Paliwanag tungkol sa Endianness
Isang maliit ngunit mahalagang detalye para sa pagpapakita at pag-interpret ng mga TXID ay ang "endianness." Kapag ang 32-byte raw TXID hash ay ipinakita bilang isang hexadecimal string, madalas itong ipinapakita sa reverse byte order (little-endian) kumpara sa kung paano ito nakaimbak sa loob (big-endian).
- Big-Endian: Ang pinaka-significant na byte ay unang nakaimbak (sa pinakamababang memory address). Ito ay karaniwan para sa mga network protocol at human-readable na representasyon ng malalaking numero.
- Little-Endian: Ang pinaka-least significant na byte ay unang nakaimbak. Karaniwan ito sa mga computer architecture para sa pag-iimbak ng data.
Sa Bitcoin, ang internal representation ng isang hash ay karaniwang big-endian. Gayunpaman, kapag nakakita ka ng TXID sa isang blockchain explorer, karaniwan itong ipinapakita sa little-endian hexadecimal representation nito. Halimbawa, kung ang raw 32-byte hash ay 0123456789abcdef... sa loob, maaari itong ipakita bilang efcd8967452301.... Ang pagbaligtad na ito ay inilalapat lamang para sa layunin ng pagpapakita at hindi binabago ang pinagbabatayang natatanging halaga ng hash. Bagama't tila teknikal, ang pag-unawa rito ay makakatulong upang maiwasan ang pagkalito kapag inihahambing ang raw hash output sa mga explorer display.
Ang Cryptographic na Haligi: Hashing gamit ang SHA-256
Ang pagpili at paglalapat ng SHA-256 bilang hashing algorithm ay sentro sa seguridad at integridad ng mga Bitcoin TXID.
Mga Katangian ng SHA-256
Ang SHA-256 ay bahagi ng SHA-2 family ng mga cryptographic hash function. Ang mga katangian nito ay kritikal para sa papel nito sa pag-secure ng Bitcoin:
- Determinism: Gamit ang parehong input, ang SHA-256 ay palaging maglalabas ng parehong output hash. Ito ay pundamental para sa paggawa ng TXID, tinitiyak na ang lahat ay makakalkula ang parehong identifier para sa isang transaksyon.
- One-Way Function (Pre-image Resistance): Halos imposible sa aspeto ng kompyutasyon na baligtarin ang proseso ng hashing; ibig sabihin, gamit ang isang hash, halos imposible na malaman ang orihinal na input data. Pinoprotektahan nito ang data ng transaksyon mula sa pagkahula mula sa TXID nito.
- Collision Resistance: Halos imposible na makahanap ng dalawang magkaibang input na maglalabas ng parehong output hash. Bagama't may mga theoretical collision (dahil may walang hanggang posibleng input ngunit may limitadong bilang ng output), ang posibilidad na makahanap nito para sa SHA-256 ay napakababa, kaya ang mga TXID ay masasabing praktikal na natatangi.
- Avalanche Effect: Kahit ang isang maliit na pagbabago (halimbawa, isang single bit flip) sa input data ay magreresulta sa isang lubos na magkaibang output hash. Tinitiyak nito na ang anumang pagbabago sa data ng transaksyon ay agad na magpapabago sa TXID nito, kaya agad na makikita ang anumang pakikialam (tampering).
- Fixed Output Size: Anuman ang laki ng input data, ang SHA-256 ay palaging naglalabas ng isang 256-bit (32-byte) na hash.
Ang Dahilan sa Paggamit ng Double Hashing
Ang paggamit ng double SHA-256 (SHA256d) para sa mga TXID (at para rin sa mga block hash) ay isang partikular na desisyon sa disenyo ng Bitcoin. Bagama't ang isang solong SHA-256 pass ay itinuturing nang sapat na ligtas para sa maraming aplikasyon, ang "double hash" ay nag-aalok ng karagdagang layer ng proteksyon, lalo na laban sa isang theoretical attack na kilala bilang "length-extension attack."
Sa isang length-extension attack, kung alam ng isang hacker ang hash ng isang mensahe at ang haba ng orihinal na mensahe, maaari silang magdagdag ng data sa orihinal na mensahe at kalkulahin ang hash ng bagong pinahabang mensahe nang hindi nalalaman ang nilalaman ng orihinal na mensahe. Bagama't ang SHA-256 ay karaniwang resistant sa attack na ito sa karamihan ng mga sitwasyon kung saan ang input ay ganap na kontrolado, ang paglalapat nito nang dalawang beses ay epektibong nagpapawala sa vulnerability na ito sa pamamagitan ng paggawa nitong walang kaugnayan sa huling kalkulasyon ng hash. Ang unang hash ay naggugulo sa data, at ang ikalawang hash ay nag-a-hash sa nagulo nang data na ito, kaya napakahirap samantalahin ang anumang potensyal na kahinaan na may kaugnayan sa haba ng mensahe sa proseso ng hashing. Isa itong dagdag na layer ng konserbatibong seguridad.
Praktikal na Aplikasyon: Paano Nagsisilbi ang mga TXID sa Bitcoin Ecosystem
Higit pa sa kanilang teknikal na paglikha, ang mga TXID ay malalim na nakaugat sa praktikal na paggamit ng Bitcoin, nagsisilbi sa maraming kritikal na tungkulin para sa mga user, serbisyo, at sa network mismo.
1. Pag-verify at Pagsubaybay sa mga Blockchain Explorer
Marahil ang pinakakaraniwang paggamit ng isang TXID para sa isang karaniwang user ay ang pagsubaybay sa isang transaksyon. Kapag nagpadala o tumanggap ka ng Bitcoin, madalas kang bibigyan ng TXID. Sa pamamagitan ng paglalagay ng identifier na ito sa anumang pampublikong blockchain explorer (hal. Blockstream.info, Blockchain.com, Mempool.space), maaari mong makita ang:
- Status ng Transaksyon: Kung ito ay kumpirmado, hindi pa kumpirmado, o nasa mempool pa rin.
- Bilang ng Kumpirmasyon: Ilang block na ang na-mine sa ibabaw ng block na naglalaman ng iyong transaksyon. Ang mas maraming kumpirmasyon ay karaniwang nangangahulugan ng mas mataas na finality.
- Mga Input at Output: Kung aling mga address ang nagpadala ng BTC at kung alin ang nakatanggap nito, kasama ang mga partikular na halaga.
- Mga Bayad sa Transaksyon (Fees): Ang halagang ibinayad sa mga miner upang iproseso ang transaksyon.
- Block Height: Ang partikular na numero ng block kung saan isinama ang transaksyon.
Ang kakayahang ito na malayang i-verify ang mga detalye ng transaksyon nang hindi umaasa sa anumang third party ay isang pundasyon ng transparency ng Bitcoin.
2. Katibayan ng Pagbabayad at Audit Trails
Para sa mga negosyo, exchange, o maging sa mga indibidwal, ang isang TXID ay nagsisilbing hindi matatanggihang katibayan ng pagbabayad.
- Mga Exchange: Kapag nagdedeposito ng BTC sa isang exchange, karaniwan mong ibinibigay ang TXID upang ma-verify ng exchange ang papasok na pondo at ma-credit ang iyong account.
- Mga Merchant: Kung magbabayad ka sa isang merchant gamit ang Bitcoin at may naganap na hindi pagkakaunawaan o pagkaantala, ang TXID ay maaaring gamitin upang patunayan na ang bayad ay naipadala na.
- Pag-audit: Para sa mga institusyong pinansyal o layunin ng accounting, ang mga TXID ay nagbibigay ng konkretong link sa mga partikular na paglilipat, na tumutulong sa reconciliation at mga audit trail.
Gumagana ito na parang isang bank reference number ngunit may dagdag na benepisyo ng pagiging pampublikong nabe-verify sa isang immutable na ledger.
3. Pag-uugnay ng mga Transaksyon sa Unspent Transaction Outputs (UTXOs)
Ang Bitcoin network ay gumagana sa isang UTXO model, hindi sa isang account-based model. Kapag tumanggap ka ng Bitcoin, hindi ka nakakakuha ng balanse sa isang account; nakakatanggap ka ng isang UTXO. Kapag gumastos ka ng Bitcoin, gumagamit ka ng isa o higit pang mga UTXO at lumilikha ng mga bago.
Ang bawat input sa isang bagong transaksyon ay dapat tumukoy sa isang umiiral na UTXO. Ang reference na ito ay nabubuo sa pamamagitan ng:
- Ang TXID ng transaksyon na lumikha ng UTXO.
- Ang output index (isang numero na nagpapahiwatig kung aling partikular na output mula sa transaksyong iyon).
Ang sistemang ito ay tinitiyak ang isang tuluy-tuloy na chain ng pagmamay-ari at paggastos. Samakatuwid, ang isang TXID ay hindi lamang isang identifier kundi isang mahalagang bahagi sa pagbuo ng mga bagong transaksyon, na epektibong nag-uugnay sa buong kasaysayan ng mga paglilipat ng Bitcoin.
4. Suporta at Resolusyon ng mga Di-pagkakaunawaan
Kung makaranas ka ng isyu sa isang Bitcoin transaction – marahil ito ay na-stuck, o hindi dumating ang mga pondo gaya ng inaasahan – ang pagbibigay ng TXID sa mga support team (hal. wallet providers, exchanges) ay karaniwang ang unang hakbang sa pag-diagnose ng problema. Agad nitong nililimita ang pokus sa isang iisang partikular na kaganapan sa blockchain.
Pagkakaiba ng mga TXID sa Ibang Blockchain Identifiers
Ang Bitcoin ecosystem ay may ilang uri ng mga identifier, at mahalagang ibukod ang mga TXID mula sa mga kaugnay ngunit magkakaibang konsepto.
- TXID (Transaction ID): Tumutukoy sa isang partikular na transaksyon.
- Block Hash: Tumutukoy sa isang partikular na block sa blockchain. Ang isang block ay naglalaman ng maraming transaksyon, at ang hash nito ay kinakalkula sa block header, na kinabibilangan ng reference sa hash ng nakaraang block, timestamp, nonce, at Merkle root ng lahat ng transaksyon sa loob ng block na iyon. Bagama't gumagamit din ang block hash ng SHA256d, kinakalkula ito sa ibang data.
- Wallet Address: Kinakatawan nito ang isang public key o hash ng isang public key, na nagsisilbing destinasyon para sa mga Bitcoin payment. Ang address ay kung saan maaaring magpadala ng BTC, samantalang ang TXID ay kung ano ang ipinadala.
- Private Key: Isang lihim na numero na nagbibigay-daan sa pag-access at paggastos ng BTC na nauugnay sa isang partikular na address. Ito ang cryptographic key sa iyong mga pondo, na hinding-hindi ibinabahagi nang pampubliko o ginagamit bilang identifier sa blockchain.
Mahahalagang Konsiderasyon at Nagbabagong Aspeto ng mga TXID
Bagama't ang mga TXID ay pundamental, may ilang mga nuances at historikal na kaganapan na humubog sa kung paano sila tinitingnan at ginagamit.
Transaction Malleability at ang Resolusyon Dito
Isang makabuluhang historikal na hamon na may kaugnayan sa mga TXID ay ang "transaction malleability." Bago na-activate ang Segregated Witness (SegWit), ang signature (bahagi ng ScriptSig) sa isang transaction input ay kasama sa data na isinasailalim sa hashing upang mabuo ang TXID. Dahil ang signature ay maaaring bahagyang mabago (malleated) ng isang third party nang hindi nagiging invalid ang transaksyon (hal. sa pamamagitan ng pagbabago sa "S" component ng signature sa negative equivalent nito, na mathematically valid pa rin), ang TXID ng isang transaksyon ay maaaring magbago bago pa ito makumpirma at maidagdag sa isang block.
Nagdulot ito ng mga problema para sa mga serbisyong umaasa sa mga hindi pa kumpirmadong TXID, lalo na para sa "chaining" ng mga unconfirmed transactions (kung saan ang isang transaksyon ay gumagastos ng output ng isa pang unconfirmed transaction). Kung nagbago ang TXID ng unang transaksyon, magiging invalid ang ikalawang transaksyon dahil tumutukoy ito sa isang TXID na hindi na umiiral.
Solusyon ng SegWit: Inayos ng SegWit (BIP141, BIP143, BIP144) ang transaction malleability sa pamamagitan ng paglilipat ng signature (witness data) sa labas ng data na ginagamit upang kalkulahin ang tradisyunal na TXID. Para sa mga SegWit transaction, ang TXID ay kinakalkula lamang mula sa core transaction data (version, inputs, outputs, locktime). Ang witness data ay hiwalay na isinasailalim sa hashing sa isang "wTXID" (witness TXID), na isinasama ang witness data. Ang tradisyunal na TXID para sa mga SegWit transaction ay ligtas na ngayon mula sa malleability dahil ang data na ini-hash nito ay hindi na mababago ng mga third party. Malaki ang ipinagbago nito sa pagiging maaasahan ng pagsubaybay sa mga unconfirmed transaction at nagbigay-daan sa mga bagong feature tulad ng Lightning Network.
Mga Kumpirmasyon at Finality
Ang paglitaw ng TXID sa isang blockchain explorer ay hindi nangangahulugang ang transaksyon ay "pinal" na agad. Ang isang transaksyon ay itinuturing na tunay na hindi na mababago at pinal lamang pagkatapos nitong makatanggap ng sapat na bilang ng mga block confirmation. Bagama't ang TXID mismo ay hindi na nagbabago kapag na-broadcast na ang transaksyon, ang seguridad ng paglilipat ay tumataas sa bawat bagong block na na-mine sa ibabaw ng block na naglalaman ng transaksyon. Ang mga karaniwang pamantayan sa industriya ay nagrerekomenda ng:
- 1 Kumpirmasyon: Madalas nang sapat para sa maliliit na paglilipat ng halaga, nagpapahiwatig na ang transaksyon ay kasama na sa blockchain.
- 3-6 na Kumpirmasyon: Pamantayan para sa karamihan ng mga katamtamang paglilipat ng halaga, binabawasan ang panganib ng "reorg" (kung saan ang isang ibang chain ang nagiging mas mahaba).
- 20+ Kumpirmasyon: Ginagamit para sa mga transaksyong may napakataas na halaga, nag-aalok ng napakataas na seguridad laban sa mga chain reorganization.
Privacy at Pseudonymity
Bagama't nag-aalok ang mga TXID ng transparency, nakakatulong din ang mga ito sa pseudonymous na katangian ng Bitcoin. Ang bawat transaksyon, na tinutukoy ng TXID nito, ay pampublikong nakikita, na nag-uugnay sa mga address ng nagpadala at tumanggap. Bagama't ang mga address na ito ay hindi direktang naghahayag ng tunay na pagkakakilanlan sa totoong mundo, ang mga pattern ng paggastos at sopistikadong pagsusuri ay maaaring minsan ay mag-de-anonymize sa mga user. Samakatuwid, ang mga TXID ay parang tabak na may dalawang talim: nagbibigay ng transparency para sa network ngunit nangangailangan sa mga user na maging maingat sa kanilang financial privacy.
Ang Nagbabagong Larangan
Ang pundamental na paraan ng pagbuo ng TXID (double SHA-256 ng serialized transaction data) ay napakalabong magbago para sa core protocol ng Bitcoin dahil sa mahalagang papel nito at sa pagbibigay-diin ng network sa backward compatibility at stability. Gayunpaman, habang nagbabago ang mga structure ng transaksyon (hal. gamit ang Taproot, mga BIP para sa mga bagong script type), ang eksaktong nilalaman ng serialized data na isinasailalim sa hashing ay maaaring makakita ng maliliit na pagsasaayos o karagdagan, na palaging may maingat na konsiderasyon para sa integridad ng TXID. Ang TXID ay nananatiling immutable, nabe-verify, at natatanging digital na resibo sa gitna ng bawat paglilipat ng Bitcoin.