Skip to content

རྣམ་རྟོག་ཅན་གྱི་ཚོང་འབྲེལ་ཚུ་

Iroha ནང་གི་མིང་མ་ཤེསཔ་གི་ཚོང་འབྲེལ་ཚུ་ གསང་བའི་ རྒྱུ་དངོས་ལག་ལེན་ལས་ བཟོ་ཡོདཔ་ཨིན། མི་མང་གི་རྩིས་ཁྲ་ལས་རྩིས་ཁྲ་ལུ་ བསྒྱུར་བཅོས་ཚུ་ public amounts སྦེ་བྲིས་མི་ཚབ་ལུ་ wallet གིས་ གནས་གོང་འདི་ shielded ledger ལུ་སྤོ་བཞག་འབད་ཞིནམ་ལས་ དྭངས་གསལ་མེད་པའི་ཡིག་ཆ་ཚུ་དང་ zero knowledge proofs དང་གཅིག་ཁར་བླུགས་འོང་།

མི་མང་གི་རྩིས་དེབ་ནང་ གསང་བའི་ལག་ལེན་ཅིག་བྱུང་ཡོདཔ་སྦེ་ ཐོ་བཀོད་འབད་དོ་ཡོདཔ་ཨིན། འདི་ནང་ལུ་ ཁས་བླངས་དང་ ཆ་མེད་གཏང་མི་ཚུ་ བརྟག་དཔྱད་ཧེཤ་དང་བྱུང་རྐྱེན་ཚུ་ ཐོ་བཀུད་འབད་དོ་ཡོདཔ་ཨིན་རུང་ འདི་ནང་ལུ་ ཡིག་ཚང་གི་ཇོ་བདག་དང་ མཁོ་སྤྲོད་འབད་མི་ དེ་ལས་ ཟད་འགྲོ་ཚུ་གི་དོན་ལུ་ གཏན་འཁེལ་གྱི་གནས་ཚད་མ་འབྲི་དོ། སྤྱིར་བཏང་ཚོང་འབྲེལ་གྱི་ཁེབས་ནང་ལུ་ བཏང་མི་རྩིས་དེ་ གསལ་སྟོན་འབད་ཚུགས་པས། འདི་འབདཝ་ལས་ "ཨན་ནོ་མིསི་" ཟེར་བའི་དོན་དག་འདི་ རང་བཞིན་གྱི་དྲ་ལམ་གི་གནས་ཚད་ ཡང་ན་རྩིས་ཁྲའི་གནས་ཚད་ཀྱི་མིང་མ་ཤེསཔ་སྦེ་མེན་པའི་ རྒྱུ་དངོས་ཚུ་ སྤོ་བཤུད་འབད་ནི་ཨིན།

བཟོ་སྐྲུན་གྱི་ཅ་ཆས་ཚུ་

མནོ་བསམ་བཟོ།Ledger representation
ཟུར་ཡིག་སྲུང་སྐྱོབ་འབད་སྒེར་གྱི་དངུལ་ཁུག་གི་ཐོ་ཡིག་ནང་ལུ་ རྒྱུ་དངོས་ཅིག་དང་ དངུལ་ཀྲམ་ དེ་ལས་ བདག་འཛིན་འཐབ་མི་གི་གནས་སྡུད་ཚུ་ དེ་ལས་ གོ་སྐབས་མེད་པའི་གནས་སྡུད་ཡོདཔ་ཨིན།
ཁས་བླངས་བི་ཊ་༣༢ འབད་མི་ མི་མང་གི་གོང་ཚད་འདི་ ས་ཁོངས་ཚུ་མངོན་སུམ་སྦེ་མ་སྟོན་པར་ ཐོ་བཀོད་འབད་ཡོདཔ་ཨིན།
རྩ་མེད་གཏང་ཐབས།བི་ཊ་༣༢ འབད་མི་ མི་མང་གི་གོང་ཚད་ཅིག་ དངུལ་རྩིས་བཏོན་པའི་སྐབས་ཐོབ་ཨིན། Iroha འདི་ཡང་ ལོག་སྟེ་ར་ ཆ་མེད་གཏང་མི་ཚུ་ བཀག་ཐབས་འབད་ནིའི་དོན་ལུ་ ལག་ལེན་འཐབ་མ་བཏུབ་ཨིན།
Merkle rootརྒྱུ་དངོས་ཚུ་གི་ ཁས་བླངས་ཤིང་གི་ ཉེ་འདབས་ལུ་ཡོད་པའི་ ར་ཏོ་ཅིག་ཨིན། དཔྱད་བརྗོད་འདི་ ལག་ལེན་འཐབ་སྟེ་ བཀྲམ་སྤེལ་འབད་ཡོད་མི་ ཡིག་ཆ་ཚུ་ འབྱུང་ཡོདཔ་ཨིན་ཟེར་སྟོན་འབདཝ་ཨིན།
གྲུབ་རྟགས་ཚུ་ProofAttachment འདི་ནང་ལུ་ བརྟག་དཔྱད་ཀྱི་པི་ཊ་དང་ དངོས་འཛིན་ལྡེ་མིག་གི་ངོ་རྟགས་ ཡང་ན་ ནང་ཐིག་ནང་ཡོད་པའི་ དངོས་ལེན་ལྡེ་མིག་ཚུ་ཡོདཔ་ཨིན།
གནད་དོན་ཁག་ཆེ་ཤོས་གནད་དོན་སྦོམ་ཅིག་ དཔེར་ན་ ConfidentialEvent::Shielded, Transferred, ཡང་ན་ Unshielded ཨིན།

