Майним Bitcoin с помощью бумаги и ручки. Sha256 криптовалюты


Все криптовалюты на алгоритме SHA256

SHA256 – алгоритм, являющийся основой майнинга первой криптовалюты - Биткоина. Для работы с ним используется только специализированное оборудование ASIC (АСИКи). Сейчас постоянно создаются новые криптовалюты на SHA256. Многим таким монетам стоит уделить внимание, но большая их часть – скамы. Это подтверждается тем, что у них нет ни официальных сайтов, ни сообществ. В этой статье собраны все монеты на SHA256.

криптовалюты на алгоритме SHA256 фото

Bitcoin (BTC)

Самая известная криптовалюта, созданная в 2009 году. Во многих странах мира признана и легализирована, включая США, Австралию, Великобританию, Японию, Канаду и др. Сейчас каждого интересует, как заработать биткоин с нуля, но сделать это не так просто.

Peercoin (PPC)

Peercoin появился в 2012 году. Это уникальная монета, код которой создан на основе Биткоина, хотя она немного по-другому использует технологию. С помощью алгоритма SHA256 майнинг этой криптовалюты требует от пользователей меньших затрат в плане энергоресурсов. Она первой ввела систему Proof of Stake, обеспечивая безопасность в долгосрочной перспективе.

Unobtanium (Uno)

Еще одна уникальная децентрализованная криптовалюта SHA256 с открытым кодом. Она была получена в результате форка Биткоина в 2013 году. Она объединяется с BTC, благодаря чему создается надежная блокировка, в несколько раз быстрее, чем биткоин.

криптовалюты мира фото

Namecoin (NMC)

Namecoin -  это первый форк биткоина. Это один из самых продвинутых альткоинов. Экспериментальная технология позволила улучшить безопасность, децентрализацию и конфиденциальность. Майнеры BTC, майнят и NMC, что обеспечивает высокий уровень сложности.

BetaCoin (BET)

Еще одна открытая децентрализованная криптовалюта. К ее сети может подключиться любой желающий принять участие в развитии этой цифровой валюты.

Deutsche eMark (DEM)

Это криптовалюта на алгоритме SHA256, представляющая собой цифровую сесть. В ней два человека могут непосредственно передавать ценности, к примеру, деньги. Это позволяет не прибегать к услугам  банков и фондовых бирж. Всего за несколько секунд технология блокчейн запускает транзакцию.

криптовалюты мира фото

Terracoin (TRC)

Эта криптовалюта была получена в 2012 году в результате форка BTC. Во многом схожа с биткоином, но отличается более высокой скоростью подтверждения транзакций и улучшенными показателями безопасности. Это  достигнуто за счет совмещения майнинга и механизма Dark Gravity Wave.

Ixcoin (IXC)

Децентрализованная криптовалюта с открытым исходным кодом. Это форк биткоина, созданный в 2011 году.

Joulecoin (XJO)

Основан на технологии биткоина и предназначен для быстрого подтверждения транзакций. Для хранения, покупки и продажи требуется наличие кошелька, который можно скачать на официальном сайте. http://www.jouleco.in/

Криптовалюта SHA256 – дополнительный список:

  • PremineCoin
  • Benjamins
  • Unicoin
  • Globe
  • Snowcoin
  • Zetacoin
  • Ocoin
  • Tekcoin и др.

калькулятор SHA256 для майнинга - фото

Для того чтобы вычислить потенциальную прибыль, можно использовать калькулятор SHA256 для майнинга. Это простой и эффективный способ определить возможную сумму выигрыша и срок окупаемости оборудования. Среди таких сервисов: Crypt-mining или Btcwmx.

Загрузка...

abcdwork.ru

Все монеты алгоритма SHA-256 | Miner Point

Криптовалюты алгоритма SHA256

