Π‘Π»ΡƒΡ‡Π°Π΅Π½ ΠΏΡ€ΠΎΡ€ΠΎΠΊ заснован Π½Π° Π΄ΠΈΠ³ΠΈΡ‚Π°Π»Π΅Π½ потпис Π²ΠΎ Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½

Од идСја Π΄ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°: ја ΠΌΠ΅Π½ΡƒΠ²Π°ΠΌΠ΅ постоСчката шСма Π½Π° Π΄ΠΈΠ³ΠΈΡ‚Π°Π»Π½ΠΈ потписи Π½Π° Слипсовидна ΠΊΡ€ΠΈΠ²Π° Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Ρ‚Π°Π° Π΅ дСтСрминистичка ΠΈ Π²Ρ€Π· основа Π½Π° Π½Π΅Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΠΌΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° добивањС Π½Π° псСвдо-ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΈ Π±Ρ€ΠΎΠ΅Π²ΠΈ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°Ρ‚ Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ΠΎΡ‚.

Π‘Π»ΡƒΡ‡Π°Π΅Π½ ΠΏΡ€ΠΎΡ€ΠΎΠΊ заснован Π½Π° Π΄ΠΈΠ³ΠΈΡ‚Π°Π»Π΅Π½ потпис Π²ΠΎ Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½

Π˜Π΄Π΅Ρ˜Π°Ρ‚Π°

Π’ΠΎ СсСнта 2018 Π³ΠΎΠ΄ΠΈΠ½Π°, Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ Waves Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€Π²ΠΈΡ‚Π΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ, вСднаш сС Π½Π°ΠΌΠ΅Ρ‚Π½Π° ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅Ρ‚ΠΎ Π·Π° моТноста Π·Π° добивањС ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΈ Π±Ρ€ΠΎΠ΅Π²ΠΈΠ½Π° ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠΌ Π²Π΅Ρ€ΡƒΠ²Π°Ρ‚Π΅.

Π—Π±ΡƒΠ½ΡƒΠ²Π°Ρ˜ΡœΠΈ сС со ΠΎΠ²Π° ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ дојдов Π΄ΠΎ Π·Π°ΠΊΠ»ΡƒΡ‡ΠΎΠΊ: сСкој Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ Π΅ ќСлија; Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° сС Π΄ΠΎΠ±ΠΈΠ΅ Π΄ΠΎΠ²Π΅Ρ€Π»ΠΈΠ² ΠΈΠ·Π²ΠΎΡ€ Π½Π° Π΅Π½Ρ‚Ρ€ΠΎΠΏΠΈΡ˜Π° Π²ΠΎ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ систСм.

Но, сСпак ΠΌΠΈ сС Π΄ΠΎΠΏΠ°Π΄Π½Π° Π΅Π΄Π½Π° идСја: Π°ΠΊΠΎ случаСн ΠΏΡ€ΠΎΡ€ΠΎΠΊ ќС Π³ΠΈ ΠΏΠΎΡ‚ΠΏΠΈΡˆΠ΅ корисничкитС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со дСтСрминистички Π°Π»Π³ΠΎΡ€ΠΈΡ‚Π°ΠΌ, Ρ‚ΠΎΠ³Π°Ρˆ корисникот сСкогаш ќС ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΡ‚Π²Ρ€Π΄ΠΈ Ρ‚Π°ΠΊΠ²ΠΈΠΎΡ‚ потпис ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ Ρ˜Π°Π²Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡ ΠΈ ќС Π±ΠΈΠ΄Π΅ сигурСн Π΄Π΅ΠΊΠ° Π΄ΠΎΠ±ΠΈΠ΅Π½Π°Ρ‚Π° врСдност Π΅ СдинствСна. ΠžΡ€Π°ΠΊΠ»ΠΎΡ‚, ΠΊΠΎΠ»ΠΊΡƒ ΠΈ Π΄Π° сака, Π½Π΅ ΠΌΠΎΠΆΠ΅ Π½ΠΈΡˆΡ‚ΠΎ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ; Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π° нСдвосмислСн Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚. Π’ΠΎ ΡΡƒΡˆΡ‚ΠΈΠ½Π°, корисникот Π³ΠΎ снима Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚, Π½ΠΎ Π½Π΅ Π³ΠΎ Π·Π½Π°Π΅ Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΏΡ€ΠΎΡ€ΠΎΠΊΠΎΡ‚ Π½Π΅ Π³ΠΎ објави. Π˜Π·Π»Π΅Π³ΡƒΠ²Π° Π΄Π΅ΠΊΠ° Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΌΡƒ Π²Π΅Ρ€ΡƒΠ²Π°Ρ‚Π΅ Π½Π° ΠΏΡ€ΠΎΡ€ΠΎΠΊΠΎΡ‚, Ρ‚ΡƒΠΊΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ ΠΎΠ΄ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°. ΠŸΠΎΡ‚ΠΎΠ°, Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½Π° Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, Ρ‚Π°ΠΊΠ²ΠΈΠΎΡ‚ потпис ΠΌΠΎΠΆΠ΅ Π΄Π° сС смСта Π·Π° ΠΈΠ·Π²ΠΎΡ€ Π½Π° Π΅Π½Ρ‚Ρ€ΠΎΠΏΠΈΡ˜Π° Π·Π° псСвдослучаСн Π±Ρ€ΠΎΡ˜.

