Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



1. Что такое bitcoin

1. Что такое bitcoin




Сторінка4/8
Дата конвертації19.04.2017
Розмір0.96 Mb.
1   2   3   4   5   6   7   8

6. Эволюція майнінгу


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

Біткоіни видобуваються не по одному, а «пачками», або блоками. Спочатку розмір блоку дорівнював 50 BTC, але він зменшується вдвічі після кожних 210 тис. здобутих блоків. Зараз видобуто вже більше 250 тис. блоків, а значить, один блок приносить 25 BTC. Новий блок видобувається приблизно кожні 10 хвилин. Через періодичне зменшення нагороди за блок вдвічі, загальна кількість BTC ніколи не перевищить 21млн, 55% всіх BTC вже видобуто і, за прогнозами, ця цифра досягне 99% до 2032 року.

Прогноз (грец. prognosis – «знання наперед») - спеціальне наукове дослідження конкретних перспектив розвитку якого-небудь явища.

Періодично, через кожні 2016 добутих блоків, відбувається коригування складності їх видобутку. Коригування грунтується на швидкості видобутку в останній період і потрібна для збереження середнього інтервалу видобутку блоків біля позначки в 10 хвилин.

Якщо кількість комп'ютерів, зайнятих одночасно видобутком біткоінів, в цілому зростає, то щоденна нагорода (рівна 24 * 6 * 25 = 3600 BTC) залишається незмінною. А значить, на кожен комп'ютер відводиться все менша частка загального «пирога».

Видобуток біткоінів має сенс тільки доти, поки вартість видобутих BTC перевершує витрати на обладнання та електроенергію. Т.я.

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

складність видобутку BTC неухильно збільшується, та й курс USD / BTC підданий коливанням, найменш енергоефективні засоби видобутку BTC поступово виключаються з процесу. Хоча, різке зростання курсу USD / BTC може зробити рентабельним їх повернення в стрій.

Повернення - багатозначний термін, входить до складу складних термінів.

Bitcoin став результатом розвитку ідей, закладених в існуючі раніше криптовалюти. А вперше він з'являється на сцені в листопаді 2008го, коли користувач під псевдонімом Сатоши Накамото (Satoshi Nakamoto) публікує статтю, що описує систему нової валюти. Уже в січні 2009го система починає функціонувати, а її популярність спочатку росте повільно, але незабаром переходить в експоненціальне зростання. Відомий випадок, коли одна людина заплатив за піцу 10тис. BTC (кілька мільйонів $ за нинішнім курсом). Накамото зникає в квітні 2011, і його особа досі залишається загадкою.



http://habrastorage.org/getpro/habr/post_images/bb8/dac/680/bb8dac680a5cc379c2649111b883edeb.jpg

Малюнок 1. Динаміка курсу USD / BTC і складності Майнінг

На малюнку 1 показана динаміка курсу обміну USD / BTC з плином часу. Починаючи з 2010го року курс різко пішов вгору. Якщо в липні 2010 1 BTC коштував $ 0.05, то до серпня 2013 вже подолав позначку $ 105. У цьому інтервалі спостерігається два стрибка - один у червні 2011го, коли біткоін коштував $ 31.5 і в квітні 2013го, коли курс підскочив до $ 266 (а зараз і до $ 1000). Різкі скачки і обвали курсу найчастіше пов'язані з періодами пильної уваги ЗМІ та розквіту страхів / чуток про вразливості протоколу або зломи організацій, що відповідають за обмін BTC на інші валюти. Подібні чутки кожен раз супроводжуються хвилею охочих продати біткоіни і обвалом курсу.

Основна причина, яка робить BTC настільки привабливим для спекуляцій - верхня межа на кількість BTC, рівний 21млн.

Пері́од (грец. περίοδος - кружний шлях, обертання, чергування) може означати: Проміжок часу, протягом якого повторюється якийсь циклічний процес: Період коливання Період обертання Горизонтальний ряд хімічних елементів, розміщених у порядку зростання їх атомних мас, що розпочинається лужним металічним елементом, та закінчується інертним газом.

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

Точна верхня межа (верхня грань) і точна нижня межа (нижня грань) - узагальнення понять максимуму та мінімуму відповідно.

Якщо коли-небудь BTC таки замінить золото як еталон для зберігання заощаджень, то, прирівнявши вартість світового золотого запасу до загальної вартості біткоіни, можна сказати що один BTC коштуватиме $ 71 000 - набагато більше, ніж зараз (практично, на два порядки, навіть з урахуванням останніх спекуляцій).



Складність майнінгу BTC