Таблица всех криптовалют на алгоритме майнинга SHA256. НазваниеТип подтверждения
Bitcoin (BTC) PoW
BitcoinDark (BTCD) PoW/PoS
PeerCoin (PPC) PoW/PoS
PayCoin (XPY) PoS
ACoin (ACOIN) PoW
BattleCoin (BCX) PoS
Benjamins (BEN) PoW
BetaCoin (BET) PoW
BitBean (BITB) PoW/PoS
ZetaCoin (ZET) PoW
ByteCoin (BTE) PoW
CopperLark (CLR) PoW
eMark (DEM) PoW/PoS
DevCoin (DVC) PoW
FireflyCoin (FFC) PoW
FireRoosterCoin (FRC) PoW
IXcoin (IXC) PoW
Cryptsy Mining Contract (MN) PoW
MazaCoin (MZC) PoW/PoS
NoirBits (NRB) PoW
NameCoin (NMC) PoW
OpenSourceCoin (OSC) PoW/PoS
Protoshares (PTS*) PoW
TakCoin (TAK) PoW/PoS
TigerCoin (TGC) PoW
TitCoin (TIT)PoW
TerraCoin (TRC) PoW
Umbrella (ULTC) PoW
UnbreakableCoin (UNB) PoW
Unobtanium (UNO) PoW
JouleCoin (XJO) PoW
XauCoin (XAU) PoW
NuBits (NBT) PoS
TekCoin (TEK)PoW/PoS
Positron (TRON) PoW/PoS
Neutron (NTRN) PoW/PoS
Sling Coin (SLING) PoW
Sonic Screw Driver Coin (SSD) PoW/PoS
MaieutiCoin (MMXIV) PoS
NeosCoin (NEOS) PoS
Unattanium (UNAT) PoW
SoonCoin (SOON) PoW
XCoin (XCO) PoW/PoS
Equilibrium Coin (EQM) PoW/PoS
SkullBuzz (SKB) PoS
DarkCrave (DCC) PoW/PoS
EdgeCoin (EDGE)PoW/HiPoS
Cerium (XCE) PoW/PoS
Anarchists Prime (ACP)PoW
DarkTron (DRKT) PoW/PoS
IncaKoin (NKA) PoW/PoS
Crown Coin (CRW) PoW
Quartz (QTZ) PoW/PoS
Graviton (GRAV) PoW/PoS
BitSeeds (XSEED) PoW/PoS
Credits (CRE)PoW/PoS
Sprouts (SPRTS) PoW/PoS
ParkByte (PKB) PoW/PoS
Emercoin (EMC)PoW/PoS
I0coin (I0C) PoW
EDRCoin (EDRC) PoW/PoS
DubaiCoin (DBIC) PoW/PoS
CarpeDiemCoin (DIEM)PoW
SARCoin (SAR) PoS
PrismChain (PRM) PoW/PoS
Grantcoin (GRT) PoW
Phalanx (PXL) PoW
Coin (COIN*) PoW
Universal Currency (UNIT) PoW/PoS
Anti Bitcoin (ANTI)PoW
BreakoutCoin (BRK)PoW/PoS
SixEleven (611) PoW
SwingCoin (SWING) PoW/PoS
Pulse (PULSE) PoS
KATZcoin (KAT) PoW/PoS
High Voltage Coin (HVCO) PoW/PoS
FlavorCoin (FLVR) PoW/PoS
Revenu (REV) PoW/PoS
Clinton (CLINT) PoW
Clockcoin (CKC) PoW/PoS
YobitVirtualCoin (YOVI) PoS
SharkCoin (SAK) PoW
GenesysCoin (GSY) PoW/PoS
TrollTokens (TKN*) PoW/PoS
Kraken (KRAK) PoW/PoS
World Gold Coin (WGC) PoW
ExaByte (EXB) (EXB) PoW
Fusion (FSN) PoW
CovenCoin (COV*) PoW/PoS
TDFB (TDFB) PoW/PoS
BitTokens (BXT) PoW/PoS
ZayedCoin (ZYD) PoW
808 (808) PoW/PoS
FonzieCoin (FONZ) PoW/PoS
Save and Gain (SANDG) PoW
DollarCoin (DLC) PoW
Mind Gene (MG) PoW/PoS
RCoin (RCN*) N/A
EmiratesGoldCoin (EMIGR) PoW
Vaporcoin (VAPOR) PoW/PoS
CaliphCoin (CALC) PoW
LeaCoin (LEA)PoW
Californium (CF) PoW
Vertex (VTX) PoW/PoS
Community Coin (COC) PoW
CashOut (CSH)PoW
Midnight (MDT) PoW/PoS
PlatiniumCoin (PNC) PoW
Eurocoin (EUC) PoW/PoS
Kernalcoin (KC) PoW
AnalCoin (ANAL) N/A
PXcoin (PX) PoW/PoS
PentaCoin (PTA)PoW/PoS
AcidCoin (ACID) PoW
BitBoss (BOSS) PoW/PoS
Ghost Coin (SPKTR) PoW/PoS
Internet of People (IOP) PoW/PoS
LePenCoin (LEPEN) PoS
Alexandrite (ALEX) PoW/PoS
EagleCoin (EA) PoW
Cubits (QBT) PoW/PoS
Dark (DARK) PoW/PoS
ProCurrency (PROC) PoS
ILCoin (ILC) PoW
Prizm (PZM) PoS
C-Bits (XCT) PoW
MilkCoin (MUU) PoW/PoS
Ultimate Secure Cash (USC) PoS
ATB coin (ATB) PoW
Bogcoin (BOG) PoW
Bitcoin Cash / BCC (BCH) PoW
Ar.cash (AR*)PoW
Z2 Coin (Z2)PoW
Experience Points (XP) PoW/PoS
ILCoin Token (ILCT) PoW
Theresa May Coin (MAY) PoW/PoS
Infinity Economics (XIN) PoS
Insta Cash Coin (ICC) PoW
Neuro (NRO) PoW/PoS
GlobalToken (GLT) PoW
XinFin Coin (XDCE) PoS
Super Bitcoin (SBTC) PoW
CHIPS (CHIPS) PoW
HTML Coin (HTML) PoW/PoS
World Crypto Gold (WCG)PoS
UnitedBitcoin (UBTC)PoW
Shacoin (SHA)PoS
Crave-NG (CRAVE*)PoS
Bitcoin Atom (BCA)PoW/PoS
Credence Coin (CRDNC)PoW/PoS
ALTcoin (ALT)N/A
UniversalRoyalCoin (UNRC)PoS
LitecoinCash (LCC)N/A
DigiByte-SHA256 (DGB) PoW
AuroraCoin SHA256 (AUR) PoW/PoS
HunterCoin SHA256 (HUC)PoW
⇒ Все алгоритмы, криптовалюты и майнеры