Π‘Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Waves користи шСма Π·Π° потпис EdDSA ΠΎΠΏΡ†ΠΈΡ˜Π° Ed25519. Π’ΠΎ ΠΎΠ²Π°Π° шСма, потписот сС состои ΠΎΠ΄ врСдноститС R ΠΈ S, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ R зависи ΠΎΠ΄ ΡΠ»ΡƒΡ‡Π°Ρ˜Π½Π° врСдност, Π° S сС прСсмСтува Π²Ρ€Π· основа Π½Π° ΠΏΠΎΡ€Π°ΠΊΠ°Ρ‚Π° ΡˆΡ‚ΠΎ сС ΠΏΠΎΡ‚ΠΏΠΈΡˆΡƒΠ²Π°, ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡ ΠΈ истиот случаСн Π±Ρ€ΠΎΡ˜ ΠΊΠ°ΠΊΠΎ R. Π˜Π·Π»Π΅Π³ΡƒΠ²Π° Π΄Π΅ΠΊΠ° Π½Π΅ постои СдинствСна зависност Π·Π° истата Има ΠΌΠ½ΠΎΠ³Ρƒ Π²Π°Π»ΠΈΠ΄Π½ΠΈ потписи Π·Π° корисничка ΠΏΠΎΡ€Π°ΠΊΠ°.

ΠžΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΎ, Π²ΠΎ ΡΠ²ΠΎΡ˜Π°Ρ‚Π° чиста Ρ„ΠΎΡ€ΠΌΠ°, Ρ‚Π°ΠΊΠΎΠ² потпис Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π²ΠΎΡ€ Π½Π° псСвдо-ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΈ Π±Ρ€ΠΎΠ΅Π²ΠΈ, бидСјќи Π΅ нСдСтСрминистички ΠΈ, спорСд Ρ‚ΠΎΠ°, ΠΌΠΎΠΆΠ΅ лСсно Π΄Π° сС ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π° ΠΎΠ΄ ΠΏΡ€ΠΎΡ€ΠΎΡˆΡ‚Π²ΠΎΡ‚ΠΎ.

Но, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС испостави, Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚ Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ дСтСрминистички.

