Pāriet uz galveno saturu

Kas ir programmatūras maks?

U
Autors: UKey Wallet

Programmatūras makā tiek izmantots nejaušs skaitlis, lai ģenerētu galveno privāto atslēgu.

Pēc tam, izmantojot deterministisku un neatgriezenisku algoritmu, tas var iegūt neierobežotu skaitu pakārtoto privāto atslēgu no šīs galvenās privātās atslēgas.

Kāpēc mums ir vajadzīgs deterministisks un neatgriezenisks algoritms?
Tā kā deterministiskā nozīmē, ka visas pakārtotās privātās atslēgas vienmēr var ģenerēt no vienas un tās pašas galvenās privātās atslēgas, savukārt neatgriezeniska nozīmē, ka galveno privāto atslēgu nevar rekonstruēt no nevienas pakārtotās privātās atslēgas.

Tāpēc to sauc par Hierarhiski deterministisku (HD) maku. Privāto atslēgu atvasināšanas struktūra atgādina koku: vecāka atslēga var atvasināt vairākas bērnu atslēgas, katra bērna atslēga var atvasināt vairākas mazbērnu atslēgas, un šis process var turpināties bezgalīgi.

Pirmoreiz izveidojot HD maku vai dublējot maku, tiek ģenerēta mnemoniska frāze. Mnemoniskā frāze ir angļu vārdu virkne. Šī secība tiek izmantota, lai ģenerētu sēklu, un pēc tam sākumu izmanto visu privāto atslēgu ģenerēšanai makā. Citiem vārdiem sakot, mnemoniskā frāze kalpo kā maka rezerves kopija, jo to var izmantot, lai atjaunotu maku. Sēkla savukārt atbilst sākotnējam nejaušajam skaitlim aiz deterministiskā maka.

Viena no galvenajām HD maka priekšrocībām ir tā, ka ir nepieciešama tikai galvenā publiskā atslēga, lai ģenerētu neierobežotu skaitu pakārtoto publisko atslēgu. Citiem vārdiem sakot, jaunas publiskās adreses var izveidot no galvenās publiskās atslēgas, nepieprasot piekļuvi privātajām atslēgām neatkarīgi no tā, vai tā ir galvenā privātā atslēga vai pakārtotā privātā atslēga. Tomēr visas šīs ģenerētās adreses joprojām var kontrolēt ar galveno privāto atslēgu.

Protams, šis dizains ir saistīts arī ar riskiem. Ja tiek atklāta mnemoniskā frāze, tā būtībā ir līdzvērtīga visu privāto atslēgu atsegšanai. Kad tas notiek, makā esošo digitālo līdzekļu drošība tiek faktiski zaudēta.

Kāpēc ir nepieciešams tik daudz privāto atslēgu?

Iemeslu, kāpēc lietotājiem ir nepieciešams tik daudz privāto atslēgu, var saprast, izmantojot maiņu mehānismu Bitcoin darījumos.

Bitcoin darījums ir datu struktūra, kas satur ieejas un izejas. Tas ietver arī nepieciešamo skriptu informāciju, kas pārsūta vērtību no avota (ievades) uz galamērķi (izeju).

Lai saprastu Bitcoin ievades un izvades, ir svarīgi zināt UTXO (Neiztērēto darījumu izvades) jēdzienu. UTXO ir Bitcoin darījuma pamatvienība un atspoguļo neiztērēto darījuma izvadi. Viens bitkoins faktiski tiek izplatīts daudzos darījumos un daudzos blokos UTXO veidā. Patiesībā nav centralizēta ieraksta, kas glabātu vienkāršu konta atlikumu; tā vietā ir tikai decentralizēti UTXO, kas ir bloķēti to attiecīgajiem īpašniekiem.

UTXO var attēlot jebkādu vērtību, taču, kad tas ir izveidots, tas ir nedalāms tāpat kā fizisko monētu nevar sadalīt uz pusēm. Ja UTXO vērtība ir lielāka par darījumam nepieciešamo summu, viss UTXO joprojām ir jāiztērē, un pārpalikums tiks atgriezts kā izmaiņas.

Piemēram, iedomājieties, ka jums ir UTXO 20 vienību vērtībā un vēlaties maksāt par 1 vienību. Darījumam ir jāpatērē visas 20 vienību UTXO un jāizveido divas izejas: viena izvade nosūta 1 vienību saņēmējam, bet otra nosūta 19 vienības atpakaļ uz jūsu maku kā izmaiņas. Šajā ziņā lielākā daļa Bitcoin darījumu rada izmaiņas.

Tas noved pie cita jautājuma: vai izmaiņas jānosūta atpakaļ uz sākotnējo adresi vai uz jaunģenerētu adresi?

Kad Satoshi Nakamoto izstrādāja Bitcoin, tika izmantots ** adreses maiņas mehānisms**, kas nozīmē, ka bieži tiek izveidota jauna adrese, lai saņemtu izmaiņas no katra darījuma. Šī dizaina priekšrocība ir tāda, ka tas palīdz aizsargāt lietotāju privātumu un samazina noteiktus drošības riskus.

Reālajā dzīvē to var salīdzināt ar vairāku bankas kontu atvēršanu ar dažādiem nosaukumiem un identitātēm dažādās bankās. Pat ja kāds var novērot naudas plūsmu katrā kontā, viņam kļūst daudz grūtāk to visu izsekot līdz digitālo līdzekļu patiesajam īpašniekam. Tas ir daļa no tā, kas nodrošina Bitcoin relatīvo anonimitāti.

Tāpēc seifa lietotājiem ir nepieciešams tik daudz privāto atslēgu. Tā kā publiskās atslēgas un privātās atslēgas vienmēr pastāv pa pāriem un katrs darījums var ģenerēt jaunu adreses maiņu, visām šīm adresēm atbilstošo privāto atslēgu glabāšana un dublēšana citādi kļūtu par lielu tehnisku izaicinājumu. HD maciņš atrisina šo problēmu, ļaujot vienai saknei ģenerēt jebkādu skaitu bērnu publisko atslēgu un bērnu privāto atslēgu, tādējādi ievērojami uzlabojot digitālo maku lietojamību.

Vai saņēmāt atbildi uz savu jautājumu?