На малюнку 1 також показано як змінювалася складність майнінгу біткоінів з плином часу. За неповні 4 роки складність зросла в 50млн. разів. Якщо на початку складність відповідала 4-8 процесорним ядрам загального призначення, здатним перебрати приблизно 7 млн. хешей в секунду (MH / s), то зараз швидкість спільних зусиль по брутфорсам перевершує 7 петахешей в секунду (PH / s). Такому зростанню сприяли 2 фактора. Перше - зростання курсу USD / BTC дозволяє покрити витрати на експлуатацію більшої кількості обладнання для майнінгу. Друге - за цей час відбулися значні зміни як в програмному, так і в апаратному забезпеченні для майнінгу біткоінів.

Апара́тне забезпе́чення (англ. hardware; сленг. залі́зо) - комплекс технічних засобів, який включає електронний пристрій і, зокрема, ЕОМ: зовнішні пристрої, термінали, абонентські пункти тощо, які необхідні для функціонування тієї чи іншої системи; фізична частина ЕОМ.

Знову-таки, точки падіння складності видобутку BTC відповідають місцям обвалу курсу USD / BTC.



Інновації в hardware і software для майнінгу

Прогрес йшов неймовірно швидко, зміни слідували одне за іншим.

У вересні 2010 з'являється перший загальнодоступний CUDA miner. Уже в жовтні 2010 за ним пішов перший майнер для OpenCL.

Практично відразу після цього, в листопаді 2010, виникло таке явище як pooled mining, коли група комп'ютерів виконує розподілений перебір хеш, а, при видобутку блоку біткоіна, ділить нагороду між учасниками пропорційно їх внеску в загальну справу. Подібні пули дуже швидко виросли до розміру тисяч учасників, дозволивши останнім отримувати невеликі суми кожен день, а не великі (50 або 25 BTC) кожні кілька місяців.

На той момент складність видобутку блоку біткоінів дорівнювала приблизно місяцю роботи одного Hi-End GPU. Однією з ключових інновацій, яка зробила можливим існування mining pool'ів, стала можливість переконатися, що комп'ютер дійсно провів роботу по перебору хешів, яку він заявив як виконану, і виключення можливості того, що користувач «втече», коли його комп'ютера в ході перебору пощастить наштовхнутися на відповідь.

На жаль, mining pools служать свого роду «концентраторами», що суперечить розподіленій природі bitcoin і потенційно ставить під загрозу процес підтвердження транзакцій.

У червні 2011 з'явився перший open source miner для FPGA.

Відкрите програмне забезпечення (англ. open-source software) - програмне забезпечення з відкритим сирцевим кодом.

А потім у січні 2013 з'являється перший ASIC майнер і безліч поліпшень послідували за цим. На графіку складності видобутку BTC показані дати появи цих технологій.

продуктивність і енергоефективність

Hi-End CPU (на кшталт Core i7 990x), піддані оверклокингу, досягли продуктивності 33 MH / s, а Hi-End GPU від NVidia (начебто GTX 570) 155 MH / s.

Енергоефективність - ефективне (раціональне) використання енергетичних ресурсів. Використання меншої кількості енергії для забезпечення того ж рівня енергетичного забезпечення будівель або технологічних процесів на виробництві.

Водночас GPU від AMD (на кшталт 7970 за $ 450) виступали набагато переконливіше, на рівні 675 MH / s.

Наступний крок еволюції пов'язаний з появою FPGA Майнер, які хоч і трохи програвали видеокартам від AMD у вартості заліза на одиницю продуктивності ($ / MH / s), але зате споживали 60W замість 200W. Компанія під назвою Butterfly Labs (BFL) почала продавати FPGA Майнер, які в підсумку могли б поступово витіснити GPU за рахунок меншого енергоспоживання.

Енергоспоживання (грец. ἐνέργεια-діяльний, активний) - кількість енергії, яка споживається об'єктом в одиницю часу.

Але тут на сцену виходять ASIC Майнер, що дають виграш на порядки, в порівнянні з FPGA. За рахунок їх використання сумарна продуктивність злітає до небес, а разом з нею і складність видобутку блоків, що неминуче залишає не при справах і GPU і FPGA.



http://habrastorage.org/getpro/habr/post_images/0c4/353/e58/0c4353e58b0268e7db381a5b8a7bf62d.jpg

Малюнок 2. Установка для Майнінг біткоіни на основі FPGA

Стратегія майнінга

Важливим питанням для тих, хто займається видобутком біткоінів, є: коли інвестування грошей в «залізо» для видобутку біткоінів принесе більше прибутку, ніж просто їх купівля через біржу. Багато спеціалізованої апаратури для майнінгу BTC (або частки в компаніях, експлуатуючих таку апаратуру за вас) має ціну, зазначену в BTC. Погодьтеся, було б нерозумно купити таку апаратуру і так ніколи і не повернути свої вкладення, особливо з урахуванням обслуговування та рахунків за електрику.

Апаратура (рос. аппаратура, англ. apparatus, нім. Apparatur) - сукупність функціонально різноманітних вимірювальних приладів і допоміжних пристроїв та пристосувань, спеціально підібраних для виконання певної технічної задачі.