minerpoint.ru

Алгоритм биткоина и его роль в майнинге

алгоритм биткоинаТермин алгоритм биткоина люди используют, обсуждая криптовалюты, но подразумевают под этим понятием разные вещи. Ведь алгоритм майнинга биткоина SHA-256 используется в решении нескольких задач сети Биткоин:

  • для цифровых подписей и аутентификации;
  • в mining как доказательство его работы;
  • для создания адресов биткойнов;
  • для повышения безопасности и конфиденциальности;
  • как алгоритм покупки биткоина и других видов монет.

Чтобы понять, что такое алгоритмы майнинга криптовалют, SHA, Scrypt, X15 и остальные, нужно познакомиться с теорией Хеш-функции:

Это процесс превращения информации математическими способами в строчку заданной длины.

криптовалюты sha256

Принцип шифрования информации биткоина

Алгоритм хеширования биткоина используется для наилучшего контроля данных методом сравнения. Когда информация обработана и переведена в хеш, обратно данные из него получить нельзя.

Если выберете захешированный файл биткоина, повторите расчёт и узнаете, что строчки хешей сходятся, значит, исходные данные не менялись.

В противном случае несовпадение означает, что информация начального файла изменилась, следовательно, нарушена безопасность системы хранения bitcoin и распространения данных.

Miner сети Биткоина перепроверяют и сравнивают хеши найденных при майнинге блоков, чем больше задач решено, тем сложнее следующие расчёты.

На каких алгоритмах майнятся криптовалюты