Имав Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°Π΄Π΅ΠΆΠΈ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Π»ΠΈΠ²Π° ΡΠ»ΡƒΡ‡Π°Ρ˜Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° (VRF), Π½ΠΎ ΠΎΡ‚ΠΊΠ°ΠΊΠΎ Π³ΠΎ ΠΏΡ€ΠΎΡƒΡ‡ΡƒΠ²Π°Π² Ρ…Π°Ρ€Π΄Π²Π΅Ρ€ΠΎΡ‚, ΠΌΠΎΡ€Π°Π² Π΄Π° ја Π½Π°ΠΏΡƒΡˆΡ‚Π°ΠΌ ΠΎΠ²Π°Π° ΠΎΠΏΡ†ΠΈΡ˜Π°. Иако VRF Π½ΡƒΠ΄ΠΈ дСтСрминистичка Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° потписот ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Π΄ΠΎΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅, ΠΈΠΌΠ° Ρ‡ΡƒΠ΄Π½ΠΎ мСсто Π²ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ ΡˆΡ‚ΠΎ ΠΎΡ‚Π²ΠΎΡ€Π° Ρ†Ρ€Π½Π° Π΄ΡƒΠΏΠΊΠ° Π·Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΡ˜Π° со ΠΏΡ€ΠΎΡ€ΠΎΡˆΡ‚Π²ΠΎΡ‚ΠΎ. ИмСно, ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΡΠΌΠ΅Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° врСдноста Π½Π° k (Π΄Π΅Π» 5.1) сС користи ΠΏΡ€ΠΈΠ²Π°Ρ‚Π΅Π½ ΠΊΠ»ΡƒΡ‡, кој останува Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚ Π·Π° корисникот, ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° корисникот Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ја ΠΏΠΎΡ‚Π²Ρ€Π΄ΠΈ точноста Π½Π° прСсмСтката Π½Π° k, ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° oracle ΠΌΠΎΠΆΠ΅ Π΄Π° користи која Π±ΠΈΠ»ΠΎ врСдност Π½Π° k ΡˆΡ‚ΠΎ ΠΌΡƒ Ρ‚Ρ€Π΅Π±Π° ΠΈ Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° корСспондСнции ΠΎΠ΄ k ΠΈ ΠΏΠΎΡ‚ΠΏΠΈΡˆΠ°Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со Ρ†Π΅Π» сСкогаш Π΄Π° ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Π° сС прСсмСта Ρ‚ΠΎΡ‡Π½ΠΈΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΎΠ΄ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° VRF . Ако Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ†Ρ€Ρ‚Π΅ΠΆ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° VRF Π±Π΅Π· Π΄Π° Π³ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π±ΠΈΠ΄Π΅Ρ‚Π΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ: ΠΎΠ·Π½Π°Ρ‡Π΅Ρ‚Π΅ ја ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° ΠΈΠ»ΠΈ Π΄Π° Π³ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ΅Ρ‚Π΅ ΠΊΠ»ΡƒΡ‡ΠΎΡ‚ ΠΈΠ»ΠΈ Π΄Π° Π³ΠΎ исклучитС ΠΎΠ΄ прСсмСтката Π½Π° k, Ρ‚ΠΎΠ³Π°Ρˆ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡ автоматски ќС сС ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ ΠΊΠΎΠ³Π° ќС сС појави ΠΏΡ€Π²ΠΈΠΎΡ‚ потпис . Π’ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ вСќС спомСнавмС, Ρ‡ΡƒΠ΄Π½Π° шСма Π·Π° случаСн ΠΏΡ€ΠΎΡ€ΠΎΠΊ.

По ΠΌΠ°Π»ΠΊΡƒ Ρ€Π°Π·ΠΌΠΈΡΠ»ΡƒΠ²Π°ΡšΠ΅ ΠΈ добивањС ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° ΠΎΠ΄ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π°Ρ€ΠΈ, сС Ρ€ΠΎΠ΄ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½Π°Ρ‚Π° шСма Π½Π° VECRO.

VECRO Π΅ ΠΊΡ€Π°Ρ‚Π΅Π½ΠΊΠ° Π·Π° Verifiable Elliptic Curve Random Oracle, ΡˆΡ‚ΠΎ Π½Π° руски Π·Π½Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π»ΠΈΠ² случаСн ΠΏΡ€ΠΎΡ€ΠΎΠΊ Π½Π° Π΅Π»ΠΈΠΏΡ‚ΠΈΡ‡Π½ΠΈ ΠΊΡ€ΠΈΠ²ΠΈΠ½ΠΈ.

