Переводы денег, а также электронная коммерция в настоящее время опирается на различные финансовые учреждения, такие как банки, брокерные, инвестиционные и страховые компании, которые выступают в роли доверенных посредников для проведения платежей. В эпоху цифровых технологий количество платежей возросло многократно, но схема проведения платежа осталась прежней. Необходим доверенный посредник для совершения платежа, но такая схема влечет определенные проблемы.
Цена услуг посредников увеличивает стоимость каждого отдельного платежа и т.к. у посредника имеется минимальная стоимость для проведения операции становиться невозможным проведение микроплатежей.
Также централизованный доверенный посредник зачастую выступает как слабое звено в цепочке платежей, подвергаясь атакам хакеров и совершая огромное количество проверок каждого платежа, что сказывается на скорости проведения платежей.
В 2008 году Биткоин предложил решение, платежную систему, основанную на криптографии, а не на доверии третьему лицу. Основная особенность биткоина – для работы этой цифровой валюты не нужно ни банка, никакого либо другого посредника, который может повлиять на процесс денежного обмена, блокировать его каким-либо образом, получать комиссию или начать выпускать неограниченное количество денег. Эта особенность во многом повлияла на популярность этой валюты.
Но если убрать посредника, то возникает проблема – как тогда обеспечить безопасность проведения платежей, а также защитить всю систему от вмешательства со стороны?
Биткоин предложил децентрализованное решение этой проблемы, основанное на метках времени на денежных переводах, а также на механизме сложных криптографических вычислений, известных как «доказательства работы», с помощью которых проверяется и подписываются все переводы. Сформированные таким образом записи о переводах в системе Биткоин невозможно изменить, не выполнив огромного количества вычислений.
Вот об этом механизме криптографической защиты и пойдет речь в этой статьей.
Для чего нужен майнинг? Кто такие майнеры?
Майнинг – это процесс использования вычислительной мощности компьютера (видеокарты, процессора или специализированных устройств) для обеспечения безопасности сети, проверке правильности денежных переводов и синхронизации данных всех пользователей.
В целом майнинг может восприниматься как центр обработки данных за исключением того, что он был разработан так, чтобы быть полностью децентрализованным, при этом его участники могут находиться в любых странах и ни один человек не имеет контроля над сетью.
Процесс называется майнингом, по аналогии с добычей золота, поскольку это механизм, используемый для выпуска новых монет криптовалюты. Но в отличии от добычи золота, майнинг генерирует вознаграждение в виде монет в обмен на услуги по поддержке безопасности и работоспособности сети.
Проще говоря, вы своим компьютером выполняете все проверки, а за это сеть вознаграждает вас монетами криптовалюты. Затем вы можете использовать эти монеты для оплаты в этой же сети, или совершить обмен на бумажные деньги – доллары, рубли т.д. Но возникает закономерный вопрос, откуда изначально берётся обеспечение этих криптомонет, что их можно обменять на бумажные деньги? Ответ на этот вопрос уходит корнями далеко в экономическую теорию, но вкратце можно сказать так:
Вся эта система построена так, что есть участники сети, те кто пользуется криптомонетами, а есть те, кто обслуживает сеть и создают новые монеты (майнеры).
Когда вы намайните (создадите) определенное количество криптомонет, то вы уже становитесь тем, кто продает эти монеты. Майнинг выступает стимулом для всех желающих поддерживать работоспособность сети, получая за это вознаграждение. За счет этого сеть становиться устойчивой к отказам, безопасной и дешевой, что в свою очередь стимулирует людей еще больше покупать и продавать криптомонеты.
Многие криптовалюты используют майнинг. Но изначально заложен лимит на количество монет, которые можно добыть, поэтому со временем добыча будет остановлена, но майнинг все равно будет нужен для обслуживания сети и вознаграждение за майнинг будет поступать с комиссий за переводы.
Также растет сложность майнинга с каждым добытым блоком для добычи новых блоков нужно более мощное оборудование. Поэтому многие объединятся в так называемые пулы майнинга, где один сервер объединяет мощности многих компьютеров в одну и каждый получает вознаграждение, пропорциональное мощности своего компьютера.
Кто такие майнеры? Из всего вышесказанного становится ясно, что майнеры, это те узлы сети, которые занимаются поддержкой сети и добычей новый монет, т.е. майнингом. Майнером может быть, как один компьютер, так и целая группа компьютеров, объединённых в пул. В этом случае одним супермайнером выступает сервер пула, который объединил все вычислительные мощности. Он же получает вознаграждение и распределяет его среди всех подключенных к нему компьютеров.
При майнинге майнеры соревнуются друг с другом кто будет первым, кто возьмет неподтвержденную транзакцию, проверит ее на правильность, найдет ключ для защиты и добавить ее в блокчейн. Первый майнер, который это сделает, получит финансовое вознаграждение. Более подробно о том, что такое блокчейн вы можете почитать в статье «Блокчейн – что это такое простыми словами»
Принцип майнинга криптовалюты в картинках – простое объяснение
Стоить заметить, что процесс майнинга для разных криптовалют имеет свои нюансы. Здесь мы с вами рассмотрим в общем как происходит этот процесс, без привязки к криптовалюте, хотя большая часть информации все же будет ориентирована на ведущую по капитализации криптовалюту – Биткоин.
Представим, что у нас есть сеть со своей криптовалютой, состоящая из множества узлов. Каждый узел – это участник сети или попросту обычный человек со своим компьютером или смартфоном.
В этой сети все продают и покупают криптомонеты как оплату за товары или услуги. Например один из участников A отдает другому участнику B одну пиццу, за которую B в свою очередь платит A 5 криптомонет.
Таким же образом поступают и другие участники сети. Они совершают переводы денег друг другу за разные услуги. Аналогом может быть банковский перевод за услуги, но в нашем случае нет центрального органа, который принимает и отправляет переводы. В сети все равны.
Но теперь появляется другая проблема – например участник B может потратить свои деньги много раз, никто ведь не контролирует, сколько у B было денег, сколько стало денег. Конечно любой участник может завести журнал, в который он будет записывать сколько у B было денег и сколько стало, когда он совершил с ним обмен. Например A может записать что у B сейчас осталось 2 криптомонеты, после того как он заплатил 5. Но не все участники сети видят, что происходит обмен между A и B.
C и D не видят операций потому, что нет центрального журнала, куда бы заносились все операции и каждый мог бы посмотреть кто, куда и сколько потратил. Получается, что B может перевести C 5 криптомонет и потом перевести еще D 5 криптомонет, хотя по факту он не обладает таким количеством монет.
Это известная проблема двойных расходов. Может быть вернемся обратно к централизованный системам и будем точно уверены, что наши деньги учтены и находятся в целости и сохранности? Вы уверены, что ваши деньги при централизованной системе находятся в безопасности? 🙂
Децентрализованные системы пошли по другому пути. Они взяли центральный узел, на котором все хранилось – все записи о переводах, количество сумм и т.д. и размножили это журналы среди всех участников.
Но теперь необходимо поддерживать все эти журналы в целостности, т.е. следить чтобы никто не «жульничал» при переводах и не приписывал себе несуществующие суммы. Вот здесь на первое место выходит майнинг и майнеры.
В сети не все узлы занимаются майнингом, но нет ограничения на количество майнер-узлов. Обычно среднестатистическая сеть с криптовалютой разделена на «тонких» и «толстых» клиентов. «Тонкие» – это узлы, которые не занимаются майнингом, а просто совершают переводы с кошелька на кошелек другого узла. Это «тонкие» клиенты просто используют сеть как средство обмена. «Толстые» — это обслуживающие узлы, узлы, которые занимаются майнингом, по сути майнеры.
Так как же майнеры осуществляют поддержку сети и все проверки, о которых говорилось ранее? Программное обеспечение это сети, которым пользуются все участники без исключения, написано таким образом, что все новые заявки на переводы денежных средств в первую очередь направляются майнерам. Например A передает B 5 криптомонет. Эта транзакция на перевод отправляется всем(!) майнерам в сети.
Почему же всем, а не только соседнему? Механизм обеспечения безопасности, о котором речь пойдет ниже требует такой логики работы.
Итак транзакция отправлена всем майнерам. Они выполняют несколько вещей:
Теперь B обращается к ближайшему майнеру, копирует журнал себе и видит, что в журнале есть запись о переводе от A к B 5 криптомонет.
Может показаться, а чем такая система отличается от обычной централизованной? Если все равно майнеры выступают в роли центральных органов. Но на самом деле это не совсем так. Майнерами могут (а по некоторым техническим документам и должны) быть все узлы сети. Это значит, что отдельно взятый майнер без согласования с другими майнерами не может вносить изменения и не является центром, а просто еще одним узлом, которым может стать любой другой узел вместо него.
Если A, B или кто-либо еще попытается внести несанкционированные изменения в журнал они просто не будут иметь никакой силы и будут отвергнуты сетью, т.к. все изменения производят майнеры, причем майнеры сами в одиночку также не могут что-либо внести в журналы, а постоянно «сверяют» эти журналы друг с другом.
Самый последний и «свежий» журнал копируется всеми участниками сети при обращении к ближайшему майнеру. Таким образом все участники имеют последнюю версию журнала и вносить в нее изменения не могут самостоятельно. Для этого им нужны майнеры, причем скомпрометировать один майнер злоумышленнику не даст ничего, потому что сеть принимает транзакции большинством голосов и взломанный компьютер одного из майнеров также не сможет навредить сети.
Для того, чтобы внести изменения в журнал нужно повторить все поиски секретных ключей вплоть до нужной нам транзакции, но так как даже одно вычисление может занимать значительное время и требовать значительных ресурсов, повтор всех вычислений может потребовать огромное количество вычислений, который раньше были сделаны всеми майнерами сети.
Украсть деньги из цепочки транзакций при таких условиях невозможно, если только вы не обладаете вычислительными мощностями всех майнеров сети умноженного на количество посчитанных блоков, для того чтобы сделать это за приемлемое время.
Под журналом, в данном контексте разговора, имеется ввиду конечно же – блокчейн.
В итоге что мы имеем. Все участники сети имеют журналы с записями и видят состояние счетов всех других участников и теперь если A попытается передать B несуществующую сумму в 1000 криптомонет сеть просто отвергнет такой перевод после всех проверок.
Все это осуществляется через специальное программное обеспечение, которое установлено у каждого узла сети. Использовать какое-то свое программное обеспечениhе не получиться, так как сеть также отвергнет все транзакции от этого узла, увидев «чужого» в своих рядах.
Исходный код программного обеспечения, которое обслуживает сеть — обычно открыт и доступен для всех. Каждый может убедиться, что в коде нет никаких тайных перевод денег или подслушивания. Также каждый разработчик при желании может присоединиться к разработке программы или же на основе существующего кода создать свою криптовалюту (что кстати мы и наблюдаем сейчас при всем многообразии криптовалют).
Таким образом майнинг и майнеры выступает в роли распределенного децентрализованного регулирующего органа в сети. При таком раскладе безопасностью управляют математические алгоритмы, исключая человеческий фактор. В этой модели без желания участников сделок никакая третья сторона не может ни помешать им, ни навязать свои услуги, ни заблокировать или конфисковать чужие средства. Даже если предположить, что злоумышленники смогут все-таки взломать всю сеть и взять под свой контроль. Ценность такой сети моментально упадет и злоумышленнику просто не выгодно будет использовать сеть.
Желание заработать движет майнерам как «невидимая рука» рынка и является стимулом. Тем самым, зарабатывая на майнинге, даже не вникая в суть этого процесса, они укрепляют безопасность сети, обслуживают ее и делают более стабильной.
Майнинг популярных криптовалют – биткоин, эфир, рипл, монеро и т.д.
Пару слов о майнинге известных криптовалют.
Майнинг Биткоина (Bitcoin)
Майниг классического биткоина производиться с использованием алгоритма SHA-256. Первоначально для майнинга биткоина использовался процессор обычного персонального компьютера. Но когда на рынке появились производительные видеокарты, майнинг на процессорах стал нецелесообразным. Сложность сети очень быстро возросла и количество получаемых биткоинов при майнинге на процессоре по стоимости стало меньше чем затраты на электричество при использовании процессора. Видеокарты были производительны процессоров именно для расчета по алгоритму SHA-256.
Затем на смену обычному GPU майнингу пришел FPGA майнинг – майнинг на специальном программируемом чипе, который потреблял очень малое количество энергии с относительно высокой производительностью.
Далее на смену FPGA чипам пришли специальные интегральные схемы (ASIC устройства), которые были спроектированы производителем специально для майнинга по алгоритму SHA-256. Отношение потребляемого электричества к производительности у таких устройств очень высоко, что постепенно свело на нет эффективность майнинга на видеокартах и FPGA чипах к нулю, также как в свое время видеокарты вытеснили процессоры. Сейчас наиболее эффективными ASIC устройствами для майнинга с наибольшей производительностью являются: BITMAIN AntMiner S9, BITMAIN Antminer T9, BITMAIN AntMiner R4, Canaan Creative Avalon 7, BITMAIN AntMiner S7, Canaan Creative Avalon 6.
Для биткоина также существует облачный майнинг и совместные пуля для майнинга.
Майнинг Биткоин-кэш (BitcoinCash)
Майниг биткоин-кэш производиться с использованием алгоритма SHA-256, также как и у классического биткоина. Эта криптовалюта является ответвлением (форком) от основного биткоина. После ее появления, некоторые майнеры и пулы переключили свои мощности на майнинг этой валюты, в результате чего сложность добычи возросла.
Это криптовалюта внесла в классический биткоин несколько нововведений, но процесс добычи остается таким же, как и у классического биткоина.
Для майнинга биткоин-кэш также как и в биткоине используются специализированные ASIC устройства: BITMAIN AntMiner S9, BITMAIN Antminer T9, BITMAIN AntMiner R4, Canaan Creative Avalon 7, BITMAIN AntMiner S7, Canaan Creative Avalon 6.
Майнинг Эфириум (Ethereum)
Майнинг эфириума производиться с использованием алгоритма Ethash, который является модифицированной версией алгоритма DaggerHashimoto. Для майнинга используются видеокарты и процессоры, а также специализированное программное обеспечение, наиболее популярным из которого является Claymore Miner.
Наиболее эффективные видеокарты на данный момент для майнинга эфира: NVIDIA GTX 1080 Ti,AMD R9 390,AMD RX 480 8GB, NVIDIA GTX 1070, NVIDIA GTX 1080,AMD RX 580 8GB.
Каждый майнер, который генерирует блок один раз в 12 секунд получает вознаграждение в 5 монет эфира. Перед тем, как начать майнить, компьютер майнера должен создать «DAG» файл, который является специальной структурой данных для алгоритма Ethash, который предотвращает использование ASIC устройств, что делает сеть эфириум более децентрализованной с большим количеством майнеров. Создание файла занимает около 10 минут.
Алгоритм Ethash требует память для размещения DAG файла, на данный момент это около 2 Гб ОЗУ, если майнинг происходит на процессоре или 2 Гб видеопамяти на видеокарте.
Сеть эфириум также реализует смарт-контракты, которые используются для создания автоматических условий и соблюдений их выполнения в рамках сети.
Майнинг Рипл (Ripple)
Рипл не использует майнинг. Незначительная часть криптовалюты остается за RippleLabs. Оставшаяся часть — целенаправленно раздается отдельным сегментам своей целевой аудитории в виде грантов и спонсорства. Все, что продается на биржах обмена используется для проведения обменов в сети рипл.
Майнинг Лайткоин (Litecoin)
Майниг лайткоина производиться с использованием алгоритма Scrypt. Функция хэшинга Scrypt специально разрабатывалась с целью усложнить создание ASIC устройств, путем увеличения количества ресурсов, требуемых для вычисления. Хеш-функция Scrypt использует SHA256 как подпрограмму, полагаясь на большое количество арифметических вычислений, но также требуя наличия быстрого доступа к большим объёмам памяти, что делает запуск нескольких экземпляров Scrypt на современной видеокарты несколько более сложной задачей. Это также означает, что стоимость производства специализированного оборудования для майнинга на ASIC устройствах будет значительно выше, чем стоимость производства подобных устройств для SHA-256
Лайткоин является ответвлением биткоина (форком), также как и биткоин-кэш. В сети Биткоин и Лайткоин данные а блокчейн записываются идентичным образом. Основное отличие лайткоина от биткоина – подтверждение транзакций происходит быстрее и улучшена эффективность хранения данных.
Каждый майнер, который генерирует блок один раз в 2 минуты получает вознаграждение в 25 лайткоинов.
Для майнинга лайткоина можно использовать процессоры и видеокарты, но наилучшими показателями эффективности обладает следующее оборудование: Antminer L3+, Innosilicon A4 Dominator, Innosilicon A2 Terminator, Gridseed Blade.
Программное обеспечение, которое можно использовать для майнинга лайткоина: sgminer, cgminer, cpuminer, cudaMiner, GUIMiner-scrypt, BFGMiner, MultiMiner, ScryptMiner GUI, Reaper.
Майнинг криптовалюты Даш (Dash)
Майниг даш производиться с использованием алгоритма X11. Алгоритм X11 является сочетанием 11 криптографических алгоритмов (blake, bmw, groestl, jh, keccak, skein, luffa, cubehash, shavite, simd, echo), отсюда и название X11.
Даш также является форком биткоина. В январе 2014 года Эван Даффилд создал XCoin как форк биткоина. В феврале 2014 года криптовалюту переименовали в DarkCoin, и только в марте 2015 года слова Digital Cash сложились в Dash.
Каждый майнер, который генерирует блок один раз в 2 с половиной минуты получает вознаграждение в 1.8 даш.
На сегодняшний день для майнинга даш лучше использовать специализированное оборудование: X11 miner 450M PinIdea Dr2, iBeLink DM384M X11, Baikal X11 ASIC Mini Miner, Baikal X11-X13-X14-X15-Qbit-Quark ASIC Mini Miner.
Майнинг пулы для DASH: DASH.SUPRNOVA.CC, SUCHPOOL.PW, COINOTRON.COM, LTCRABBIT.COM, COINMINE.PL, CYBTC.INFO.
Майнинг криптовалюты эфириум классик (Ethereum Classic)
Майниг эфириум-классик производиться с использованием алгоритма Ethash, также как и у обычного Ethereum. Для майнинга используются видеокарты и процессоры. Наиболее эффективные видеокарты на данный момент для майнинга эфирум-классик: NVIDIA GTX 1080 Ti, AMD R9 390, AMD RX 480 8GB, NVIDIA GTX 1070, NVIDIA GTX 1080, AMD RX 580 8GB.
Каждый майнер, который генерирует блок один раз в 14 секунд получает вознаграждение в 4.85 монет эфира.
Майнинг криптовалюты монеро (Monero)
Майниг монеро производиться с использованием алгоритма CryptoNight. Все операции в этой криптовалюте обфусцированы — все транзакции в системе являются анонимными. Суммарная эмиссия не ограничена, как в биткоине. Алгоритм для майнинга в Monero отличается тем, что он активно использует систему команд AES для микропроцессоров x86 и большое количество памяти, что делает майнинг на GPU менее эффективным, чем для Биткойна.
Каждый майнер, который генерирует блок один раз в 2 минуты получает вознаграждение в 6.3 монеро.
Для майнинга монеро можно использовать процессоры и видеокарты, но наилучшими показателями эффективности обладает следующее оборудование: AMD R9 390, AMD R9 Fury Nano, NVIDIA GTX 1080 Ti, AMD R9 290X, AMD RX 480 8GB.
Майнинг криптовалюты зэткэш (Zcash)
Майниг зэткэш производиться с использованием алгоритма Equihash. Equihash является чувствительным к количеству оперативной памяти алгоритмом доказательства работы, и это значит, что производительность майнинга во многом определяется тем, сколько у вас памяти RAM. Маловероятно создать специализированные аппаратные средства (ASIC) для майнинга в обозримом будущем.
Каждый майнер, который генерирует блок один раз в 2 с половиной минуты получает вознаграждение в 10 зэткэш.
Для майнинга Zcash можно использовать процессоры и видеокарты, но наилучшими показателями эффективности обладает следующее оборудование: NVIDIA GTX 1080 Ti, NVIDIA GTX 1080, NVIDIA GTX 980 Ti,AMD R9 Fury Nano,NVIDIA GTX 1070,AMD R9 390,AMD R9 290X.