ལམ་སྟོན་ངོ་མ་འདི་ འདི་ཚུ་ཨིན།

  • RegisterZkAsset: རྒྱུ་དངོས་ཅིག་ལུ་ ZK ཚད་ལྡན་སྦེ་ ཐོ་བཀོད་འབད་ཞིནམ་ལས་ བརྗེ་སོར་དང་ གཏན་འཁེལ་ དེ་ལས་ གཏན་འཁོགས་མེད་པའི་ གཏན་འཁུར་གྱི་ལྡེ་མིག་ཚུ་ མཐུན་རྐྱེན་འབདཝ་ཨིན།
  • Shield: གཞུང་གི་དངུལ་ཁང་ཚུ་ནང་ གཏན་འཁེལ་སྤྲོད་ནི་ཨིནམ་མ་ཚད་ དངུལ་ཤོག་ཚུ་གི་དོན་ལུ་ ཁས་བླངས་འབད་དོ་ཡོདཔ་ཨིན།
  • ZkTransfer: ཟད་འགྲོ་ཕོགཔ་དངུལ་ཁུག་ཚུ་ ཟད་འགྲོ་བཏང་མི་དངུལ་ཁོག་གསརཔ་ལུ་ བསྡུ་ལེན་འབད་ཡོདཔ་ཨིན།
  • Unshield: ཟད་འགྲོ་དངུལ་ཁང་དང་ དངུལ་རྩིས་ལྷན་ཁག་གི་རྒྱབ་སྐྱོར་ཚུ་ བཏང་དོ་ཡོདཔ་ཨིན།
  • ScheduleConfidentialPolicyTransitionདང་ CancelConfidentialPolicyTransition: སྲིད་སྐྱོང་གི་ཐོག་ལས་ རྒྱུ་དངོས་ཚུ་གི་ གསང་བའི་སྲིད་བྱུས་ལུ་འགྱུར་བཅོས་འབད་ཡོདཔ་ཨིན།

རྒྱུ་དངོས་གི་འགྲེལ་བཤད་ནང་ལུ་ AssetConfidentialPolicyཡང་ཡོདཔ་ཨིན། སྲིད་བྱུས་ཀྱི་གནས་སྟངས་ལུ་ བལྟ་རྟོག་འབད་མི་དེ་ རྒྱུན་འགྲུལ་འཐབ་ནི་ཚུ་ཨིན།

ཐབས་ལམ་དོན་དག་
TransparentOnlyསྤྱིར་བཏང་གཞུང་གི་དངུལ་ཀྲམ་དང་ བསྐྱིན་འགྲུལ་ཚུ་རྐྱངམ་ཅིག་ ཆ་འཇོག་འབད་ཡོདཔ་ཨིན།
Convertibleལག་ལེན་འཐབ་མི་ཚུ་གིས་ གཞུང་གི་དངུལ་རྩིས་དང་ ཟིན་བྲིས་ཚུ་གི་བར་ན་ གནས་གོང་སྤོ་བཤུད་འབད་ཚུགས།
ShieldedOnlyརྒྱུ་དངོས་ཀྱི་ཕྱིར་བཏོན་དང་ བརྗེ་སོར་ཚུ་ ཉེན་སྲུང་ཅན་གྱི་རྩིས་དེབ་ནང་བཞག་དགོཔ་ཨིན།