Π‘Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ° Π΄Π΅ΠΊΠ° Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Сдноставно; Π·Π° Π΄Π° постигнСтС Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΠ·Π°ΠΌ, Ρ‚Ρ€Π΅Π±Π° Π΄Π° ја ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅ врСдноста Π½Π° R ΠΏΡ€Π΅Π΄ Π΄Π° сС појави ΠΏΠΎΡ€Π°ΠΊΠ°Ρ‚Π° ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΏΠΎΡ‚ΠΏΠΈΡˆΠ΅. Ако R Π΅ посвСтСна ΠΈ Π΅ Π΄Π΅Π» ΠΎΠ΄ ΠΏΠΎΡ€Π°ΠΊΠ°Ρ‚Π° ΡˆΡ‚ΠΎ сС ΠΏΠΎΡ‚ΠΏΠΈΡˆΡƒΠ²Π°, ΡˆΡ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ осигурува Π΄Π΅ΠΊΠ° R Π΅ посвСтСна Π²ΠΎ ΠΏΠΎΡ€Π°ΠΊΠ°Ρ‚Π° ΡˆΡ‚ΠΎ сС ΠΏΠΎΡ‚ΠΏΠΈΡˆΡƒΠ²Π°, врСдноста Π½Π° S Π΅ ΡƒΠ½ΠΈΠΊΠ°Ρ‚Π½ΠΎ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° ΠΎΠ΄ ΠΏΠΎΡ€Π°ΠΊΠ°Ρ‚Π° Π½Π° корисникот ΠΈ Π·Π°Ρ‚ΠΎΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π²ΠΎΡ€ Π·Π° ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΈ Π±Ρ€ΠΎΠ΅Π²ΠΈ.

Π’ΠΎ Ρ‚Π°ΠΊΠ²Π° шСма, Π½Π΅ Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΎ R Π΅ фиксиран; ΠΎΠ²Π° останува одговорност Π½Π° ΠΏΡ€ΠΎΡ€ΠΎΠΊΠΎΡ‚. Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π΅ΠΊΠ° S Π΅ ΡƒΠ½ΠΈΠΊΠ°Ρ‚Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΎΠ΄ корисникот, Π½ΠΎ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° врСдност Π΅ Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚Π° Π΄ΠΎΠ΄Π΅ΠΊΠ° Oracle Π½Π΅ ја објави. Π‘Γ¨ ΡˆΡ‚ΠΎ сакавмС!

Π—Π±ΠΎΡ€ΡƒΠ²Π°Ρ˜ΡœΠΈ Π·Π° фиксна R, Π·Π°Π±Π΅Π»Π΅ΠΆΠ΅Ρ‚Π΅ Π΄Π΅ΠΊΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π΅Π½ Π  ΠΊΠΎΠ³Π° ΠΏΠΎΡ‚ΠΏΠΈΡˆΡƒΠ²Π°Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΡ€Π°ΠΊΠΈ, ΡƒΠ½ΠΈΠΊΠ°Ρ‚Π½ΠΎ Π³ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡ Π²ΠΎ ΡˆΠ΅ΠΌΠ°Ρ‚Π° EdDSA. Π‘Ρ‚Π°Π½ΡƒΠ²Π° исклучитСлно Π²Π°ΠΆΠ½ΠΎ Π·Π° сопствСникот Π½Π° Oracle Π΄Π° ја Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° моТноста Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° R Π·Π° ΠΏΠΎΡ‚ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ кориснички ΠΏΠΎΡ€Π°ΠΊΠΈ. Односно, со ΠΊΠ°ΠΊΠ²Π° Π±ΠΈΠ»ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΡ˜Π° ΠΈΠ»ΠΈ дослух, ΠΏΡ€ΠΎΡ€ΠΎΠΊΠΎΡ‚ сСкогаш ќС Ρ€ΠΈΠ·ΠΈΠΊΡƒΠ²Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π³ΡƒΠ±ΠΈ ΡΠ²ΠΎΡ˜ΠΎΡ‚ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π΅Π½ ΠΊΠ»ΡƒΡ‡.

Π‘Π΅Π²ΠΊΡƒΠΏΠ½ΠΎ, Oracle ΠΌΠΎΡ€Π° Π΄Π° ΠΈΠΌ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π½Π° корисницитС Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°, која ја ΠΏΠΎΠΏΡ€Π°Π²Π° врСдноста R ΠΈ потпис, која ја Π²Ρ€Π°ΡœΠ° врСдноста S. Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, ΠΏΠ°Ρ€ΠΎΡ‚ R, S Π΅ Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π»ΠΈΠ² потпис Π½Π° корисничка ΠΏΠΎΡ€Π°ΠΊΠ° која содрТи фиксна врСдност R ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ кориснички ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

