Майнер с на МК ардуино
- Войдите на сайт для отправки комментариев
Как Вы думаете можно чтото подобное написать под ардуино и чтоб работало?
Криптографическая функция хэширования на вход получает блок с данными, а выдаёт небольшой, но непредсказуемый, выход. Она спроектирована так, что не существует быстрого способа получить нужный выход, и вы должны продолжать перебор пока не найдёте подходящее значение. Биткойн использует SHA-256 в качестве такой функции. Причём для усиления стойкости SHA-256 применяется к блоку дважды и называется уже двойным SHA-256.
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 раундов, входная информация будет полностью зашифрованной.
написать можна, работать будет, но медлено. Пока копейку насчитает - биткоинты уже пополнят мировую историю финансовых пирамид.
Для майнинга крайне важна вычислительная мощность. Даже на мощных кластерах сейчас доход от майнинга не покрывает счетов за электричество. На слабенькой Ардуине что-то заработать - никаких шансов вообще.
Но как теоретическая задача - почему нет
А ктонибуть может подсказать путь ее выполнения с ардуинкой дружу но с чего начать?
меня не интересует доход только спортивный интерес)
всё уже сделано :)
https://rweather.github.io/arduinolibs/crypto.html
https://github.com/Cathedrow/Cryptosuite
но я не могу понять, неужели было так трудно написать в гугл "arduino sha256"? :)
написать в гугл "arduino sha256"? :)
Не наш метод!
Реч идет а данном скрипте
Где скачать библиотеку?
Где скачать библиотеку?
в интернете? :)
Где скачать библиотеку?
Алексей, Вы вообще в сети можете хоть что-нибудь найти? Или даже порнуху не находите?
https://github.com/Cathedrow/Cryptosuite - вот она Ваша библиотека, первый же результат в гугловском поиске. С Вас биткоин!
Бесконечные ошибки компиляции
Бесконечные ошибки компиляции
Так исправляйте. Только побыстрее, пока не пришёл Клапауций и не запретил.
Не понял зачем Вы это постите? Исправляйте эту мелочёвку - со старыми библиотеками всегда так. IDE поменялась и они с ней несовместимы, надо подправить.
Всегда бесили дебилы, не хотящие ничего делать, только деньги получать. Человек, б@ть, ни хрена не понимая в программировании, лезет майнить биткоины. Вот что халява-то жывотварящая делает.
Человек, б@ть, ни хрена не понимая в программировании, лезет майнить биткоины.
человек-нисчеброд, Карл!
майнящие железки десятки килобаксов стоят, а дуино - пару баксов.
ничего ты не понимаешь в булгахтерии.
*ЗЫ. я - разрешаю. \о
*ЗЫ. я - разрешаю. \о
а тут по другому и нельзя.
меня не интересует доход только спортивный интерес
Не забываем про последнюю фразу из моего поста!
Somewhat relevant https://github.com/joric/arduino-bitcoin-miner
Я не понял, а что мне биткоин не обломится? Я же вроде как только этом условии ссылку выдал в посте #10 Вот и помогай людям :(
Я не понял, а что мне биткоин не обломится? Я же вроде как только этом условии ссылку выдал в посте #10 Вот и помогай людям :(
Зачем вам неликвидная валюта? Просите солёными огурцами - всяко полезней.