ལག་ལེན་འཐབ་ནི་གི་ཐབས་ལམ་

  1. གསང་བའི་ རྒྱབ་སྐྱོར་འདི་ བདེན་ཁུངས་སྐྱེལ་འཕྲུལ་ཆས་ཀྱི་ཨེབ་རྟ་ཚུ་ནང་ལུ་ རྩ་སྒྲིག་འབད་བཅུགཔ་ཨིན། ཨེབ་རྟ་ཚུ་གིས་ བདེན་དཔྱད་འཕྲུལ་ཆས་གི་རྒྱབ་ཐུག་ལུ་ གྲོས་བསྟུན་འབད་དགོཔ་ཨིན། སྲིད་འཛིན་གྱི་ལྡེ་མིག་ལག་ལེན་འཐབ་སྟེ་ བདེན་དཔྱད་འབད་ནི་དང་ Poseidon/Pedersen ཚད་གཞི་ IDs དེ་ལས་ གསང་བ་ཅན་གྱི་ཁྲིམས་ལུགས་ཀྱི་བཟོ་བཀོད་གུ་ གྲོས་འཆམ་བཟོ་དགོ། ཨེབ་རྟ་དེ་མཐུན་མེད་མི་ གསང་བ་ཅན་གི་ཁྱད་ཆོས་ཚུ་ཡོད་མི་ དངོས་པོ་ཚུ་ ཡང་ན་ མཚམས་སྦྱོར་ཚུ་ ཆ་མེད་གཏང་དགོ།
  2. ཕྲང་ལམ་ཚུ་གིས་ལག་ལེན་འཐབ་མི་ བརྟག་དཔྱད་ལྡེ་མིག་དང་ གནས་ཚད་ཀྱི་སྡེ་ཚན་ཚུ་ དཔར་བསྐྲུན་འབད་ནི་དང་ ཐོ་བཀོད་འབད་དགོཔ་ཨིན། Wallet དང་ ལག་ལེན་པ་ཚུ་གིས་ VerifyingKeyId ལུ་ལྡེ་མིག་ཚུ་ཁ་སྐོང་འབད་དགོ་ དཔེར་ན་ halo2/ipa:vk_transfer.
  3. རྒྱུ་དངོས་དེ་ ZK-ལུ་ཆ་བཞག་ཚུགསཔ་སྦེ་ RegisterZkAsset ལུ་ ཐོ་བཀོད་འབད་ནི་དང་ ཡང་ན་ སྲིད་བྱུས་ཀྱི་གནས་སྟངས་འདི་ TransparentOnly ལས་ Convertible သို့မဟုတ် ShieldedOnly ལུ་ བསྒྱུར་བཅོས་འབད་ནི་ཨིན།
  4. མི་མང་གི་དངུལ་ཕོགས་ཚུ་ Shield ལུ་སྲུང་སྐྱོབས་འབད་ཡོདཔ་ཨིན། དངུལ་ཁུག་དེ་ བགོ་བཀྲམ་མ་འབད་བའི་ཧེ་མར་ མཁོ་སྤྲོད་कर्ताགི་དོན་ལུ་ཡིག་ཚང་གི་འགན་ཁུར་དང་ གསལ་བཀོད་ཅན་གྱི་ ཁེ་ཕན་མཁོ་ཆས་ཚུ་བཟོ་འོང་།
  5. ZkTransferདང་གཅིག་ཁར་ སྒེར་གྱི་ཐོག་ལས་སྤེལ་འབདཝ་ཨིན། བརྒྱུད་འཕྲིན་འདི་ནང་ཐོ་བཀོད་འབད་ཡོད་པའི་རྟགས་མཚན་བཟོ་དོ་ཡོདཔ་དང་ ཐོ་བཀོད་དང་ཐོན་སྐྱེད་གི་གོང་ཚད་ཚུ་ཆ་མཉམ་ཡོད་མི་དེ་ དེ་ལས་ ཟད་འགྲོ་གཏང་མི་ཐོ་བཀོད་ཀྱི་ཐོ་ཡིག་རེ་ཡང་ འཕྲལ་ཁམས་ཅིག་ཁར་ ཁས་བླངས་ཀྱི་ཤིང་ནང་ལུ་བཙུགས་བཞགཔ་ཨིན་ཟེར་ཨིན་མས།
  6. དངུལ་རྐྱང་གི་སྲིད་བྱུས་དེ་གིས་ དེ་གི་དོན་ལུ་ གོ་སྐབས་ཡོད་པ་ཅིན་རྐྱངམ་གཅིག་ ཕྱིར་བཏོན་འབདཝ་ཨིན། Unshieldགིས་ མི་མང་གི་དངུལ་ཀྲམ་དང་ སྤྲོད་མི་ཚུ་གི་རྩིས་ཁྲ་ཚུ་ གསལ་སྟོན་འབད་དོ་ཡོདཔ་མ་ཚད་ སྒེར་གྱི་ཡིག་ཆ་རྩ་མེད་གཏང་མི་དེ་ཡང་ བགོ་བཀྲམ་འབད་དོ་ཡོདཔ་ལས་ སྒེར་གྱི་འགྱུར་བཅོས་ཐོན་སྐྱེད་བཟོ་ཚུགས་ཨིན།
  7. དབྱེ་ཞིབ་དེ་ གསང་བའི་དོན་རྐྱེན་ཚུ་དང་ བདེན་ཁུངས་བཀོད་པའི་ཐོ་ཡིག་ དེ་ལས་ ཆ་མེད་གཏང་མི་གནས་སྟངས་ དེ་ལས་ མིང་མ་རྩ་མེད་གཏང་མི་ གཏན་འཁེལ་གྱི་ཐོ་ཡིག་ཚུ་ ཐོ་བཀོད་ཅན་གྱི་དྲི་བ་དང་ Torii མཐའ་མཇུག་གི་སྒོ་ཚུ་ཐོག་ལས་ བསྐྱར་ཞིབ་འབད་འབདཝ་ཨིན།