МоТС Π΄Π° сС Ρ‚Π²Ρ€Π΄ΠΈ Π΄Π΅ΠΊΠ° ΠΎΠ²Π°Π° шСма Π·Π° Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ Π½Π΅ Π΅ Π½ΠΈΡˆΡ‚ΠΎ повСќС ΠΎΠ΄ ΠΎΠ±ΠΈΡ‡Π½Π° commit-expand шСма. Π’ΠΎ ΡΡƒΡˆΡ‚ΠΈΠ½Π°, Π΄Π°, Ρ‚ΠΎΠ° Π΅ Ρ‚Π°Π°. Но, ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ нијанси. ΠŸΡ€Π²ΠΎ, Oracle сСкогаш Ρ€Π°Π±ΠΎΡ‚ΠΈ со истиот ΠΊΠ»ΡƒΡ‡ Π²ΠΎ ситС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ²Π° Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π΄Π° сС користи Π²ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ. Π’Ρ‚ΠΎΡ€ΠΎ, постои Ρ€ΠΈΠ·ΠΈΠΊ ΠΎΡ€Π°ΠΊΡƒΠ»ΠΎΡ‚ Π΄Π° Π³ΠΎ ΠΈΠ·Π³ΡƒΠ±ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡ Π°ΠΊΠΎ сС однСсува Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ€Π°ΠΊΡƒΠ»ΠΎΡ‚ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚, Ρ‚ΠΎΠ³Π°Ρˆ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ само Π΄Π²Π° тСста Π·Π° Π΄Π° Π³ΠΎ Π΄ΠΎΠ·Π½Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡ ΠΈ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ цСлосна пристап Π΄ΠΎ ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊΠΎΡ‚. Π’Ρ€Π΅Ρ‚ΠΎ, ΡƒΠ±Π°Π² Π΅ потписот кој ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ΠΎΡ‚ ΠΈ Π΅ ΠΈΠ·Π²ΠΎΡ€ Π½Π° ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΎΡΡ‚.

ШСст мСсСци ΠΈΠ΄Π΅Ρ˜Π°Ρ‚Π° Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° ΠΌΠΈ Ρ‚Π»Π΅Π΅ΡˆΠ΅ Π²ΠΎ Π³Π»Π°Π²Π°Ρ‚Π°, Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π½Π΅ сС појави ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π³Ρ€Π°Π½Ρ‚ ΠΎΠ΄ Waves Labs. Π‘ΠΎ Π³ΠΎΠ»Π΅ΠΌ Π³Ρ€Π°Π½Ρ‚ Π΄ΠΎΠ°Ρ“Π° ΠΈ Π³ΠΎΠ»Π΅ΠΌΠ° одговорност, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ќС Π±ΠΈΠ΄Π΅ Ρ‚Π°ΠΌΡƒ!

РСализация

Π—Π½Π°Ρ‡ΠΈ, Π²ΠΎ овој ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ VECRO бСшС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ΠΎΡ‚ Waves Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π±Π°Ρ€Π°ΡšΠ΅-ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ трансакции Π·Π° прСнос ΠΏΠΎΠΌΠ΅Ρ“Ρƒ корисникот ΠΈ ΠΎΡ€Π°ΠΊΡƒΠ»ΠΎΡ‚. Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, Π½Π° смСтката Π½Π° Oracle Π΅ инсталирана скрипта која ја ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° строго Π²ΠΎ согласност со Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° опишана ΠΏΠΎΠ³ΠΎΡ€Π΅. ВрансакциитС Π½Π° Oracle сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π°Π°Ρ‚ ΠΈ Ρ†Π΅Π»ΠΈΠΎΡ‚ ΡΠΈΠ½ΡŸΠΈΡ€ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со корисницитС Π΅ ΠΎΠ±Π½ΠΎΠ²Π΅Π½. Π‘ΠΈΡ‚Π΅ Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ трансакции сС Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΈ Π²ΠΎ ΠΏΠΎΡ‚Π²Ρ€Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½Π°Ρ‚Π° врСдност; ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΠΎΡ‚ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ Π³ΠΈ ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π° со строга нишка Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ ситС врСдности Ρ‡Π΅ΠΊΠΎΡ€ ΠΏΠΎ Ρ‡Π΅ΠΊΠΎΡ€ ΠΈ Π½Π΅ остава простор Π·Π° ΠΊΠ°ΠΊΠ²Π° Π±ΠΈΠ»ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΡ˜Π°.

