Stealth Addresses ng Monero: Paano Gumagana
Stealth Addresses ng Monero: Paano Gumagana ang Lihim na Address
Kung ipa-paste mo ang iyong Monero wallet address sa isang block explorer, hindi mo makikita ang iyong mga papasok na transaksyon. Hindi ito bug o nawawalang index — talagang hindi maiuugnay ng explorer ang iyong address sa mga output na pag-aari mo. Sa likod ng kakaibang asal na ito ay nakatago ang isa sa mga pinakaeleganteng piraso ng applied cryptography sa kahit anong cryptocurrency: ang stealth address. Sa 2026, kung saan ang mga chain-surveillance firm tulad ng Chainalysis at TRM Labs ay hayag na umaaming hindi pa rin nila kayang tiyakin na masubaybayan ang mga tumatanggap ng Monero, ang stealth addresses ay nananatiling tahimik na haligi na nagprotekta sa bawat XMR user — mula sa retail buyer na gumagamit ng MoneroSwapper hanggang sa isang mamamahayag sa Maynila na tumatanggap ng donasyon mula sa kanyang mga mambabasa. Sa artikulong ito, ibubuyangyang natin nang malinaw kung ano ang stealth addresses, paano sila nabubuo, bakit ang bawat transaksyon ay lumilikha ng isang natatanging one-time output, at kung ano ang kanilang ipinoprotekta at hindi ipinoprotekta.
Bakit Ang Receiver Privacy ang Pinakamahirap na Suliranin sa Crypto
Nalutas ng Bitcoin ang problema ng decentralized consensus, ngunit halos hindi nito hinipo ang receiver privacy. Kapag nagpadala si Alice kay Bob ng 0.1 BTC, nakikita ng buong mundo na nadagdagan ng 0.1 BTC ang address ni Bob. Kung muling gamitin ni Bob ang address na iyon, magkakaugnay na ang bawat nakaraan at hinaharap na bayad. Ang mga heuristic tulad ng common-input-ownership at address clustering ay ginawa ang Bitcoin na isa sa pinakamadaling subaybayang sistemang pinansyal na nailikha kailanman — isang 2025 na pag-aaral mula sa IMDEA Networks Institute ang nagpakita na mahigit 71% ng mainstream Bitcoin wallets ay maaaring i-deanonymize gamit lamang ang public on-chain data, nang walang anumang KYC leak.
Kabaligtaran ang pinipili ng Monero: ang bawat output ay dapat na hindi maiuugnay sa public address na tumanggap nito. Tatlong haligi ang nag-eenforce nito:
- Stealth addresses ang nagtatago sa tumatanggap — walang nakakakita na masasabi kung aling output ang sa aling public address.
- Ring signatures at CLSAG ang nagtatago sa nagpadala — ang totoong gumastos ay nakalibing sa 15 decoy.
- RingCT at Bulletproofs+ ang nagtatago sa halaga — ang nagpadala at tumatanggap lamang ang nakakaalam kung magkano ang naipadala.
Ang stealth addresses ang receiver-side na binti ng tripod na ito. Kung wala sila, ang ring signatures lamang ay magtatapon pa rin ng impormasyon tungkol sa destinasyon, at babagsak ang buong privacy guarantee. Sila rin ang dahilan kung bakit maaari mong ligtas na ipaskil ang iyong Monero public address sa isang website, i-print sa isang business card, o ibahagi sa libu-libong donor: gaano man karaming bayad ang dumating dito, ang bawat isa ay lumilikha ng isang sariwa at hindi matematikong magkaugnay na output sa blockchain.
Ang Math: Paano Nabubuo ang Isang Stealth Address
Ang Monero public address ay hindi isang hash tulad sa Bitcoin. Ito ay ang pagdurugtong ng dalawang elliptic-curve public keys sa Ed25519 curve: isang public spend key (capital B) at isang public view key (capital A). Ang katumbas na private keys ay maliit na b at maliit na a. Kapag may gustong magpadala sa iyo ng XMR, hindi inilalagay ng kanyang wallet ang iyong address sa transaksyon — sasalungatin nito ang buong layunin. Sa halip, isinasagawa nito ang sumusunod na kalkulasyon.
Hakbang 1: Bumubuo ang nagpapadala ng random transaction key
Ang nagpapadalang wallet ay kumukuha ng bagong random scalar r para sa bawat transaksyon. Mula rito, nakukuha nito ang transaction public key na R = r·G, kung saan ang G ay ang Ed25519 base point. Ang R ay isinasapubliko sa plaintext sa extra field ng transaksyon, ngunit mag-isa, wala itong sinasabi tungkol sa tatanggap.
Hakbang 2: Kalkulahin ng nagpapadala ang shared secret
Gamit ang iyong public view key na A mula sa iyong wallet address, kinakalkula ng nagpapadala ang shared secret na r·A. Ito ay isang klasikong Diffie-Hellman exchange sa curve. Dahil sa simetriya ng operasyon, ikaw — at ikaw lamang — ang makakapag-recompute ng parehong halaga bilang a·R gamit ang iyong private view key. Walang ibang tao sa network ang makakagawa nito, dahil walang ibang may hawak ng a.
Hakbang 3: Nakukuha ng nagpapadala ang one-time output key
Ang one-time public key na P na aktwal na lumilitaw sa blockchain ay kinakalkula bilang:
P = Hs(r·A || i)·G + B
Dito, ang Hs ay isang keccak-based scalar hash, ang i ay ang output index sa loob ng transaksyon (kaya ang mga multi-output na transaksyon ay nakakabuo pa rin ng mga natatanging keys), at ang B ay ang iyong public spend key. Ang output na P ang inire-record sa blockchain bilang destinasyon. Mukha itong ordinaryong 32-byte na key, hindi maiibang tingnan kumpara sa kahit anong ibang output sa kahit anong ibang transaksyon. Mas mahalaga, ang P ay isang sariwa at hindi pa nakikitang punto sa curve — kahit pa magbayad ang parehong nagpapadala sa parehong tatanggap ng isang libong beses, magkakaiba ang bawat output.
Hakbang 4: Nag-scan at nadedetect ng tatanggap ang pagmamay-ari
Dini-download ng iyong wallet ang bawat block at, para sa bawat output, kinakalkula nito ang Hs(a·R || i)·G + B at sinusuri kung tumutugma ang resulta sa on-chain na P. Kung oo, ang output ay sa iyo. Ito ang dahilan kung bakit mukhang mabagal ang Monero wallet sync sa mga mobile na device: kailangang i-test ng wallet ang bawat kamakailang output laban sa iyong view key. Ito rin ang dahilan kung bakit sapat na ang view key mag-isa upang matukoy ang mga papasok na transaksyon nang hindi nagbibigay ng anumang kapangyarihan na gumastos — kaya nitong i-compute ang shared secret ngunit hindi nito kayang i-derive ang one-time private key na kailangan upang gumastos.
Upang aktwal na magastos ang output, pinagsasama mo ang iyong private spend key na b sa parehong hash upang makabuo ng one-time private key na x = Hs(a·R || i) + b, na tumutugma sa P. Kung wala ang b, walang dami ng view-key data ang magpapahintulot sa kaninuman na ilipat ang mga pondo. Ang malinis na paghihiwalay na ito ang nagpapahintulot sa mga auditor, accountant, o tax software (tulad ng ginagamit para sa BIR filings sa Pilipinas) na bigyan ng read-only access sa isang Monero wallet nang walang anumang panganib sa pagkagastos.
Stealth Addresses kumpara sa Subaddresses at Integrated Addresses
Tatlong magkakaugnay na receiver-side construct ang isinama ng Monero. Madalas silang ipagkamali, kahit ng mga sanay na user, kaya nakakatulong na isalansan sila nang magkatabi.
| Konstruksyon | Ano ito | Kailan gagamitin | Trade-off sa privacy |
|---|---|---|---|
| Stealth address (one-time output) | Awtomatikong nagagawa sa bawat transaksyon; hindi maaaring magamit muli | Bawat transaksyon — hindi nakikita ng user | Wala — ito ang baseline |
| Subaddress | Deterministikong "anak" ng iyong pangunahing address; pinahihintulutan ang isang wallet na magkaroon ng maraming malayang receiving label | Per-customer invoicing, donation tracking, exchange deposits | Bawat subaddress ay hindi maiuugnay sa iba at sa pangunahing address ng mga panlabas na nagmamasid |
| Integrated address | Pangunahing address kasama ang naka-encrypt na 64-bit payment ID | Legacy — pinalitan ito ng karamihan sa mga serbisyo ng subaddresses noong 2018–2019 | Naka-encrypt ang payment ID sa chain pero nagdadagdag pa rin ng metadata; deprecated na para sa bagong integrations |
| View key | Private key na maaaring mag-scan ngunit hindi makakagastos | Audits, tax reporting (BIR), watch-only wallets | Ipinapasa sa may hawak ang buong receive visibility — ibahagi nang maingat |
Ang mahalagang punto: ang stealth address generation ay nangyayari sa antas ng protocol, awtomatiko, para sa bawat output, anuman ang destinasyon — pangunahing address man, subaddress, o integrated address. Hindi mo kailanman tinatype ang isang stealth address dahil hindi mo kailanman ito nakikita — kinukuha ito ng wallet mula sa kung anong address ang ipinakopya ng nagpapadala.
Hakbang-hakbang: Tunay na Bayad mula sa Nagpadala Patungo sa Tumanggap
Halimbawa, bumibili ka ng privacy-respecting hosting mula sa isang vendor na tumatanggap ng XMR. Narito ang nangyayari sa pagitan ng sandaling pinindot mo ang "send" at ng sandaling makita ng merchant ang balanse.
- Ipi-paste mo ang pangunahing address o subaddress ng merchant (ang mahabang string na nagsisimula sa 4 o 8) sa send dialog ng iyong wallet at ilalagay mo ang halaga.
- Ang iyong wallet ay bumubuo ng random transaction private key na r at kinakalkula ang R = r·G. Ang R ay ang transaction public key na susunod sa transaksyon.
- Para sa bawat output ng tatanggap, nakukuha ng wallet ang one-time stealth address na P = Hs(r·A || i)·G + B gamit ang view at spend public keys ng tatanggap. Ang change output pabalik sa sarili mo ay nabubuo sa parehong paraan gamit ang sarili mong mga key.
- Ang wallet ay pumipili ng 15 decoy output ng parehong denomination class mula sa nakaraang mga block at bumubuo ng CLSAG ring signature kaya't kahit alin sa 16 na kandidato ay maaaring siyang totoong gumastos.
- Ang mga halaga ay naka-encrypt gamit ang Diffie-Hellman shared secret, at ang Bulletproofs+ range proofs ang nagpapatunay na lahat ng halaga ay positibo nang hindi ipinapakita ang mga ito.
- Ang transaksyon ay ina-broadcast sa pamamagitan ng Dandelion++ upang itago ang pinagmulang IP mula sa mga nagmamasid sa network.
- Kapag na-mine na, ang wallet ng merchant ay nag-scan sa block, kinakalkula ang shared secret na a·R para sa bawat R value ng transaksyon, sinusubukan kung tumutugma ang mga derived na P sa mga output sa transaksyon, at tahimik na inire-credit ang balanse.
Ang buong cycle ay tumatagal ng humigit-kumulang 20 segundo ng kalkulasyon kasama ang average na 2 minutong block time. Mula sa labas, ang transaksyon ay mukhang katulad ng bawat ibang Monero transaction sa chain: parehong size class, parehong ring size, parehong istraktura ng patunay. Walang paraan para sa isang third party — exchange, ISP tulad ng PLDT o Globe, blockchain analyst — na tumingin sa chain at matukoy na ang merchant ay nakatanggap ng pondo, ano pa kaya kung magkano.
Maaaring i-publish ng merchant ang parehong Monero address sa bawat pahina ng kanyang website sa loob ng sampung taon at hindi makompromiso ang kanyang privacy — bawat bayad ay lumalapag sa isang sariwa, hindi maiuugnay na one-time output na hindi iniuugnay ng blockchain sa public address.
Ano ang Hindi Pinoprotektahan ng Stealth Addresses
Ang cryptographic privacy ay kailangan ngunit hindi sapat. Pinoprotektahan ng stealth addresses ang on-chain linkability, ngunit hindi sila makakaprotekta laban sa mga pagkakamali o out-of-band na leaks. Ang pag-alam sa limitasyon ay bahagi ng tamang paggamit ng kagamitan.
- KYC sa on-ramp: Kung bibili ka ng XMR mula sa isang sentralisadong exchange na nag-verify ng iyong pagkakakilanlan (tulad ng PDAX o Coins.ph na rehistrado sa BSP), alam ng exchange ang R value ng iyong withdrawal transaction. Hindi nila makikita kung saan mo dinala ang barya pagkatapos, ngunit mayroon silang malakas na panimulang punto. Ang paggamit ng no-KYC swap service tulad ng MoneroSwapper ay umiiwas sa pagtatanim ng ugat na iyon sa simula pa lamang.
- Off-chain na pag-uulit ng address: Pinipigilan ng stealth addresses ang on-chain linkage, ngunit kung ipo-post mo ang parehong pangunahing address sa Twitter, sa iyong GitHub, at sa isang forum post, makakapag-correlate ang sinuman ng iyong mga totoong identidad kahit hindi nila makaugnay ang iyong mga transaksyon.
- View-key leaks: Kung ibinahagi mo ang isang view key para sa pag-audit at ang makina ng auditor na iyon ay later na-compromise, bawat nakaraang at hinaharap na papasok na transaksyon sa wallet na iyon ay magiging kitang-kita sa attacker. Gumamit ng dedikadong wallet para sa anumang view-key audit.
- Pag-infer sa pamamagitan ng timing at halaga: Ang isang surveillance entity na kumokontrol sa parehong exchange at merchant ay hindi maaaring iugnay ang on-chain output, ngunit maaari nilang i-correlate ang timing at tinatayang halaga ng isang withdrawal sa kasunod na bayad. Ito ang dahilan kung bakit inirerekomenda ng Monero na hintaying may hindi bababa sa 10 confirmation (mga 20 minuto) bago ituring na pinal ang pondo, at kung bakit hindi dapat maging natatanging fingerprint ang halaga ng bayad (iwasang magpadala ng 0.12345678 XMR kung ang invoice ng merchant ay 0.12345678 PHP).
- IP-level metadata: Ang stealth addresses ay nabubuhay sa cryptographic layer. Ang network-level na privacy ay ibinibigay ng Dandelion++ at malakas na pinabubuti ng pagpapatakbo ng iyong sariling node sa Tor o I2P. Ang isang wallet na nagde-default sa isang remote node na pinapatakbo ng ikatlong partido ay magtatapon ng iyong IP-to-wallet linkage sa operator ng node na iyon.
Praktikal na Halimbawa: Pagtanggap ng Donasyon nang Hindi Kilala
Isaalang-alang ang isang independent na mamamahayag na nagsusulat sa isang leak-disclosure blog sa huling bahagi ng 2025 sa Pilipinas. Nais niyang tumanggap ng donasyon mula sa mambabasa nang hindi ina-dox ang kanyang mga donor o ang kanyang sarili. Narito ang kanyang workflow:
Inilathala niya ang isang Monero pangunahing address sa footer ng kanyang website, sa kanyang PGP-signed bio, at sa ibaba ng bawat artikulo. Sa loob ng anim na buwan, nakatanggap siya ng 412 donasyon mula sa 0.001 hanggang 4.3 XMR. Sa blockchain, walang sinuman sa mga bayad na ito ang maaaring iugnay sa kanyang inilathalang address. Walang maaaring iugnay sa isa't isa. Ang mga block explorer tulad ng xmrchain.net ay nagpapakita ng 412 transaksyon sa 412 magkakaibang one-time output na nakakalat sa libu-libong blocks, na walang maaaring i-cluster.
Kapag gusto niyang i-convert ang isang bahagi sa fiat para sa pang-araw-araw na gastos, hindi niya ipinapadala ang barya sa isang KYC exchange — magbubuo iyon ng paper trail na mag-uugnay sa aktibidad ng kanyang wallet sa kanyang pagkakakilanlan. Sa halip, gumagamit siya ng no-KYC swap upang i-convert ang XMR sa isang privacy-respecting stablecoin o sa BTC na pagkatapos ay ginagastos niya sa isang non-custodial channel. Mula simula hanggang dulo, walang sentralisadong tagapamagitan ang may rekord ng relasyon sa pagitan ng kanyang nakapaskil na address at ng kanyang totoong identidad. Ito ang threat model na pinagdisenyuhan ng stealth addresses, at ito ang threat model na sinusubukang palawakin ng no-account-required swap flow ng MoneroSwapper, sa pamamagitan ng pagsisigurong ang mga entry at exit point sa Monero ay hindi mismo nagiging vector ng deanonymization.
Ang Hinaharap: FCMP++ at Ano ang Mababago Para sa Stealth Addresses
Ang stealth address derivation ay bahagi ng Monero mula sa orihinal na 2014 papel ng CryptoNote at hindi pa pundamental na nagbabago sa loob ng higit sa isang dekada. Ang nagbabago sa 2026 at sa mga susunod na taon ay ang sender-side privacy layer. Ang Full-Chain Membership Proofs (FCMP++), na inaasahang ma-activate sa isang hard fork sa loob ng 2026, ay papalitan ang kasalukuyang 16-member ring signature ng isang zero-knowledge proof na ang ginastos na output ay isa sa bawat karapat-dapat na output na nalikha sa chain — sa praktika, isang anonymity set na sampu-sampung milyon sa halip na 16 lamang.
Para sa stealth addresses, hindi nagbabago ang math. Ang isang one-time output ay kinukuha pa rin bilang P = Hs(r·A || i)·G + B. Nag-scan pa rin ang tumatanggap sa pamamagitan ng pag-compute ng a·R. Ang nagbabago ay kapag ginastos ng tumatanggap ang output na iyon, ang patunay na pag-aari niya ito ay hindi na kailangang ituro sa 15 partikular na decoy. Kasama ang Seraphis at ang Jamtis address format sa mas mahabang roadmap, ang stealth addresses ay magiging mas flexible: ipinapakilala ng Jamtis ang address tags na nagpapahintulot sa mga lightweight wallet na mag-scan nang mas mahusay nang hindi pinapahina ang garantiya ng unlinkability. Ang pattern ng matematikong pananaliksik na nagiging deployed na privacy ay isa sa mga dahilan kung bakit nananatili ang Monero bilang reference implementation para sa receiver privacy sa 2026.
FAQ
Maaari bang makita ng iba kung magkanong XMR ang natanggap ng aking address?
Hindi. Hindi tulad sa Bitcoin, kung saan publikong nakikita ang balanse ng kahit anong address, ang Monero main address ay walang on-chain na balanse. Ang mga balanse ay kinakalkula ng wallet ng may-ari sa pamamagitan ng pag-scan ng mga output na tumutugma sa stealth address derivation. Ang isang ikatlong partido na may iyong public address lamang ay hindi malalaman kung ilang transaksyon ang iyong natanggap, kung magkano, o kailan.
Ligtas bang muling gamitin ang parehong Monero address?
Oo, sa teknikal na paraan. Ang bawat bayad sa parehong address ay nakakabuo pa rin ng natatanging on-chain stealth address, kaya hindi nauugnay ang mga transaksyon. Gayunpaman, para sa accounting at operational privacy, magandang ugali na bumuo ng subaddress para sa bawat counterparty upang, kung ikaw ay magbahagi ng view key o kung ang isang counterparty ay ma-compromise, ang pagkalantad ay limitado lamang sa subaddress na iyon.
Ano ang pagkakaiba ng view key at stealth address?
Ang view key ay isang private key na pag-aari ng iyong wallet at nagpapahintulot sa may hawak na matukoy ang mga papasok na bayad sa pamamagitan ng pag-recompute ng stealth address derivations. Ang stealth address ay ang on-chain na one-time output na tinutulungan kang hanapin ng view key. Binabasa ng view key ang mga ito; hindi nito sila ginagawa.
Ginagawa bang quantum-resistant ng stealth addresses ang Monero?
Hindi. Ang stealth addresses ay umaasa sa discrete-log assumption sa Ed25519 curve, na maaaring sirain ng sapat na malaking quantum computer gamit ang algorithm ni Shor. Mayroong maraming post-quantum na panukala ang research lab ng Monero sa long-term roadmap, kabilang ang mga lattice-based na kapalit sa kasalukuyang scheme, ngunit wala pang naka-deploy sa 2026. Para sa mga threat model na kasama ang kapani-paniwalang quantum adversary, hindi nakakatulong ang stealth addresses.
Kung magpapadala ako sa aking sarili ng XMR, ang aking sariling wallet ba ay bumubuo ng stealth address?
Oo. Bawat output — kahit ang sukli na bumabalik sa nagpapadala — ay isang stealth address na nakuha mula sa iyong sariling view at spend keys. Ito ang dahilan kung bakit ang iyong change outputs ay hindi rin nauugnay sa iyong pangunahing address, at kung bakit ang isang sariwang wallet na nagsagawa lamang ng isang self-send ay mukhang dalawang malayang tatanggap sa blockchain.
Maaari bang pilitin ng korte o subpoena ang isang stealth address na ihayag ang may-ari?
Walang partido na may on-chain data lamang ang makakapag-map ng stealth address pabalik sa public address nang walang view key. Maaaring pilitin ng subpoena ang may-ari ng wallet (kung kilala) na ihayag ang kanyang view key, ngunit hindi nito mapipilit ang network o anumang ikatlong partido na magsagawa ng reverse derivation, dahil sa matematikang hindi umiiral ang ganoong derivation.
Konklusyon
Ang stealth addresses ang tahimik na kalahati ng privacy ng Monero. Ang ring signatures at RingCT ang madalas mapag-usapan dahil pinoprotektahan nila ang nagpadala at ang halaga, ngunit kung walang per-transaction na one-time output keys, mga depensang ito ay walang laman — magtatapon pa rin ng impormasyon ang destinasyon, at iku-cluster pa rin ng chain analysis ang mga tatanggap. Ang nakuhang tama ng CryptoNote noong 2014, at ang dinala ng Monero sa loob ng sampung taon ng pag-upgrade, ay ang pagkilala na ang receiver privacy ay istruktural, hindi opsyonal: kailangan itong nakatatak sa bawat transaksyon, awtomatiko, nang hindi nangangailangan ng pag-opt in ng user. Ang istrukturang pagpipilian na iyon ang dahilan kung bakit ligtas na maipost ang isang XMR donation address sa paraang hindi ligtas ang pagpost ng BTC donation address.
Kung galing ka sa Bitcoin at gusto mong magamit ang katangiang ito, ang pinakamalinis na unang hakbang ay ang pagkuha ng kaunting XMR nang hindi gumagawa ng identity-linked entry point. Pinahihintulutan ka ng MoneroSwapper na mag-swap ng BTC, ETH, LTC, USDT, at isang dosenang iba pang asset sa Monero nang walang account, walang KYC, at walang nakaimbak na log na maaaring sumira sa mismong privacy guarantees na inilarawan sa itaas. Kapag lumapag na ang iyong mga barya sa iyong sariling wallet, ginagawa na ng stealth addresses ang natitirang trabaho nang awtomatiko — ang bawat bayad na matatanggap mo ay hindi maiuugnay sa bawat isa, at ang tanging tao na maaaring magpatunay ng pagmamay-ari ng kahit alin sa kanila ay ikaw.
🌍 Basahin sa