Функция Биткоина SHA — Secure hash Algorithm, это секретный хеш-алгоритм, генерирующий уникальную 256-битную или 32-байтную подпись для текстовой строки.

Но, функции есть разные, системы задаются крипто разработчиками виртуальных валют. Программисты используют много концепций, поэтому список алгоритмов криптовалют обширен. Вот некоторые, кроме популярных Scrypt и SHA для Биткоина:

  • Scrypt Nf для Leocoin;
  • X11 для Dash и Vcash;
  • X13 для Ambercoin;
  • Equihash для Bitcoin gold.

SHA-256 и Scrypt — самые распространённые системы алгоритмов для подтверждения блоков транзакций.

По поводу этих двух алгоритмов ведутся энергичные дискуссии. Майнеры Биткоина и последователи криптовалют часто спорят, какой подход выбрать лучше в плане сочетания доходности и безопасности.

Основные показатели алгоритма Биткоина

Если термин хеш чаще относится к вычислениям в целях майнинга, то понятие hash-ставка встречается в описании характеристик оборудования для добычи криптовалюты в pool и калькуляторах прибыльности. Чем выше хеш коэффициент, необходимый для успешной добычи, тем дольше и сложнее сам процесс майнинга.

Отсюда существует термин hash-сложность каждого типа валюты — KH/s, Килохеш в секунду или 1 тысяча хэш-вычислений в секунду, аналогично:

  1. MH/s, Мегахеш или 1 миллион хешей.
  2. GH/s, Гигахеш или 1 миллиард хешей.
  3. TH/s, Террахеш или 1 триллион хешей.
  4. PH/s, Петахеш или 1 квадриллион хешей.

Когда речь идёт о квадриллионах — единице с пятнадцатью нулями, ясно, что такая производительность криптовалюты недоступна обычным компьютерам, а тем более планшетам и требует большой объем энергии. Техническим требованиям соответствуют ASIC — устройства с видеокартами, выпускаемые специально под цели майнинга.

Какие криптовалюты майнятся алгоритмами SHA256

Алгоритм майнинга bitcoin SHA256 сложнее Скрипта, используется для большинства валют на основе кода BTC.

Обработка блоков криптовалюты с SHA-256 имеет тенденцию к замедлению транзакций, но очень надёжен, здесь практически исключены ошибки.

Сторонники кода Биткоина также говорят, что это лучше для общей безопасности данных. Что можно майнить на SHA-256, кроме Bitcoin:

  • Биткоин Cash, 21Коин, Namecoin;
  • Takeicoin, Unicoin, Zetacoin;
  • PetroDollar Unobtanium.

Это далеко не полный перечень — код для шифрования открыт, воспользоваться им может любой человек. Учитывая, что общее число видов криптовалют приближается к 1600, многие монеты основаны на коде Биткоина.

sha256 какие криптовалютыКакие валюты майнит алгоритм Scrypt

Scrypt является более быстрым и простым алгоритмом:

  1. Scrypt легко запускать на CPU.
  2. Использует меньше энергии, чем майнинг алгоритм SHA256.
  3. Подходит для индивидуального майнинга, в том числе на обычных компьютерах.

Противники алгоритма утверждают, что чем проще система, тем восприимчивее к проблемам безопасности и делает менее тщательный анализ данных.

Сторонники указывают, что реальных проблем не возникает, а майнинг криптовалюты добываемых на scrypt имеют качественное шифрование.

На Scrypt майнятся:

  • Litecoin, Dogecoin, Novacoin;
  • WorldCoin, FeatherCoin;
  • DigitalCoin и множество других виртуальных монет.

Со временем ожидаются проблемы с хешем для самых популярных валют, использующих алгоритм добычи SHA-256 Биткоина.

С этим уже столкнулась сеть Биткоина, выпуск форка Cash мало помог в решение проблемы.

Сложность ограничивает прибыльную добычу, как результат, ожидается, что новые цифровые валюты, использующие Scrypt, будут более выгодные майнерам, следовательно, вырастет их популярность, основанная на простоте добычи в одиночку.

