Qstamp / Matematika
Pormal na konstruksyon

Ang matematika sa likod ng bawat resibo.

Tiyak na inilalarawan ng pahinang ito ang konstruksyon ng Qstamp, isinasaad ang seguridad na nakakamit nito laban sa mga klasiko at quantum na kalaban, at ipinapaliwanag kung bakit angkop ang mga Quanta smart contract na tumatakbo sa Quantova Virtual Machine para sa pag-anchor ng mga fingerprint ng mga aksyon ng SI agent.

§1 · Notasyon
H(x)
SHA3 na may 256 bit na output ayon sa espesipikasyon sa FIPS 202
D
digest ng rekord na kinalkula gamit ang algorithm na a, kung saan a = 1 para sa SHA3 at a = 2 para sa SHA2 na may 256 bit na output
s
32 byte na salt na kinuha nang uniform mula sa generator ng operating system
‖
pagdudugtong ng mga byte
n, i
laki ng batch at posisyon ng leaf, kung saan 1 ≤ n ≤ 2^20 at 0 ≤ i < n
G, C, S, k
genesis hash, address ng kontrata, address ng signer at uri ng rekord

§2 · Leaf

Li = H( 0x00 ‖ "QSTAMP/LEAF/V1" ‖ a ‖ Di ‖ si )

May takdang haba na 80 byte ang input. Inihihiwalay ng unang byte at ng label ang mga leaf mula sa bawat iba pang hash sa sistema, at pinipigilan ng identifier ng algorithm na ang isang digest na kinalkula gamit ang isang algorithm ay maipakita bilang digest ng isa pa.

§3 · Tree

MTH( L0 ) = L0
MTH( L0..n−1 ) = H( 0x01 ‖ MTH( L0..k−1 ) ‖ MTH( Lk..n−1 ) ), k = largest power of two below n

Ito ang konstruksyon ng RFC 9162 section 2.1. Ang inclusion path para sa leaf i ay naglalaman ng hindi hihigit sa ⌈log2 n⌉ na sibling hash, na dalawampu para sa pinakamalaking batch. Sinusunod ng beripikasyon ang RFC 9162 section 2.1.3.2 at tinatanggihan ang anumang path na ang haba ay hindi tumutugma sa posisyon at laki.

§4 · Commitment

K = H( 0x02 ‖ "QSTAMP/ROOT/V1" ‖ G ‖ C ‖ S ‖ u64( k ) ‖ u64( n ) ‖ MTH )

Hindi tinutukoy ng isang hubad na RFC 9162 root ang laki ng tree nito, kaya maaaring mag-verify ang iisang path sa ilalim ng iba't ibang laki. Inaalis ng pagtatali sa n ang kalabuang iyon. Ang pagtatali sa G, C at S ay nangangahulugang mabibigo sa beripikasyon ang isang commitment na kinopya mula sa isang nakabinbing transaksyon at in-anchor ng ibang account, kontrata o network. Itinatakda ng pagtatali sa k ang idineklarang uri ng rekord.

§5 · Pag-anchor sa QVM

stamp( Khi , Klo , k ) → emit Stamped( caller , K , k )
caller = address( pk ) = H( scheme ‖ pk ), tx valid ⇔ ML-DSA.Verify( pk , H(body) , σ ) = 1

Tinatanggap ng kontrata ang K bilang dalawang 128 bit na word at ang k bilang isang 64 bit na word, at inilalabas ang mga ito nang walang pagbabago kasama ng napatunayang caller. Isinusulat ng QVM ang caller sa memorya ng kontrata mula sa napatunayang nagpadala ng transaksyon bago ang pagpapatakbo, kaya hindi maiimpluwensyahan ng call data ang itinalang signer. Isinasama ang event sa event root ng block header at ginagawang pinal ng komite ng mga validator.

§6 · Seguridad

Ang gawaing kailangan upang pekein ang isang resibo.