CLI དཔེ་སྟོན་ཚུ་

ZK CLI གི་བཀའ་རྒྱ་འདི་ ལག་ལེན་པ་དང་ བརྟག་དཔྱད་ཐིག་ཁྲམ་ཚུ་གི་དོན་ལུ་ཨིན། བཟོ་སྐྲུན་གྱི་དངུལ་ཁུག་ནང་ ཁས་བླངས་, སྦྲེལ་ཡོད་པའི་ཕན་ཐོགས་ཅན་ཅ་ལ་ཚུ་ དེ་ལས་ གྲུབ་འབྲས་ཐོན་པའི་བསླབ་བྱ་ཚུ་ ཕུལ་བའི་ཧེ་མར་ དངུལ་ཁུག་ / དཔྱད་ཡིག་གི་དཔེ་མཛོད་ཅིག་དང་གཅིག་ཁར་ བདེན་ཁུངས་བཀོད་དགོཔ་ཨིན་མས།

ཐོ་བཀོད་འབད་ཡོད་པའི་ཧི་བི་རི་ཌ་ ZK གྱོང་རྒུད་ཅན་གྱི་རྒྱུ་དངོས་:

bash
iroha app zk register-asset \
  --asset <asset-definition-id> \
  --allow-shield true \
  --allow-unshield true \
  --vk-transfer halo2/ipa:vk_transfer \
  --vk-unshield halo2/ipa:vk_unshield \
  --vk-shield halo2/ipa:vk_shield

ཉེན་སྲུང་ཅན་གྱི་ཡི་གུ་གི་དོན་ལུ་ ཝེ་རི་ཡཱན་ཨེབ་གཏང་འབད་ཡོད་པའི་ ཁེ་ཕན་གྱི་ཁེབས་བཟོ་:

bash
iroha app zk envelope \
  --ephemeral-pubkey 0101010101010101010101010101010101010101010101010101010101010101 \
  --nonce-hex 020202020202020202020202020202020202020202020202 \
  --ciphertext-b64 AQIDBA== \
  --print-json \
  --output note-envelope.bin

གཞུང་གི་དངུལ་ཕོགས་ཚུ་ རྒྱུ་དངོས་ཚུ་གི་ ཉེན་སྲུང་ཅན་གྱི་རྩིས་དེབ་ནང་བཙུགས་ནི།

