генерація біткоіни

Звідки ці біткоіни взагалі беруться?

Щоб зрозуміти, що саме відбувається при генерації біткоіни, потрібно розібратися з деякими поняттями.

Хеш - це, грубо кажучи, така штука, яка на абсолютно будь-який рядок видає іншу, фіксованої довжини.

Ось так, наприклад, обчислюється md5-хеш слова «хеш»:

А ось це - хеш пісні «Fly Into The Night» групи «Darkseed»:

Підбір хешу

А ось взяти хеш aad61cd8736c953c5fe617f3c780cc2f і отримати з нього назад пісню не вийде. Вся справа в тому, що хеш-функції спеціально спроектовані таким чином, щоб можна було швидко порахувати хеш вихідної послідовності, а от назад - ніяк. У гіршому випадку доведеться просто перебирати всі можливі варіанти. Виглядає це, наприклад, ось так:

І так поки ми не зустрінемо потрібний нам хеш. Дуже довго і виснажливо. Може зайняти тисячі років.

Підбір bitcoin-блоків

Слово «блок» ви можете побачити в програмі-клієнті. Блок - це набір даних, який включає в себе:

  • хеш попереднього блоку;
  • деяку кількість нових транзакцій;
  • «Сіль» (nonce) - послідовність бітів, яку можна вільно змінювати.

І головна умова: хеш блоку повинен містити заданий число нулів на початку. Це робиться не для того, щоб ускладнити завдання, а навпаки - щоб спростити.

Само собою, не кожен блок буде містити заданий число нулів на початку хешу. А так як змінна частина блоку тільки одна - це «сіль» - ми будемо перебирати всі можливі варіанти «солі», поки не отримаємо потрібний хеш. За правилами мережі, на поточний момент за перебування нового блоку клієнту дається 25 біткоіни.

Як нагенеріровать багато біткоіни

Відповідаю на часте питання.

Скільки це займе часу

Для початку запустіть програму-клієнт і дозвольте їй генерувати біткоіни. Через деякий час вона покаже вам швидкість підбору в хешах в секунду. Ось цю швидкість введіть в спеціальний калькулятор. Не забудьте про те, що вводити потрібно мега-хеш-кодування в секунду, тобто введена одиниця означає мільйон хешів в секунду. Порахували?

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

економічна доцільність

генерація біткоіни

Взагалі, курс біткоіни в кожен момент часу курс приблизно дорівнює витраті електроенергії, витраченої для його генерації на звичайному процесорі. Кому потрібно купувати біткоіни, якщо їх можна нагенеріровать самому?

Існує три способи зробити генерацію біткоіни економічно доцільною:

  • використовувати більш ефективні процесори для розрахунків;
  • генерувати в надії, що курс підніметься і генерація біткоіни окупиться;
  • використовувати час простою комп'ютерів і сприймати біткоіни як невеликі дармові гроші.

Генерація біткоіни також може представляти чисто спекулятивну цінність. Раптом завтра за кожен даватимуть мільйон доларів? Взагалі, генерувати їх в такому випадку не обов'язково - можна просто купити.

Третій варіант мені здається найбільш розумним. Ви використовуєте простоюють потужності свого комп'ютера для підтримки стабільності мережі, в нагороду отримуєте трохи біткоіни. Генерація за цією схемою буде завжди приносити прибуток, так як витрати на генерацію дорівнюватимуть нулю. Ну а якщо вони вище, то це вже не «використання потужностей, що простоюють».

Мені доведеться генерувати біткоіни п'ять років і отримати відразу пачку на 25 штук?

У загальному випадку - так.

Щоб не залишитися зовсім ні з чим, люди об'єднуються в пули, наприклад, deepbit.net. Пул - це безліч клієнтів, кожен з яких підбирає блоки. Але як тільки блок буде знайдений, «призові» 25 біткоіни діляться на всіх, хто брав участь в його підборі.

Звідки ми можемо знати, що ваша програма підбирає паролі пентагона замість блоків?

Ну, всі алгоритми роботи програми описані в її вихідному коді. Перш ніж програма стане виконуваним файлом, який ви можете запустити кліком мишки, програміст повинен написати її на якому-небудь мові програмування. Потім цей код пропускається через спеціальну програму-компілятор і тільки потім може бути запущена.

Біткоіни-клієнт написаний на мові C ++, вихідні коди ви можете скачати з bitcoin.org. Ви можете показати вихідні знайомому програмісту і попросити його з'ясувати, що програма робить. Навіть якщо ви боїтеся, що виконуваний файл може бути заражений вірусом або чим-небудь ще, ви можете скомпілювати програму самостійно і бути впевненим в тому, що вона робить тільки те, що описано в її вихідному коді.

Дивіться також

Примітки

Схожі статті