Π£ΡˆΡ‚Π΅ Сднаш, Π΄Π° Π³ΠΎ оставимС Π½Π° страна ΠΈ Π΄Π° Π±ΠΈΠ΄Π΅ појасно. ΠžΡ€Π°ΠΊΠ»ΠΎΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ само спорСд ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π°Ρ‚Π° шСма. ΠΠ΅Ρ˜Π·ΠΈΠ½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ цСлосно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ ΠΎΠ΄ воспоставСнитС цврсто со ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€. Π§Π΅ΠΊΠΎΡ€ Π»Π΅Π²ΠΎ ΠΈ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Сдноставно Π½Π΅ΠΌΠ° Π΄Π° ΠΏΠΎΠΌΠΈΠ½Π΅. Π—Π½Π°Ρ‡ΠΈ, Π°ΠΊΠΎ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π΅ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½Π° Π²ΠΎ Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ΠΎΡ‚, корисникот Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π½ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ Π½ΠΈΡˆΡ‚ΠΎ; стотици ΠΌΡ€Π΅ΠΆΠ½ΠΈ јазли вСќС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»Π΅ сè Π·Π° Π½Π΅Π³ΠΎ.

Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΈΠΌΠ° Π΅Π΄Π΅Π½ VECRO кој Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° Π³Π»Π°Π²Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° Π½Π° Waves (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја стартуватС сопствСната, Π½Π΅ Π΅ Ρ‚Π΅ΡˆΠΊΠΎ, само ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ‚ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°). Π’Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ PHP (Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΎ WavesKit, Π·Π° ΡˆΡ‚ΠΎ Π’ΠΈ ΠΊΠ°ΠΆΠ°Π² ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ).

Π—Π° Π΄Π° ја користитС услугата Oracle ΠΌΠΎΡ€Π°:

  • ΠŸΠΎΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Π³ΠΎ R;
    • Π˜ΡΠΏΡ€Π°Ρ‚Π΅Ρ‚Π΅ Π½Π°Ρ˜ΠΌΠ°Π»ΠΊΡƒ 0.005 Π±Ρ€Π°Π½ΠΎΠ²ΠΈ Π΄ΠΎ Π°Π»ΠΈΡ˜Π°ΡΠΎΡ‚ Π½Π° oracle init@vecr;
    • ΠŸΡ€ΠΈΠΌΠ°Ρ˜Ρ‚Π΅ Π³ΠΎ R-ΠΊΠΎΠ΄ΠΎΡ‚ Π²ΠΎ ΠΏΠΎΠ»Π΅Ρ‚ΠΎ Π·Π° ΠΏΡ€ΠΈΠΊΠ°Ρ‡ΡƒΠ²Π°ΡšΠ΅ ΠΏΡ€ΠΈ прСнос Π½Π° 1 R-vecr Ρ‚ΠΎΠΊΠ΅Π½ ΠΎΠ΄ ΠΎΡ€Π°ΠΊΡƒΠ»ΠΎΡ‚ Π΄ΠΎ корисникот;
  • Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ потпис;
    • Π˜ΡΠΏΡ€Π°Ρ‚Π΅Ρ‚Π΅ Π½Π°Ρ˜ΠΌΠ°Π»ΠΊΡƒ 0.005 Π±Ρ€Π°Π½ΠΎΠ²ΠΈ Π½Π° oracle алијас random@vecr, Π° исто Ρ‚Π°ΠΊΠ° МОРА Π΄Π° Π³ΠΎ Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΎΡ‚ R-ΠΊΠΎΠ΄ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ кориснички ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ ΠΏΠΎΠ»Π΅Ρ‚ΠΎ Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠ³;
    • Π”ΠΎΠ±ΠΈΡ˜Ρ‚Π΅ Π³ΠΎ S-ΠΊΠΎΠ΄ΠΎΡ‚ Π²ΠΎ ΠΏΠΎΠ»Π΅Ρ‚ΠΎ Π·Π° ΠΏΡ€ΠΈΠΊΠ°Ρ‡ΡƒΠ²Π°ΡšΠ΅ ΠΏΡ€ΠΈ прСнос Π½Π° 1 Ρ‚ΠΎΠΊΠ΅Π½ S-vecr ΠΎΠ΄ ΠΎΡ€Π°ΠΊΡƒΠ»ΠΎΡ‚ Π΄ΠΎ корисникот;
  • ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ‚Π΅ S-ΠΊΠΎΠ΄ ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π²ΠΎΡ€ Π½Π° псСвдо-случаСн Π±Ρ€ΠΎΡ˜.