bash
iroha app zk shield \
  --asset <asset-definition-id> \
  --from <account-id> \
  --amount 1000 \
  --note-commitment ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB \
  --enc-payload note-envelope.bin

ཕྲང་ཁེབས་དང་ལྡནམ་སྦེ་ མཐུད་སྦྲེལ་འབད་ཡོད་མི་ JSON:

bash
cat > unshield-proof.json <<'JSON'
{
  "backend": "halo2/ipa",
  "proof_b64": "BASE64_PROOF_BYTES",
  "vk_ref": {
    "backend": "halo2/ipa",
    "name": "vk_unshield"
  }
}
JSON

iroha app zk unshield \
  --asset <asset-definition-id> \
  --to <account-id> \
  --amount 1000 \
  --inputs DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF \
  --proof-json unshield-proof.json

SDK དཔེ་སྟོན་འབདཝ་ཨིན།

ཕྲང་བའི་བརྟག་དཔྱད་ཀྱི་ བའི་ཊི་ཚུ་ གཞི་སྒྲིག་འབད་ཡོད་པའི་བརྟག་དཔྱད་གྱི་རྒྱབ་སྒྲིལ་ལས་འོངམ་ཨིན། བྱ་སྟབས་མ་བདེཝ་གི་ཅ་ལ་ལུ་ སྤྱིར་བཏང་ནང་ཐོ་བཀོད་དང་བརྟག་དཔྱད་གི་བཅིངས་ཡིག་རྐྱངམ་ཅིག་ དགོཔ་ཨིན།

rust
use iroha_data_model::{
    isi::zk::{Unshield, ZkTransfer},
    prelude::{AccountId, AssetDefinitionId, InstructionBox},
    proof::{ProofAttachment, ProofBox, VerifyingKeyId},
};

fn transfer_instruction(
    asset: AssetDefinitionId,
    input_nullifier: [u8; 32],
    output_commitment: [u8; 32],
    anchor_root: [u8; 32],
    proof_bytes: Vec<u8>,
) -> InstructionBox {
    let backend = "halo2/ipa".into();
    let proof = ProofBox::new(backend, proof_bytes);
    let vk = VerifyingKeyId::new("halo2/ipa", "vk_transfer");
    let attachment = ProofAttachment::new_ref("halo2/ipa".into(), proof, vk);

    ZkTransfer::new(
        asset,
        vec![input_nullifier],
        vec![output_commitment],
        attachment,
        Some(anchor_root),
    )
    .into()
}

fn unshield_instruction(
    asset: AssetDefinitionId,
    recipient: AccountId,
    amount: u128,
    input_nullifier: [u8; 32],
    anchor_root: [u8; 32],
    proof_bytes: Vec<u8>,
) -> InstructionBox {
    let backend = "halo2/ipa".into();
    let proof = ProofBox::new(backend, proof_bytes);
    let vk = VerifyingKeyId::new("halo2/ipa", "vk_unshield");
    let attachment = ProofAttachment::new_ref("halo2/ipa".into(), proof, vk);

    Unshield::new(
        asset,
        recipient,
        amount,
        vec![input_nullifier],
        attachment,
        Some(anchor_root),
    )
    .into()
}

Anonymous Asset Escrow

ཨ་ནེསི་ཊི་བཱེལ་དངུལ་ཁང་གིས་ ཨེགསརོཌ་གི་གོང་ཚད་ལུ་ བགོ་བཀྲམ་འབད་ནིའི་འཕྲུལ་ཆས་དེ་ ལག་ལེན་འཐབ་དོ་ཡོདཔ་ཨིན། སྲིད་བྱུས་དང་ ཨེགསརོ་གནས་སྟངས་འདི་ ད་ལྟོའི་བར་ན་ཡང་ ཨེཤ་རོཌའི་ཡིག་ཚང་ནང་ ཐོ་བཀོད་འབད་ཡོདཔ་ཨིན་རུང་ དངུལ་ཕོགས་སྤྲོད་ནི་དང་ བཙུགས་གཏང་ནི་དང་ ཆ་མེད་གཏང་ནི་ དེ་ལས་ གྲོས་ཐག་བཅད་ནི་གི་རྐངམ་ཚུ་གིས་ ཨེགསུརོཌ་ཚུ་དང་ ཐོན་སྐྱེད་གི་འགན་ཁུར་ཚུ་ལག་ལེན་འཐབ་ཨིན།

