Бұл мақалада криптовалюта алгоритмі деген не және қазіргі уақыттағы ең танымал шифрлеу алгоритмдері қарастырылады.
Түйінді сөздер: криптовалюта, шифрлау алгоритмі, майнинг, блокчейн.
В статье анализируются алгоритмы шифрования, применяемые в различных криптовалютах.
Ключевые слова: криптовалюта, алгоритм шифрования, майнинг, блокчейн.
Әрбір криптовалютаның өзінің шифрлау алгоритмін болады. Алайда, монеталар саны криптовалюталар алгоритмдерінің санынан едәуір асып түседі, сондықтан кейбір криптовалюталар бірдей деректерді хэштау алгоритмін қолданады.
Криптовалюталар алгоритмі деген не?
Криптовалюта алгоритмдері — бұл криптовалютаны шифрлайтын белгілі бір криптографиялық механизмдер мен ережелер жиынтығы. Арнайы жабдықты пайдаланатын майнерлер белгілі бір криптовалюта алгоритмін хешты табу арқылы шешеді. Дұрыс хэш табылғаннан кейін блокчейнда жаңа блок жасалады, онда транзакциялар, алдыңғы блоктың хэші, майнер алған сома және т. б. туралы ақпарат сақталады.
Дэшифрлеу процесі (монеталарды табу) кездейсоқ мәліметтер жиынтығын кейіннен блокчейнге жазылатын жүйелі ақпаратқа айналдырады.
Бүгінгі таңда бірнеше ондаған криптовалюта алгоритмдері бар, алайда олардың тек бірнешеуі танымал. Олардың ішінде ең танымалдары: SHA-256, EtHash, Scrypt, X11, CryptoNight, EquiHash (Equiesh), X13, Quark, NeoScrypt.
Ең танымал шифрлау алгоритмдері
SHA-256
SHA-256 алгоритмін 2001 жылы АҚШ Ұлттық қауіпсіздік агенттігі ойлап тапқан. Бұл алгоритм коллизияларды анықтау және кері кескінді анықтау сияқты шабуылдардың түрлеріне тұрақтылықты тестілеуден өткен жалғыз SHA тобындағы криптовалюта алгоритмі болып табылады.
Криптовалюталардан басқа, SHA-256 кейбір басқа технологияларда да кеңінен қолданылады. Мысалы, TLS, SSL, PGP, SSH сияқты қауіпсіздік протоколдарының жұмысы SHA-256 негізінде жасалған.
SHA аббревиатурасы — Secure Hash Algorithm, ал 256 — бұл криптовалюта алгоритмі 256 биттік хэш шығаратындығын білдіреді. SHA-256-ге негізделген криптовалюталар үшін хэш жылдамдығы секундына Gigahash бірлігінде есептеледі (GH/s). Блокты құру үшін 6–10 минут уақыт кетеді.
Bitcoin мен оның туынды криптовалюталары (fork) — Bitcoin Cash, Emercoin, Namecoin, Peercoin, BitcoinDark және т. б. SHA-256 алгоритмінде жұмыс істейді.
2009 жылы, Bitcoin өте шектеулі адамдар тобына белгілі болған кезде, майнинг өндірісінде қарапайым компьютерлердің орталық процессорлары қолданылатын. Кейінірек қуатты графикалық процессорлар қолдана бастады. Алайда, қазір Bitcoin-дің танымалдығы өте үлкен болғандықтан, үлкен есептеу қуаттылығы бар ASIC — арнайы құрылғыларды пайдалану экономикалық тұрғыдан тиімді болды.
Ethash (Dagger Hashimoto) алгоритмі
Ethash — бұл Ethereum өндірісі үшін арнайы әзірленген криптовалюта алгоритмі. Бұл хэштеу алгоритмі екі түрлі алгоритмге негізделген: Dagger (Виталий Бутерин) және Hashimoto (Таддеус Дрия).
Dagger — бұл видеокартаның жадына қатаң талап қоятын криптовалюта алгоритмі. Оның жұмыс принципі Scrypt-ке ұқсас, бірақ оның өнімділігі жоғары, бұл әсіресе желінің күрделене түсуі жағдайында байқалады. Бірақ Dagger-дың кейбір осал тұстары бар, сондықтан оны Hashimoto-мен бірге қолданған тиімді болады.
Hashimoto алгоритмі енгізу/шығару операцияларымен арнайы режимде жұмыс істейді. Атап айтқанда, бұл ақпаратты жазу мен оқуға арналған жадтың шексіз болмауына байланысты өндіріс жылдамдығын шектейді.
Hashimoto — бұл көп жадты қажет ететін кпритовалюта алгоритмі, сондықтан көптеген енгізу/шығару операцияларын орындау мүмкін емес, яғни шифрлау үшін кездейсоқ шамаларды шексіз таңдау әдісін қолдану жұмыс істемейді. Бұл ASIC құрылғыларының Ethereum өндіруге жарамсыздығының негізгі себебі болды.
Ethash алгоритмінің хэші секундына Megahash өлшенеді (MH/s).
Ethash бастапқыда Ethereum үшін жасалды, алайда Ethereum Classic, Ubiq, Expanse, Pirl, Musicoin де осы алгоритмді қолданады.
Ethash негізіндегі монеталары үшін майнинг GPU процессорларының өндеу қуаты қолданылады. Ең тиімді графикалық карталар AMD маркасын өндіруде көрсетілген. Алайда Nvidia 10 сериялы бейне карталарын пайдалану майнерлерге жақсы пайда әкеледі. Негізгі талап — жедел жадтың жоғары жылдамдығы, ол желінің күрделене түсуіне байланысты үнемі өсіп отырады.
Жоғарыда айтқанымыздай, ASIC құрылғылары Ethash негізінде монеталарды шығаруға жарамсыз болды, бірақ бәрі 2018 жылдың жазында қытайлық ірі өндіруші Bitmain Innosilicon A10 ETHMaster моделін іске қосқан кезде барлығы өзгерді. Енді бұл типті монаталарды өндіру үшін ASIC құралдарын қолдану мүмкін болды.
Scrypt
Scrypt — «аппараттық шабуылға» тұрақтылығымен жылғыз майнерлердің арасында тану алған криптовалюта алгоритмі. Бұл алгоритмнің құрылу тарихы, Bitcoin майнинг өндірісін монополиялауға өте оңай болатындығы болжалды, өйткені SHA-256 функциясының қарапайымдылығы майнинг процесін автоматтандыруға мүмкіндік береді.
Сондықтан, Scrypt құрудағы басты міндет есептеу операциялары үшін пайдаланылатын ресурстарға қажеттіліктің жоғарылауына байланысты блоктарды құру механизмін қиындату болды. Атап айтқанда, жедел жадтың мөлшері (Ethash сияқты) өте маңызды, ал қуатты тұтыну мен өндеу қуаттылығы SHA-256 жағдайына қарағанда әлдеқайда төмен.
Scrypt негізіндегі блокчейнде блоктар құру жылдамдығы шамамен 30 секундты құрайды. Ethash сияқты хэшрейт жылдамдығы секундына Мегахашпен өлшенеді (MH/s).
Scrypt майнинг алгоритмі Litecoin, Dogecoin, Redcoin, Monacoin, Viacoin, Syscoin сияқты монеталар жұмысының негізі болып табылады.
Бастапқыда Scrypt негізінде криптовалюталарды алу үшін орталық және графикалық процессорлар пайдаланылды, бірақ алгоритм майнинг корпорацияларына қарсы тұра алмады және 2014 жылы Scrypt монеталары үшін алғашқы ASIC жасалды. Бұған жауап ретінде криптографиялық энтузиастар алғаш рет Vertcoin монетасында қолданылған Scrypt-N атты алгоритм жасады. Бұл оперативті жадқа қойылатын талаптар үнемі өсіп отыратындығымен ерекшеленеді.
X11 майнинг алгоритмі
Бұл шифрлау алгоритмін ең үздік криптовалюталардың бірін жасаушысы (Dash, бұрынғы Darkcoin) — Эван Даффилд. Мұның бәрі оның биткоиннің анонимділігі мен өзара алмастырылуын жақсартқысы келетіндігімен басталды, бірақ қауымдастық оның идеясын құптамады. Сондықтан Эванның өзінің жеке криптоалгоритмін жасаудан басқа амалы қалмады.
X11 криптовалюта алгоритмі арнайы Dash монетасын өндіру үшін жасалған. X11-дің басқа алгоритмдерден ерекшелігі, ол бір хэш функциясының орнына он бір функцияны қолданады. Бұл дегеніміз, бұл технология жоғары дәрежеде қауіпсіздікті қамтамасыз ете алады, өйткені жүйеге зиян келтіру үшін шабуылдаушы барлық 11 функцияны бұзуы керек, бұл екіталай, себебі енгізілген өзгерістер бірінші функцияны бұзғаннан кейін көрінетін болады, ал программистерде хакер он бірінші функцияға жеткенге дейін жүйені қорғауға көп уақыты болады.
X11-нің тағы бір артықшылығы — оның негізінде құрылған криптовалюта майнингі энергияны тұтыну тұрғысынан өте үнемді. Энергия үнемдеу — бұл салмақты «бонус» деп айту керек, өйткені Эван үлкен энергия шығындарын қажет етпейтін алгоритм құруды жоспарламады. Майнерлер бұл қасиетті байқады. Тәжірибелер көрсеткендей, графикалыұ процессорлар арқылы Dash-ты өндіру, ASIC құрылғыларында Bitcoin өндіруге қарағанда 30–50 % аз электр энергиясын тұтынады.
X11 алгоритмі негізінде жұмыс істейтін монеталарды шығару үшін сіз тек GPU ғана емес, сонымен қатар CPU-ды да қолдана аласыз. Бұл қазіргі уақытта процессорларда өндіруге мүмкіндік беретін бірнеше алгоритмдердің бірі, бұл оны жалғыз майнерлер мен шағын компаниялар үшін тартымды етеді. Әрине, X11 алгоритміне негізделген криптовалюталары үшін ASIC құрылғылары бар.
Монеталар, мысалы, Dash, Pura, Tao, Synergy, Enigma және басқалар X11 криптовалюта алгоритмінде жасалған.
Қазіргі уақытта X11 бірнеше хэш-функциясын қолданатын жалғыз криптовалюта алгоритм түрі емес. Оның үлгісіне сүйене отырып, бірнеше хэш-функцияларды біріктіруге негізделген басқа алгоритмдер жасалды: X12, X13, X14, X14, X15, X16, тіпті X17. Дегенмен, олардың ішінде X11 әлі күнге дейін ең танымал және ең көп қолданылады.
CryptoNight
Майнинг өндірісінің алгоритмі CryptoNight, ең алдымен, Monero (XMR) криптовалютасы арқасында белгілі болды. CryptoNight пайдалану құпия, қауіпсіз және алмастырылатын криптовалютаны құруға мүмкіндік береді. Бұл қасиеттерге CryptoNote протоколын қолдану арқылы қол жеткізіледі, оны 2012 жылы Николай ван Саберхаген лақап атымен блокчейн жасаушысы (немесе жасаушылар тобы) жасаған. Бұл есімнің артында кімнің жасырғаны әлі белгісіз.
CryptoNight алгоритмінің жоғары жасырын болуына екі технологияны қолдану арқылы қол жеткізіледі:
− Сақиналық қолдар (жіберушіні шифрлау);
− Бір реттік мекенжайлар (алушыны шифрлау).
Мәмілелер толығымен жасырын болғандықтан, CryptoNight криптовалюта алгоритмінде салынған барлық монеталар бір-бірін алмастыра алады. Бұл оның Bitcoin сияқты «қараңғы өткен» жоқ екенін білдіреді.
Бұл алгоритмнің тағы бір маңызды ерекшелігі — майнинг өндірісі үшін GPU мен CPU-ды қолдану тиімді, дегенмен тек орталық процессорда өндіру де оң нәтиже береді. Керісінше, ASIC құрылғыларын пайдалану экономикалық жағынан қолайсыз.
Блокты генерациялау үшін дұрыс nonce(number that can only be used once) табу процесі үшін CryptoNight кездейсоқ блоктарды жасайды, ол SHA-256 алгоритміндегідей, математикалық операцияларды орындау үшін майнерлерге жиі қоңыраулар жіберудің орнына, аралық ақпаратты есептеу құрылғысының жадында сақтайды. Бұл майнерге орталықтандырылмаған желіні құруға және хешрейттың жартысынан көбі бір түйінге жататын жағдайдың алдын алуға мүмкіндік береді.
Monero, Bytecoin, DigitalNote, Electroneum сияқты криптовалюталар анонимді CryptoNight алгоритмінде жасалады.
Блокты құру шамамен 60 секундты алады.
Equihash
Бұл криптовлюта алгоритмін CryptoLUX зерттеу тобының құрамына кіретін Люксембург университетінің ғалымдары Александр Бирюков пен Дмитрий Ховратович жасаған. 2016 жылы алгоритмді жасау процесі кең шеңберге ұсынылды.
Equichash-ті негізі ретінде қолданған алғашқы криптовалюта Zcash болды.
Бұл алгоритмнің негізі «туған күн» парадоксы принципіне негізделген хэш-функциясы болып табылады. Бұл математикалық заң ықтималдылықты есептеу үшін қолданылады. Сипаттамасы:
Eгер бөлмеде 23 адам болса, олардың кемінде екеуінің туған күні бір күнге түсу ықтималдығы 50 % құрайды. Осы сызба негізінде майнинг процесінде nonce санын табу ықтималдығы -ге тең.
Алдыңғы екі алгоритм сияқты, Equihash математикалық есептеулердің жылдамдығымен емес, жедел жадының көлемімен талап етеді.
Equihash ZCash, Bitcoin Gold, Komodo, ZClassic сияқты криптовалюталарда қолданылады.
Блоктарды құру 150 секундты алады, ал хэшрейт секундына Мегахашпен өлшенеді (MH/s).
Төменде ең танымал монеталардың және олардың шифрлау алгоритмдерінің кестесі берілген:
Криптовалюта |
Шифрлау алгоритмі |
Bitcoin |
SHA-256 |
Ethereum |
Dagger-Hashimoto |
Steemit |
SHA-256 |
Ripple |
ECDSA |
DigiByte |
SHA256 |
Monero |
CryptoNight |
Siacoin |
blake2b |
Litecoin |
Scrypt |
EthereumClassic |
Dagger-Hashimoto |
Dogecoin |
Scrypt |
NEM |
blockchain |
Syscoin |
Scrypt |
Augur |
Smart contract |
Dash |
X11 |
ByteCoin |
CryptoNight |
BelaCoin |
Scrypt |
lbryCoin |
LBRY |
Radium |
Smartchain |
Decred |
Blake256 |
Einsteinium |
Scrypt |
Gridcoin |
BOINC |
BOINC |
BOINC |
Dashcoin |
CryptoNight |
Potcoin |
Scrypt |
Peercoin |
SHA-256 |
Namecoin |
SHA-256 |
Nautiluscoin |
NXT |
Expanse |
Dagger-Hashimoto |
PinkCoin |
X11 |
FoldingCoin |
Stanford Folding |
Navcoin |
X13 |
ViaCoin |
Scrypt |
DNotes |
Scrypt |
Vcash |
Blake256 |
Үлкен ASIC шаруашылықтарын пайдалану салдарынан майнинг өндірісін монополизациялау криптовалюталар проблемасы болып табылады. Сондықтан қазіргі майнинг алгоритмдері жаңа монеталарды шығару үшін ASIC құрылғыларын пайдалануды шектеуге тырысады. Ол үшін, SHA-256 үшін маңызды есептеу жылдамдығы емес, жедел жадқа жоғары талаптар қою арқылы қол жеткізуге болады. Қазіргі кезде көптеген монеталарды шығару үшін ASIC құрылғылары бар болғанына қарамастан, оларды пайдалану әрқашан экономикалық тұрғыдан тиімді және негізделген емес бола бермейді.
Әдебиет:
- Arvind Narayanan, Joseph Bonneau. Биткойн и криптовалютные технологии, 2015.
- Pedro Franco. The Blockchain // Understanding Bitcoin: Cryptography, Engineering and Economics. John Wiley & Sons, 2014.
- Панасенко С. П. Алгоритмы шифрования. Специальный справочник. — СПб.: БХВ-Петербург, 2009. — 313с.