Вкладення у математиці - це спеціального вигляду відображення одного екземпляру деякої математичної структури у інший екземпляр того ж типу. А саме, вкладення деякого об'єкту X у Y визначається ін'єктивним відображенням, яке зберігає деяку структуру.

Щоб відповісти на це питання, необхідно оцінити повернення коштів за рахунок майнінгу біткоінів. В умовах експоненціального зростання складності видобутку нових біткоінів, здатність заліза до видобутку біткоінів падає також експоненціально. При зростанні складності приблизно в 1.2 рази кожні два тижні, 66% біткоінів, які «залізо» здатне добути за час своєї експлуатації, припадає на перший квартал роботи. 22% на другий квартал, 7% на третій, а на все, що залишився доводиться лише 4%. При цьому в перший день роботи буде видобуто 1/80 всіх біткоінів, що можна добути на цьому девайсі за час його експлуатації.

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

Деякі з цих параметрів відомі в момент покупки; наприклад, ціна апаратури, курс USD / BTC на цей момент і витрати на експлуатацію. Також легко оцінити кількість біткоінів, що добуваються за перший день роботи, тому строки поставки апаратури легко оцінити, а продуктивність тих же GPU в GH / s - перший, ніж користувачі починають мірятися на відповідних форумах. Витрати на обслуговування безпосередньо випливають із специфікації обладнання та рахунків за електрику. Оцінка того, за яку суму в майбутньому вдасться продати залізо, робиться (хоч і приблизно) вивчаючи сайти на зразок e-bay.

Основний ризик криється в динаміці курсу USD / BTC. Якщо курс зростає - зростає і прибуток від видобутку біткоінів, а також має сенс залишити обладнання в строю на більший термін. Якщо курс перестає рости або обвалюється, видобуток біткоінів стає меньш привабливою, а також для максимізації прибутку має сенс відключити устаткування і спробувати продати його раніше.

Специфіка́ція (англ. specification) - формалізований опис властивостей, характеристик і функцій об'єктів.

Обла́днання (устаткування) (англ. equipment, нім. ausrüstung) f) - сукупність пристроїв, механізмів, приладів, інструментів або конструкцій, що використовуються в певній сфері діяльності, або з певною метою.

Зміна ціни обладнання з часом веде себе різним чином для різних типів пристроїв. Ціна на GPU від AMD за рік експлуатації знижується досить незначно. У той час, як ситуація зі спеціалізованим обладнанням прямо протилежна, тому що єдине його призначення - майнінг. Спеціалізовані рішення на основі FPGA або ASIC мають набагато більш високі ризики, пов'язані з датою поставок устаткування - ціна, за яку їх готові купити, і те, скільки на них можна заробити, безпосередньо залежить про дати їх введення в процес майну. Управління цим ризиком - важлива частина майнінгу біткоінів.

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



Відключення обладнання

http://habrastorage.org/getpro/habr/post_images/e57/107/401/e571074014d5653147dda5b23df947f7.jpg

Малюнок 3. Денний прибуток від видобутку біткоінів і відповідні витрати на електроенергію.

Електропостача́ння (постачання електричної енергії, енергопостачання) - це комплекс технічних засобів і організаційних заходів для забезпечення споживача електроенергією; надання електричної енергії споживачу за допомогою технічних засобів передачі та розподілу електричної енергії на підставі договору.

Малюнок 3 показує денний прибуток на 1 GH / s, який приносив майнінг біткоінів з 2010го року. Даний графік комбінує історичні дані про складність майнінгу і курс USD / BTC. Різкий обвал в районі листопада 2012 відповідає зменшенню нагороди за блок з 50 BTC до 25 BTC. Горизонтальні лінії показують витрати на електроенергію на 1 GH / s за день для: CPU (Core i5), GPU (AMD 7970), FPGA (Bitforce SHA256) і 110nm ASIC (AvalonBatch 1).

Горизонталь, ізогіпса (англ. contour lines, horizontal, isohyps, нім. Höhenkurve f, Horizontale f; рос. горизонталь, изогипса; від дав.-гр. ισος - равний і дав.-гр. ὕψος - висота) - лінія на плані (карті), яка з'єднує точки земної поверхні з однаковою абсолютною висотою.

Коли прибуток на 1 GH / s опускається нижче цієї лінії, Майнінг стає збитковим і відповідне обладнання вимикається.

Збиток, збитки (англ. Losses) - суми втрачених активів, наприклад, через шкоду втрати, крадіжки або зобов'язання, які виникли, наприклад, у результаті правопорушення.



CPU: Перше покоління майнерів

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

while (1)

{

HDR[kNoncePos] ;



IF (SHA256(SHA256(HDR)) < (65535 << 208)/ DIFFICULTY)

return;


}