Как вы считаете какой из алгоритмов более выгоден, перспективен? Расскажите каким пользуетесь вы.

mining-bitcoin.ru

SHA-256

Характеристики алгоритма SHA-256SHA-256 – популярный алгоритм, используемый в работе многих современных цифровых валют. Относится к семейству SHA-2, в котором все алгоритмы работают на базе структуры Меркла-Дамгарда. SHA-256 представляет собой криптографическую функцию, отвечающую за процесс хеширования с сохранением максимальной безопасности. Обработка произвольных наборов информации и их перенос в значения с фиксированной длиной – его основная задача. Обработанные данные совершенно точно характеризуют начальный набор данных и могут служить своего рода подписью, при этом извлечь исходную информацию уже не удастся.

Характеристики алгоритма SHA-256

Алгоритм SHA-256 относится к разряду «классических», т.к. существует довольно длительное время и успел зарекомендовать себя с лучшей стороны. Он обладает неплохими по современным меркам характеристиками:

  •         Размер блока – 64 б;
  •         Максимальная длина сообщения – 33 б;
  •         Размер слова (стандартный) – 4 б;
  •         Длина внутреннего положения – 32 б;
  •         Размер дайджеста сообщения – 32 б;
  •         Количество итераций за цикл – 64;
  •         Скорость – 140 МиБ/с.

Таких показателей достаточно для работы с современными устройствами, включая оборудование для майнинга.

Набор информации в процессе работы проходит целый цикл из 64 итераций (в некоторых случаях из 80). На каждом этапе происходит запуск хеширования из слов, составляющих весь блок. Берется пара и обрабатывается, а результаты складываются, после чего выдается правильный показать хеш-кода. При генерации следующего кода будет использоваться предыдущий. Отдельно друг от друга преобразовать их не удастся.

Работает алгоритм на основе 6 битовых операций. Используются значения: «and», «shr», «rots», «xor», «+», «||».

Алгоритм SHA-256 в криптовалюте

SHA-256 применяется во многих сферах. Одной из основных является криптовалюта. На его основе работают популярные валюты: Биткоин, PeerCoin, EmerCoin, ZetaCoin и др. LiteCoin, к примеру, использует SHA-256 как подпрограмму, а основным алгоритмом в нем выступает Scrypt. Выбор разработчиков криптовалют алгоритма SHA-256 вполне логичен, т.к. это простой алгоритм, который справляется с поставленной перед ним задачей. Однако при создании новых цифровых валют все чаще предпочтение отдается другим алгоритмам.

В процессе «добычи» монет используемая для выполнения задачи программа отображает все происходящие действия. Пользователь может увидеть слово «Accepted», рядом с которым будет набор непонятных символов, например, 0deft42g3c. Именно непонятные символы и являются хешем. Такая простая строка представляет собой целый блок, в котором может находиться несколько миллионов других строк, и выступает в роли подписи. Это главная причина, почему найти нужный хеш для новых блоков так сложно и для этого приходится решать множество задач. Он может быть найден как в самом начале, так и только на миллионом варианте – в чем-то это напоминает игру в лотерею.

При майнинге пользователь использует CPU, GPU или отдельный специализированный процессор. Их мощности должно быть достаточно для работы с SHA-256. Чем мощнее оборудование пользователя, тем быстрее будут происходить все операции, связанные с хешированием по алгоритму SHA-256. Если использовать слабое оборудование, то процесс майнинга не принесет никаких результатов. Рост общих мощностей в майнинге требует повышения производительности оборудования для успешных вычислений. Выпускаемое специально для майнинга ASIC-оборудование, построено исключительно на алгоритме SHA-256. Для таких устройств алгоритм оказался весьма легким, из-за чего их владельцы получают огромный доход, а люди, использующие фермы с большим количеством видеокарт, теряют деньги и вынуждены повышать мощность своего оборудования. Однако это приводит к тому, что у разработчиков возникает необходимость изменения криптографических хеш-алгоритмов на более новые, которые требуют гораздо больших мощностей от оборудования, с чем не справляются те же ASIC-устройства.