Нијанси Π½Π° Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°:

  • Π‘Ρ€Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ испратСни Π΄ΠΎ Oracle сС користат ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΎΠ²ΠΈΠ·ΠΈΡ˜Π° Π·Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π° корисникот, Π΄ΠΎ максимум 1 Waves;
  • R-ΠΊΠΎΠ΄ΠΎΡ‚ Π΅ ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±Π°Ρ˜Ρ‚ со Π·Π½Π°ΠΊΠΎΡ‚ β€žRβ€œ ΠΈ R врСдност ΠΎΠ΄ 32 Π±Π°Ρ˜Ρ‚ΠΈ со Π±Π°Π·Π°58 ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π°;
  • R-ΠΊΠΎΠ΄ΠΎΡ‚ Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠ³ΠΎΡ‚ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΡ€Π², ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π° корисникот Π΄ΠΎΠ°Ρ“Π°Π°Ρ‚ ΠΏΠΎ R-ΠΊΠΎΠ΄ΠΎΡ‚;
  • S-ΠΊΠΎΠ΄ΠΎΡ‚ Π΅ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ˜Π° Π½Π° Π±Π°Ρ˜Ρ‚ ΠΎΠ΄ Π·Π½Π°ΠΊΠΎΡ‚ β€žSβ€œ ΠΈ 32-Π±Π°Ρ˜Ρ‚ΡΠΊΠ° Π±Π°Π·Π°58-ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°Π½Π° врСдност Π½Π° S;
  • S Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΎ дСлСњС, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ користитС S ΠΊΠ°ΠΊΠΎ цСлосСн 256-Π±ΠΈΡ‚Π΅Π½ псСвдослучаСн Π±Ρ€ΠΎΡ˜ (овој Π±Ρ€ΠΎΡ˜ ΠΌΠΎΠΆΠ΅ Π΄Π° сС смСта Π·Π° максимум 252-Π±ΠΈΡ‚Π΅Π½ псСвдослучаСн Π±Ρ€ΠΎΡ˜);
  • ΠΠ°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½Π°Ρ‚Π° ΠΎΠΏΡ†ΠΈΡ˜Π° Π΅ Π΄Π° сС користи Ρ…Π°ΡˆΠΎΡ‚ Π½Π° S-ΠΊΠΎΠ΄ΠΎΡ‚ ΠΊΠ°ΠΊΠΎ псСвдо-случаСн Π±Ρ€ΠΎΡ˜.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΏΡ€ΠΈΠΌΠ°ΡšΠ΅ S-ΠΊΠΎΠ΄:

Од Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠ° Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°, ΠΏΡ€ΠΎΡ€ΠΎΠΊΠΎΡ‚ Π΅ цСлосно ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° Π³ΠΎ користитС. Од Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΠΎΠ΄ страна Π½Π° просСчниот корисник, постои нСдостаток Π½Π° ΡƒΠ΄ΠΎΠ±Π΅Π½ Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ, ΠΎΠ²Π° ќС Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΠΎΡ‡Π΅ΠΊΠ°.

ЌС ΠΌΠΈ Π±ΠΈΠ΄Π΅ Π΄Ρ€Π°Π³ΠΎ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π°ΠΌ Π½Π° ΠΏΡ€Π°ΡˆΠ°ΡšΠ° ΠΈ Π΄Π° ΠΏΡ€ΠΈΡ„Π°Ρ‚Π°ΠΌ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π°ΠΌ.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€