ISI གི་ བྱ་སྤྱོད་དང་དཔེ་ཚད་ཚུ་གི་དོན་ལུ་ Native Asset Escrowལུ་བལྟ་དགོ།

སྲོག་རྒྱུན་འདི་འདི་:

  1. OpenAnonymousAssetEscrow གིས་ དངུལ་རྐྱང་གི་དངུལ་ཕོགས་ཚུ་གི་དོན་ལུ་ ཟད་འགྲོ་སྐྱིན་འགྲུལ་བྱིན་དོ་ཡོདཔ་མ་ཚད་ ཁས་བླངས་གཅིག་ཡང་ བཟོ་དོ་ཡོདཔ་ཨིན།
  2. AcceptAnonymousAssetEscrow ཚོང་ཉོ་མི་དེ་ ཡིག་སྣོད་ནང་བཙུགས་ནུག
  3. MarkAnonymousEscrowPaymentSent ཚོང་ཉོ་མི་གིས་ སྐྱིན་འགྲུལ་གྱི་ཐིག་ཁྲམ་ལས་ཕྱི་ཁར་ བསྐྱལ་ནུག་ཟེར་ ཡིག་སྣོད་ནང་བཀོད་ཡོདཔ་ཨིན།
  4. ReleaseAnonymousAssetEscrow གིས་ ཁས་བླངས་ཀྱི་འགན་ཁུར་དེ་ ཉོ་མི་གི་ཐོན་སྐྱེད་བཅའ་ཡིག་ལུ་ བསྡུ་ལེན་འབདཝ་ཨིན།
  5. CancelAnonymousAssetEscrow དངུལ་འབྲེལ་མཐུན་རྐྱེན་དེ་བཙོང་མི་གི་ཐོན་སྐྱེད་མཐུན་རྐྱེན་ལུ་ བསྐྱལ་དོ་ཡོདཔ་ད་ སྐྱིན་འགྲུལ་གྱི་རྟགས་མ་བཀོད་མི་ལུ་བརྟེན་ཨིན།
  6. OpenAnonymousEscrowDispute དང་ ResolveAnonymousEscrowDispute གིས་ གྲུབ་རྟགས་ཀྱི་ཧེཤ་དང་ resolver-controlled split ཚུ་དང་གཅིག་ཁར་ རྩོད་བསྡུར་ཅན་གྱི་ escrow ཚུ་ལག་ལེན་འཐབ་དོ་ཡོདཔ་ཨིན།

དྲི་བ་ནང་ལུ་བཀོད་ཡོད་པའི་ གསང་བའི་གཏེར་ཁའི་ཞུ་ཡིག་ཚུ་ ལག་ལེན་འཐབ་སྟེ་ གཏེར་ཁའི་ཐོ་ཡིག་དང་ གནས་སྟངས་ཚུ་ བརྟག་ཞིབ་འབད་ཚུགས།

རྩིས་རིག་པ་

འོག་གི་ཐོ་བཀོད་འདི་གིས་ གསང་བའི་རྒྱུ་དངོས་ཀྱི་རྒྱུན་འགྲུལ་འདི་བཤད་ནི་ཨིན། ལག་ལེན་ནང་ལུ་ རྒྱུ་དངོས་གི་སྲིད་བྱུས་དང་བདེན་འཛིན་ཅན་གྱི་ཡིག་ཚང་ནང་ལས་ ལཱ་འབད་ཡོད་པའི་འཁོར་ལམ་དང་ཚད་འཇལ་ IDs ལག་ལེན་འཐབ་དོ་ཡོདཔ་ལས་ འབྲེལ་གཏད་ཚུ་གིས་ ཁས་བླངས་ཚུ་དང་ ཆ་མེད་གཏང་མི་ཚུ་ དེ་ལས་ བའི་ཊི་བཅུད་དོན་ཚུ་ དངུལ་ཁུག་ / དཔྱད་ཡིག་གི་མཐོངམ་སྦེ་ལག་ལེན་འཐབ་དགོ།

ཉེན་སྲུང་ཅན་གྱི་ཡིག་ཆ་འདི་ འདི་ལྟར་དུ་བཤད་ནི།