Преимущества SHA-256

Преимущества SHA-256Для обычного пользователя-майнера или владельца даже большого количества цифровой валюты никакой разницы в протоколе самой валюты нет. Да, майнеру придется вложить больше мощностей для добычи монет, если используется более современный протокол хеширования. Но если судить в целом, то разницы нет никакой. SHA-256 же зарекомендовал себя с лучшей стороны и признан одним из лучших алгоритмов не спроста. Он стабилен, универсален, прост в использовании и обеспечивает достаточную степень защиты любой важной информации. SHA-256 занимает более 40% всего рынка криптографических хеш-алгоритмов и не теряет своих позиций в течение последних лет. Более того, он законодательно разрешен для защиты государственных сведений в США, что доказывает его актуальность и значимость.

utmagazine.ru

Майним Bitcoin с помощью бумаги и ручки / Хабр

В один прекрасный момент мне захотелось прикинуть, насколько быстро можно майнить биткойны вручную. Оказалось, что для майнинга используется хеширование SHA-256, а оно достаточно простое и может быть вычислено даже без компьютера. Само собой, процесс очень небыстрый и совершенно непрактичный. Но, пройдя все шаги на бумажке, можно хорошо разобраться в деталях работы алгоритма.

Один криптографический раунд

Майнинг

Ключевая часть всей системы безопасности биткойна — майнинг. Основная идея заключается в том, что майнеры группируют биткойн-транзакции в один блок, который уже подвергают хэшированию неисчислимое число для нахождения очень редкого значения хэша, подпадающего под специальные условия. Когда такое значение находится, блок считается смайненным и попадает в цепочку блоков. Само по себе хэширование не несёт никакой полезной цели кроме увеличения сложности поиска правильного блока. Таким образом, это одна из гарантий того, что никто в одиночку с любым существующим набором ресурсов не сможет взять под контроль всю систему. Подробнее про майнинг можно почитать в моей прошлой статье.

Криптографическая функция хэширования на вход получает блок с данными, а выдаёт небольшой, но непредсказуемый, выход. Она спроектирована так, что не существует быстрого способа получить нужный выход, и вы должны продолжать перебор пока не найдёте подходящее значение. Биткойн использует SHA-256 в качестве такой функции. Причём для усиления стойкости SHA-256 применяется к блоку дважды и называется уже двойным SHA-256. В биткойне критерием валидности хэша является достаточное число нулей в его начале. [1] Найти такой хэш так же сложно, как, к примеру, найти номер машины или телефона, заканчивающийся на несколько нулей. Но, конечно, для хэша это экспоненциально сложнее. На текущий момент, правильный хэш должен содержать примерно 17 стартовых нулей, чему удовлетворяет только 1 из 1.4x1020. Если провести аналогию, то найти такое значение сложнее, чем обнаружить конкретную частичку среди всего песка на Земле.

На схеме ниже показан типичный блок в цепочке и его хэш. Желтым выделены байты, которые и участвуют в процессе хэширования. В данном примере хэш валиден и имеет достаточное число нулей в своём начале. Однако это нечастый случай, и обычно майнеру приходится перебирать значение поля nonce или других доступных для изменения данных.

Структура биткойн-блока

SHA-256

Алгоритм работает с данными, разбитыми на куски по 512 бит (64 байт), криптографически их смешивает и выдаёт 256-битный (32 байта) хэш. SHA-256 состоит из относительно простого раунда, повторяющегося 64 раза. Снизу, как раз, и показан такой раунд, принимающий на вход 8 4-байтовых слов — от A до H.

Один раунд SHA-256 для восьми входных слов A-H. Схема нарисована kockmeyer, CC BY-SA 3.0.

Синие блоки нелинейно перемешивают биты для усложнения криптографического анализа. Причём для еще большей надежности используются разные функции перемешивания (если вы сможете найти математическую лазейку для быстрого генерирования валидных хэшей, то возьмёте под контроль весь процесс майнинга биткойнов).