Обчислення SHA256 виконується над 512-бітними блоками даних і включає в себе 64 раунду шифрування, що вимагають безлічі 32-бітних складань, зрушень і бітових операцій.

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

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

Продуктивність таких майнерів досягає 33 MH / s на процесор (Core i7 990x). Більше додати особливо нічого.

GPU: Друге покоління Майнер

У жовтні 2010 був опублікований код першого open-source OpenCL майнера, після чого той був швидко адаптований і оптимізований стараннями ентузіастів співтовариства.

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

Подібні майнери складалися з реалізації bitcoin-протоколу на мові начебто Java або Python і алгоритму перебору у вигляді OpenCL-файлу, який належало скомпілювати під ISA відповідного GPU.

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

Компілятор (англ. Compiler від англ. to compile - збирати в ціле) - комп'ютерна програма (або набір к. програм), що перетворює (компілює) вихідний код, написаний певною мовою програмування (мова джерела, англ. source language)

Алгори́тм (латинізов. Algorithmi за араб. ім'ям узб. математика аль-Хорезмі) - набір інструкцій, які описують порядок дій виконавця, щоб досягти результату розв'язання задачі за скінченну кількість дій; система правил виконання дискретного процесу, яка досягає поставленої мети за скінченний час.

Температу́ра (від лат. temperatura - належне змішування, нормальний стан) - фізична величина, яка описує стан термодинамічної системи.

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

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

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

Архітекту́ра (грец. αρχιτεκτονικη - будівництво) - це одночасно наука і мистецтво проектування будівель, а також власне система будівель та споруд, які формують просторове середовище для життя і діяльності людей відповідно до законів краси.

Число з рухомою комою - форма представлення дійсних чисел, в якій число зберігається у формі мантиси і показника степеня.

Однак, з плином часу могла виникати потреба в переналаштуванні параметрів, т.я. системи електроживлення та охолодження з часом деградують у своїх характеристиках.

Типові GPU від AMD мають тенденцію показувати більшу продуктивність, ніж GPU від NVidia, якщо мова йде про GH / s на $, частково завдяки системі команд, добре відповідною для обчислень SHA256, і архітектурі VLIW, яка містить більшу кількість ALU, що працюють паралельно, нехай і на трохи меншій частоті. Зокрема, операції зсуву і бітового вибору можуть бути реалізовані єдиною інструкцією AMD ISA.

Тенденція і тенденційність (від лат. tendo - направляю, прагну) - можливість тих чи інших подій розвиватися в даному напрямку.

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

Вбудована графіка, зокрема від Intel, вже зараз має кращі показники продуктивності на ват, але для CPU характерні набагато скромніші power-бюджети - 200W, типові для GPU, абсолютно неприйнятні для CPU, який, взагалі кажучи, ще й не тільки графікою зайнятий . Крім того, до одного комп'ютера не вдасться підключити стільки CPU, скільки можна було б підключити відеокарт (про це далі). Та й амортизація обладнання не настільки швидка для CPU. Тому вбудована графіка - це не вибір майнера.

Основний код майнера, написаний на OpenCL, а не асемблері або в машинних кодах, після компіляції нерідко патч з метою використання інструкцій GPU, безпосередньо не підтримуваних OpenCL.

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

Асе́мблер (англ. assembler) - загальноприйнята назва транслятора з автокоду. Асемблер переводить початкову програму, написану на автокоді, в переміщувану програму на мові машинній. Оскільки асемблер здійснює трансляцію на мову завантажувача, при завантаженні програми необхідне налаштування умовних адрес, тобто адрес, значення яких залежать від розташування даної програми в пам'яті ЦВМ і від її зв'язків з іншими незалежно трансльованими програмами.

Відеока́рта (англ. video card, також графічна карта, графічний адаптер, графічний прискорювач) - пристрій, призначений для обробки і генерації зображень з подальшим їхнім виведенням на екран периферійного пристрою.

Абсолют (від лат. absolutus - безумовний, необмежений) - в ідеалістичній філософії і релігійних тлумаченнях - вічна, незмінна нескінченна першооснова Всесвіту (бог, абсолютна ідея тощо). Те, що нічим не зумовлене, ні від чого не залежне.

Маши́нний код, маши́нна мова в інформатиці - набір команд (інструкцій), які виконуються безпосередньо центральним процесором комп'ютера без транслятора. Кожен тип центрального процесора має власний машинний код.

Реалізація на OpenCL являє собою один великий блок коду, який на початку вибирає ряд параметрів, на основі id потоку, а потім виконує всі 64 раунди хешування в одному розгорнутому циклі.

1   2   3   4   5   6   7   8



  • Інновації в hardware і software для майнінгу
  • CPU: Перше покоління майнерів
  • GPU: Друге покоління Майнер