n=(asset,amount,owner,ρ) n = (\mathsf{asset}, \mathsf{amount}, \mathsf{owner}, \rho)

owner གིས་ སྤྲོད་མི་ཚུ་གི་མཐོང་ཐངས་ ཡང་ན་ ཟད་འགྲོ་བཏང་མི་ལས་ཐོབ་ཡོདཔ་དང་ rho གིས་ བརྗོད་དོན་འདི་ སྟབས་མ་བདེཝ་སྦེ་སྟོནམ་ཨིན།

ཡིག་ཆ་གི་འགན་ཁུར་འདི་ གསང་བའི་འགན་ཁུར་ཨིན།

C=Commit(asset,amount,owner,ρ) C = \mathsf{Commit}(\mathsf{asset}, \mathsf{amount}, \mathsf{owner}, \rho)

ད་ལྟོའི་གསང་བ་གི་གནས་སྤེལ་གྱི་འཁོར་ལམ་ཚུ་གི་དོན་ལུ་ མི་མང་གི་ནང་འཁོད་ནང་ལུ་ ཡིག་ཚང་གི་འགན་ཁུར་ཚུ་དང་ ཆ་མེད་གཏང་མི་ཚུ་ དེ་ལས་ Merkle root དང་ asset tag དེ་ལས་ chain tag ཚུ་ཡོདཔ་ཨིན། ས་མཚམས་འདི་ commitment འབྲེལ་བ་བཟུམ་ཅིག་བཟོ་ཡོདཔ་ཨིན།

C=Hc(amount,ρ,owner_tag,asset_tag) C = H_c(\mathsf{amount}, \rho, \mathsf{owner\_tag}, \mathsf{asset\_tag})

དངུལ་ཤོག་ཅིག་ལག་ལེན་འཐབ་པའི་སྐབས་ དངུལ་ཁུག་ནང་ ཨེབ་གཏང་འབད་ཡོད་པའི་མིང་ཐོ་བཀོད་འབདཝ་ཨིན།

N=Hn(spend_key,ρ,asset_tag,chain_tag) N = H_n(\mathsf{spend\_key}, \rho, \mathsf{asset\_tag}, \mathsf{chain\_tag})

N གིས་ གསལ་སྟོན་འབད་མ་བཏུབ་པས་ དེ་འབདཝ་ད་ འདི་ལུ་ གྲུབ་འབྲས་དང་ ཅ་ཅིའི་དོན་ལུ་ བརྟན་ཏོག་ཏོ་ཡོདཔ་ལས་ Iroha གིས་ ཨང་གཉིས་པ་གི་དངུལ་ཕོགས་དེ་ ཆ་མེད་གཏང་མི་ཅིག་གིས་ ཆ་མེད་གཏང་ཚུགས།

ཁས་བླངས་ཤིང་འདི་ ཡིག་སྣོད་གི་གནས་སྟངས་ལུ་བརྟག་དཔྱད་འབདཝ་ཨིན། ག་དེམ་ཅིག་སྦེ་དངུལ་ཁུག་ཅིག་གིས་ ཁས་བླངས་ C_i བཏང་པ་ཅིན་ འདི་ནང་ལུ་ C_i ལས་ གསེར་གྱི་ Merkle ཕྲང་ལམ་གཅིག་ ཚུད་དེ་ འཕྲལ་ཁམས་ཅིག་ཁར་ མི་མང་གི་རྩ་བ་ལུ་རྩིས་སྟོནམ་ཨིན།

MerkleRoot(Ci,path)=R \mathsf{MerkleRoot}(C_i, \mathsf{path}) = R

ཚད་འཛིན་འབད་བཞག་མི་གནས་གོང་ལུ་ བརྟག་དཔྱད་འབད་ནི་དེ་ཡང་ གནས་གོང་གི་སྲུང་སྐྱོབ་ལུ་ ཐོ་ཕོག་དོ་ཡོདཔ་ཨིན།

inputs=outputs \sum \mathsf{inputs} = \sum \mathsf{outputs}

ཉེན་སྲུང་མེད་པའི་དངུལ་ཁྲལ་གྱི་དོན་ལུ་ གཞུང་གི་གླ་ཆ་འདི་:

inputs=public_amount+private_change \sum \mathsf{inputs} = \mathsf{public\_amount} + \sum \mathsf{private\_change}

གྲོས་འདེབས་ཕུལ་བའི་ཁུངས་སྐྱེལ་འདི་ འདི་བཟུམ་སྦེ་བཀོད་ཚུགས་ནི།

Verify(vk,public_inputs,π)=true \mathsf{Verify}(\mathsf{vk}, \mathsf{public\_inputs}, \pi) = \mathsf{true}

འདི་ནང་ལུ་ public_inputs གིས་ ཁས་བླངས་, nullifiers, root, asset tag, chain tag, དང་ public unshielded sum ཚུ་ཨིན། དཔྱད་ཡིག་ནང་ note amounts, randomness, spend material, and Merkle paths ཡོདཔ་ཨིན། ཝེ་ལི་ཌ་ཊར་ཚུ་གིས་ གྲུབ་རྟགས་ཚུ་ བརྟག་ཞིབ་འབད་ཞིནམ་ལས་ ཐོན་སྐྱེད་གི་བཅའ་གཏད་ཚུ་ མཉམ་བསྡོམས་ཏེ་ ཨེབ་ཐོར་རྩ་མེད་གཏང་མི་ཚུ་ལུ་ ཟད་འགྲོ་བཏབ་སྦེ་ ཐོ་བཀོད་འབད་བའི་ཐོག་ལས་ ལེན་ཐོ་ལུ་ གནས་སྟངས་བསྒྱུར་བཅོས་འབདཝ་ཨིན།

མི་མང་གིས་ག་ཅི་མཐོང་ནི་ཨིན་ན?

མིང་མ་ཤེསཔ་གི་ཚོང་འབྲེལ་ཚུ་གིས་ བརྟག་ཞིབ་འབད་ཚུགས་མི་ གནད་དོན་ཆ་མཉམ་ལུ་ གསང་བ་བཟོཝ་མེན། ད་ལྟོའི་བར་ན་ཡང་ གནད་སྡུད་འདི་ མི་མང་གིས་མཐོང་ཚུགསཔ་ཨིན།

  • ཚོང་འབྲེལ་གྱི་ཧེཤ་དང་ བཀྲམ་སྤེལ་ཚད་ དེ་ལས་ བཀའ་རྒྱ་བཀོད་ཐངས་ཚུ་
  • གནད་དོན་འདི་ བགོ་བཀྲམ་འབད་མིའི་ཚོང་འབྲེལ་དབང་འཛིན་གྱིས་ ཞུ་ཡིག་ནང་ སྒེར་གྱི་འཛུལ་སྒོ་ཡང་ན་ རྒྱང་སྒྲིལ་གི་རྣམ་གཞག་ལག་ལེན་འཐབ་མ་བཏུབ་པ་ཅིན་ཨིན།
  • ལག་ལེན་འཐབ་མི་ རྒྱུ་དངོས་གི་འགྲེལ་བཤད་
  • ཆ་མེད་གཏང་ནི་དང་ ཐོན་སྐྱེད་གི་འགན་ཁུར་ཚུ་
  • བརྟག་དཔྱད་ཧེཤ་ཚུ་དང་ བརྟག་དཔྱད་ལྡེ་མིག་གི་ཁ་བྱང་ཚུ་ དེ་ལས་ གདམ་ཁ་རྐྱབས་འབད་མི་ཁེབས་ཀྱི་ཧེཤ་ཨིན།
  • མི་མང་གི་རྩིས་ཁྲ་དང་ དངུལ་ཕོགས་ཐོབ་མི་རྩིས་ Unshield
  • གསང་བའི་གཏེར་ཁ་བཙོང་མི་དང་ཉོ་མི་ དེ་ལས་ གནས་སྟངས་དང་ དུས་ཡུན་ཐོ་བཀོད་ དེ་ལས་ དཔྱད་ཡིག་ཚུ་

ཁྱོད་ཀྱིས་ ཉེན་སྲུང་འབད་ནིའི་ དཔའ་བཅམ་མིའི་ ཚོང་འབྲེལ་གྱི་འབྲེལ་བ་འདི་ གསལ་སྟོན་མ་ཚུགསཔ་སྦེ་ ལག་ལེན་ཚུ་ བཟོ་སྐྲུན་འབད་ནི།