Функция большинства (Ma блок) побитово работает со словами A, B и C. Для каждой битовой позиции она возвращает 0, если большинство входных битов в этой позиции — нули, иначе вернёт 1.

Блок Σ0 циклически сдвигает A на 2 бита, затем исходное слово A циклически сдвигается на 13 бит, и, аналогично, на 22 бита. Получившиеся три сдвинутые версии A побитово складываются по модулю 2 (обычный xor, (A ror 2) xor (A ror 13) xor (A ror 22)).

Ch реализует функцию выбора. На каждой битовой позиции проверяется бит из E, если он равен единице, то на выход идёт бит из F с этой позиции, иначе бит из G. Таким образом, биты из F и G перемешиваются, исходя из значения E.

Σ1 по структуре аналогичен Σ0, но работает со словом E, а соответствующие сдвиговые константы — 6, 11 и 25. Красные блоки выполняют 32-битное сложение, формируя новые значения для выходных слов A и E. Значение Wt генерируется на основе входных данных (это происходит в том участке алгоритма, который получает и обрабатывает хэшируемые данные. Он вне нашего рассмотрения). Kt — своя константа для каждого раунда. [2] На схеме сверху заметно, что только A и E меняются за один криптографический раунд. Остальные слова не меняются, но сдвигаются на выходе — старое A превращается в выходное B, старое B — в новое C, и так далее. Хотя отдельный раунд алгоритма не сильно изменяет данные, но после 64 раундов, входная информация будет полностью зашифрованной. [3]

Майним вручную

На видео я показываю как можно пройти все описанные шаги с помощью ручки и бумаги. Я выполнил первый раунд хэширования для майнинга блока. Заняло это у меня 16 минут, 45 секунд.

Немного поясню что происходит: я записал слова от A до H в шестнадцатеричной форме, и под каждым сделал перевод в двоичный вид. Результат выполнения блока Ma находится под словом C, а значения A после сдвигов и сам выход Σ0 располагаются над строкой с A. Функция выбора появляется под G, и, наконец, соответствующие сдвинутые версии E и значение после блока Σ1 идут над строкой с E. В нижнем правом углу произвёл сложение, результат которого участвует в вычислении и нового A, и нового E (первые три красных блока суммирования). Справа сверху я рассчитал новое значение A, а посерёдке располагается уже расчет нового значения E. Все эти шаги обсуждались выше и легко могут быть отслежены на схеме. Кроме того раунда, что показан в видео, я провёл еще один — последний 64-ый хэшируюший раунд для конкретного биткойн-блока. На фотографии значение хэша выделено желтым. Количество нулей подтверждает, что это валидный биткойн-хэш. Заметьте, что нули располагаются в конце хэша, а не в начале, как я писал ранее. Причина заключается в том, что биткойн, просто-напросто, переворачивает байты полученные SHA-256. [4]

Последний раунд SHA-256, в результате которого виден успешно смайненный биткойн-блок

Что всё это значит для проектирования «железных» майнеров?

Каждый шаг в SHA-256 очень просто выглядит в цифровой логике — простые битовые операции и 32-битные суммирования (если вы когда-либо изучали схемотехнику, то, скорее всего, уже представили себе как это может выглядеть в железе). Поэтому ASIC-микросхемы реализуют SHA-256 очень эффективно, размещая параллельно сотни блоков исполнения SHA-256 раундов. Фотография ниже показывает микросхему для майнинга, которая может вычислять 2-3 миллиарда хэшей в секунду. На Zeptobars можно поглядеть больше фото.

Снимок кремниевого кристалла ASIC-микросхемы Bitfury, которая может майнить биткойны со скоростью в 2-3 гигахэшей в секунду. Картинка с Zeptobars. (CC BY 3.0)

В противоположность биткойну, Litecoin, Dogecoin и другие похожие альтернативные -coin системы используют алгоритм хэширования scrypt, в котором изначально заложена сложность реализации в железе. Этот алгоритм во время выполнения хранит в памяти 1024 разных значений хэша, а уже на выходе комбинирует их для получения конечного результата. Поэтому требуется куда больше памяти и схематики для вычисления scrypt-хэшей по сравнению с SHA-256-хэшами. Влияние изменения алгоритма хэширования наглядно видно при сравнении соответствующего аппаратного обеспечения для майнинга — версии под scrypt (Litecoin и прочие) в тысячи раз медленнее, чем версии под SHA-256 (биткойн).