Ang pagbabago ng anumang bahagi ng isang naka-anchor na resibo ay nangangailangan ng paghahanap ng second preimage ng SHA3 o ng pagsira sa ML DSA. Binabawasan ng generic na quantum search ang preimage work sa square root nito, na nag-iiwan pa rin ng 128 bit na seguridad.

AtakeKailangang masiraKlasikong gawainQuantum na gawain
Magpakita ng ibang nilalaman sa ilalim ng umiiral na resiboSHA3 second preimage2^2562^128 sa pamamagitan ng Grover search
Baguhin ang posisyon, laki, uri o signerSHA3 second preimage sa commitment2^2562^128
Nag-a-anchor ang stamper ng iisang digest para sa dalawang dokumentoSHA3 collision2^1282^85 sa BHT model na may malaking quantum memory, humigit-kumulang 2^128 sa ilalim ng makatotohanang mga modelo ng gastos
Pekein ang signer ng isang anchoring na transaksyonPamemeke ng ML DSA 65NIST security category 3NIST security category 3
Pekein ang finality ng blockPamemeke ng ML DSA 65 laban sa komiteNIST security category 3NIST security category 3
Mahinuha ang nilalaman mula sa chainBaligtarin ang isang salted commitmentPaghahanap sa salt space na 2^2562^128
§7 · Kung bakit angkop ang mga Quanta contract para sa mga fingerprint ng agent

Mga katangian ng execution layer.

Napatunayang pagiging may-akda

Ang caller ng isang Quanta entry ay ang napatunayang signer ng transaksyon. Ang isang agent, o ang serbisyong kumikilos para dito, ay nakatali sa bawat commitment na ina-anchor nito nang hindi kailangan ng karagdagang lohika ng lagda sa kontrata.

Mga nilagdaang order para sa delegadong awtoridad

Binebeberipika ng QVM ang mga ML DSA na lagda sa loob ng isang kontrata sa pamamagitan ng instruksyong VERIFY_ML nito sa ilalim ng kontekstong QVM/contract/v1. Maaaring magdala ang mga agent ng mga order na nilagdaan ng isang issuer, at maaaring isumite ng isang relayer ang mga ito nang hindi nagkakaroon ng awtoridad. Bawat order ay may nonce na hawak ng kontrata, kaya hindi ito maaaring i-replay.

Attested na code

Tinatanggap lamang ang isang kontrata kapag ang SHA3 identifier ng container nito ay may ML DSA 65 na lagda mula sa attested na Quanta compiler sa ilalim ng kontekstong QUANTOVA/QVM/PROVENANCE/v1. Maaaring i-compile muli ng mga tagasuri ang inilathalang source at ihambing ang container nang byte por byte.

Mahuhulaang gastos

May metering ang pagpapatakbo. Ang bayad para sa isang call ay 500 quon sa bawat 1210 unit ng metering na nagamit, na ini-round up, at ibinabalik ang hindi nagamit na reserba. Pareho ang gastos ng isang stamp may dala man itong isang rekord o 1048576, kaya bumababa ang gastos sa bawat aksyon ng agent nang proporsyonal sa 1 sa n.

fee( m ) = 500 · ⌈ m ⁄ 1210 ⌉ quon
cost per record = fee ⁄ n
1 TQTOV = 1,000,000 quon

§8 · Mga palagay na tahasang isinasaad

Ipinapalagay ng konstruksyon ang collision resistance at second preimage resistance ng SHA3 at SHA2, ang unforgeability ng ML DSA 65, at isang tapat na mayorya ng komite ng mga validator. Sa release 0.1, kinukumpirma ang anchoring na transaksyon, ang event at ang block sa pamamagitan ng RPC interface ng network. Isasama ng isang paparating na release ang block header, ang finality certificate at ang event inclusion proof sa bawat resibo, na mag-aalis ng pag-asa sa anumang endpoint. Itinatakda ang oras ng block ng nagmumungkahing validator sa buong segundo at tinatanggap lamang ito kung nasa loob ng 15 segundo ng mga orasan ng komite.