В прямом смысле, на бумаге, конечно-же не получится -- слижком сложно. Мало того, что тонну бумаги исписать придётся, так и всё-равно за десять минут не успеете.
Но теоретически описать процесс конечно же можно. Попробую очень упрощённо.
- Сначала вам нужно от соседних узлов bitcoin-сети получить свежие транзакции (т.е. расписки, написанные плательщиками и содержащие декларации о передачи условных денежных единиц другим участникам сети).
- Суть добычи биткоина заключается в добавлении новых транзакций в коллективизированный гроссбух. Все транзации в такой книге учёта сгруппированы в блоки (примерно по несколько сотен транзакций в каждом). Как добытчик биткоина, вы должны создать новый блок и добавить "понравившиеся" (например, с самыми большими комиссионными отчислениями) транзакции в него. В список транзакций, на самом первом месте, вы должны добавить специальную транзакцию, в который сами себе перечислите вознаграждение за добычу блока (и вы можете даже назначить себе вознаграждение меньшее положенного).
- Поэтому, вам от bitcoin-сети надо сначала получить все остальные старые блоки, к которым вы и будете присоединять новый.
- Кроме списка транзакций, новый блок (ну или его заголок) содержит контрольную сумму (хэш) предыдущего блока (вам её тоже надо будет вычислить) и дополнительное вспомогательное поле (nonce) с "мусором" -- в это поле вы можете писать что угодно.
- От bitcoin-сети вы должны получить текущую сложность. Сложность определяет требуемое количество нулей в начале двоичного представления хэша нового блока. Теперь вам надо "взломать" хэш вашего нового блока, т.е. подобрать его так, чтобы он соответствовал текущей сложности сети. Взломать надо успеть быстрее всех других (т.е. быстрее всех в мире), примерно за десять минут.
- Когда у вас это получится, вы должны отправить новый блок в сеть. Вот и всё. Если вы успеете и ошибок не будет, то добавленные в блок транзакции будут считаться подтверждёнными, а вы получите и потребованное вами в первой транзакции вознаграждение и все комиссионные сборы со всех прочих транзакций.
Обычно, хэш нового блока "взламывают" прямым перебором:
- Вписывают что-нибудь (случайное) в поле nonce.
- Вычисляют контрольную сумму нового блока.
- Если хэш не соответствует текущей сложности (слишком мало нулей), то повторяют всю процедуру сначала (хэш всегда меняется если поменять содержимое поля nonce).
(Есть и другие способы "взлома". Например, мне известен способ с использованием задачи SAT об удовлетворении булевых формул, но лучше ли он и используют ли его при реальной добыче -- я не знаю.)
В общем, самое сложное здесь -- вычислить контрольную сумму, много контрольных сумм. Именно на это и требуются внушительные аппаратные ресурсы настоящих добывающих ферм и именно на это тратится так много электроэнергии. Так что на бумаге, ещё раз повторюсь, это проделать в реальности не получится, только на компьютерах/видеокар<wbr />тах или специализированных устройствах (ASIC).