Заключение

SHA-256 неожиданно оказался настолько простым, что может быть вычислен даже вручную (алгоритм на эллиптических кривых, который используется для подписи биткойн-транзакции, был бы куда более мучительным, так как содержит кучу перемножений 32-байтных чисел). Расчет одного раунда SHA-256 занял у меня 16 минут, 45 секунд. С такой производительностью хэширование всего биткойн-блока (128 раундов [3]) займёт 1,49 суток, то есть получаем скорость хэширования в 0,67 хэшей в день (на самом деле, конечно же, с практикой процесс бы ускорился). Для сравнения, текущее поколение биткойн-майнеров производит несколько терахэшей в секунду, что примерно в квинтиллион раз быстрее меня. Думаю, очевидно, что ручной майнинг биткойнов не очень практичен. [5]

Читатель с reddit'a спросил о моих затратах энергии. Так как я не прилагаю каких-то серьезных физических усилий, то можно предположить что скорость метаболизма будет 1500 килокалорий в день, тогда получаем, что ручное хэширование требует почти 10 мегаджоулей за хэш. Типичное потребление энергии для железного майнера — 1000 магехэшей за джоуль. Таким образом, я менее энергоэффективен чем специализированная железка в 10^16 раз (10 квадриллионов). Другой вопрос в стоимости энергии. Дешевым источником питания являются пончики по 23 цента за 200 килокалорий. Электроэнергия у меня стоит 15 центов за киловатт-час, что дешевле пончиков в 6.7 раз. В итоге, стоимость энергии в пересчете на хэш для меня, как человека-майнера, в 67 квадриллионов раз выше. Да-а-а, понятно, что я не ухвачу удачу за хвост ручным майнингом биткойнов, и это еще не учитывая стоимость бумаги и ручек!

Примечания и ссылки

1. На самом деле, важно не число лидирующих нулей в хэше, а то, что он должен быть меньше какого-то конкретного значения, которое зависит от текущего уровня сложности системы. ↑ 2. Довольно занятно то, откуда пошли эти константы для SHA-256. Так как АНБ разрабатывало этот алгоритм и выбирало константы, то откуда нам знать, что они не подобрали специальные значения, чтобы быстрее ломать хэши? Дабы пресечь подобные спекуляции, начальные инициализирующие значения хэша взяты как квадратные корни из восьми первых простых чисел (первые 32 бита дробной части). А Kt получены из кубических корней первых 64 простых чисел. Как видите, константы сгенерированы с помощью простых формул, поэтому можно доверять тому, что АНБ не придумало ничего хитрого (по крайней мере, в отношении констант). ↑ 3. К моему сожалению, SHA-256 работает с блоками из 512 бит, а заголовок биткойн-блока больше. Поэтому необходим второй проход из 64 раундов хэширования. Кроме того, в биткойне используется двойной SHA-256. Таким образом, хэширование одного блока требует 192 раунда. Тем не менее, мы можем сократить это число, потому что процесс майнинга заключается в повторном хэшировании одного и того же блока, с небольшими изменениями поля «nonce» во второй половине блока. И тут возникает оптимизация за счет того, что мы можем использовать результат вычисления первых 512 бит блока повторно. В итоге, нам требуется только 128 раундов хэширования. ↑ 4. Само собой, я не настолько невероятно удачлив, что нашёл сразу валидный хэш. Я начал хэширование блока, уже ранее смайнененного. Конкретно того, который уже упоминался в статье — #286819. ↑ 5. Еще одна проблема с ручным майнингом заключается в том, что новые блоки майнятся примерно каждые 10 минут, поэтому даже если я успешно намайню блок, то он будет безнадежно устаревшим (сиротой, в терминах биткойна). ↑

habr.com


Смотрите также