- 7 Legit Ways To Make Money With Bitcoin
- How Do I Make Money With Bitcoin?
- Method 1 – Trading
- Method 2 – Investing
- Method 3 – Mining
- Method 4 – Micro Earnings
- Method 5 – Accepting Bitcoin as a Payment Option
- Method 6 – Lending
- Method 7 – Become an Affiliate – Earn Bitcoin
- Is It Worth Investing Into Bitcoin?
- Can you make a lot of money with BTC?
- Final Thoughts
- Bitcoin in a nutshell — Mining
- Table of content
- Explain me like I’m five
- Sky is the limit?
- Reward
- Mining for dummies
- Proof-of-Work (PoW)
- Technical side
- Receive transactions
- Check
- Get reward
- Target
- Hash rate
- 2 Blocks 1 Chain
- 51% attack
- Hardware
- Conclusion
7 Legit Ways To Make Money With Bitcoin
Best Ways To Make Money With Bitcoin
Can you still make money with Bitcoin? Well, even after a decade of fluctuations and the unidentified Satoshi Nakamoto, Bitcoin still tops the chart. To be more precise, Bitcoin is the world’s largest cryptocurrency. So, the answer is a big yes, Bitcoin is a way to make money.
As now you seem sure-footed, the next default question is – How do you make money with Bitcoin? There is a long list of options, the most popular being Bitcoin mining, trading, investing, affiliate earnings, and micro earnings.
Nevertheless, there is no one-fit-for-all method of making money with Bitcoin. The amount of money you will generate depends on your risk appetite and the method you choose.
This post will discuss seven of the best ways to make money with Bitcoin. Whether you are an institutional investor or a complete crypto beginner, this article has you covered. (We have some bonus methods too).
How Do I Make Money With Bitcoin?
Here are the best seven ways of learning how to earn bitcoins:
- Trading
- Investing
- Mining
- Micro earnings
- Accepting Bitcoin as a payment
- Lending
- Affiliate earnings
Method 1 – Trading
Trading Bitcoin for banking profits is one of the most popular answers to – how do you make money with Bitcoin?
If you have a knack in analysing trading charts and you are ready to take risks, this option is for you. Sign up to Zipmex and exchange your local currency for the digital currency, BTC. Now, you have to wear a crypto trader’s cap. As soon as you see the best profit spike, trade your Bitcoins and enjoy the gain.
The icing on the cake is Bitcoin trading is available 24×7 so that you can trade at your convenience (obviously when profits soar high). Talking about convenience, our crypto trading platform – Zipmex, is available on both Android and iOS devices. You no longer need to force your eyeballs at the desktop as we bring the entire exchange in your pocket.
If you are less risk-averse, intra-day trading and arbitrage opportunities are made for you. Arbitrage means buying the same asset at a lower price and selling it at another platform while banking profits. Once you have a Zipmex account, chalk out a research-based trading plan while keeping a tab on the charts, considering the vitality of the Bitcoin world, trade the amount you can afford to lose.
Your profit margins in Bitcoin trading completely depend upon your dexterity of analysing charts and reading market situations. You can leverage Zipmex trading tools to gain more clarity about your trades. Zipmex trading tools ensure a frictionless trading experience.
Method 2 – Investing
Investing in Bitcoins is holding BTC until the iron becomes hot. HODL (Hold On for Dear Life) is the crypto lingo for long-term investments. If you believe in the positive future Bitcoin and are sure of its price surge, you must opt for investing. However, HODL investment must not be tied with fancy expectations.
You must know when is the right time to sell. If you are eyeing for long-term investments, you must keep your Bitcoins in a hardware wallet.
Are there some different options apart from buying-Bitcoin-and-then-selling-it kind of investments?
Yes, you can also make money with Bitcoin by investing in startups, companies, blockchain development, etc. These are research-intensive investments. You have to gauge the potential of a startup by analysing white papers, expert opinions, market demand, and whatnot. However, if you get this investment right, you will not just make some dollars with BTC; instead, you might hit a treasure chest.
The downside of investing is you have to hop between different exchanges to find the right investment opportunities. To your relief, Zipmex offers a wide range of investment options. No need to hop between exchanges, you find the top cryptocurrencies under one roof.
Method 3 – Mining
Bitcoin mining is the process of adding new blocks to the Bitcoin blockchain network by solving cryptographic puzzles.
If you have the technical know-how of mining and the luxury of high computing power, then mining is worth your effort. Bitcoin miners earned huge fortunes in the initial stages of this crypto revolution. However, today individual miners can hardly compensate for their electricity bills by mining Bitcoins.
Does this mean you can’t earn money with BTC mining? Not at all, there are cloud mining services where you have to pay once, and that’s about it. You don’t need to mine, nor you have to worry about your rising electricity bills.
Cloud mining services involve renting mining equipment for other miners so that they can mine for you. You have to invest once, and you will keep receiving your share of the cake. Before pouring your hard earned coin in a cloud mining company, verify it’s credibility as spam is at an all-time high in the crypto space.
To put it all together, mining is still profitable if you know how to do it the right way.
Method 4 – Micro Earnings
Save and Earn From Bitcoin
As the name suggests, micro earnings will not yield a fortune; however, it is a decent way to make a profit if you know what you are doing.
If you do not hit the skip ad button, micro-earnings will seem appealing to you. Pay to Click (PTC) websites like BTC4ADS, Coinadder will pay you in Bitcoins to watch ads. Other micro-jobs include watching youtube videos or completing online surveys. Bitcoinget is one of the leading micro-jobs websites.
Micro earnings sites reward you with very tiny amounts of Bitcoins – Satoshis. To put things in perspective, one Satoshi is equivalent to 100 millionth of a Bitcoin. Thus, watching an hour-long ad will earn you anywhere between 0.04 USD to 0.05 USD. If you want to earn some easy money while killing your free time, micro earnings faucets are the go-to place.
Bonus method: This method could be against the terms of service of the ad program so make sure you read their TOS before attempting this. You could invest in some low cost android phones and have them run on your wifi 24 hours a day. The ads will continuously play, while you rack up earnings. Before taking a crack at this, be sure to look into the initial costs of the phones, the electricity to keep them powered and the automation required to run them. If the numbers make sense you could earn a nice little side income.
Method 5 – Accepting Bitcoin as a Payment Option
You can earn money with BTC by accepting it as a payment option. Be it a small vendor or behemoths like Starbucks; everyone is embracing bitcoin as their payment option. So, if you are a seller or planning to be one, it would be wise to integrate bitcoin into your payment ecosystem.
Accepting bitcoin as your payment option opens the world for you. You can accept payments from every corner of the world and that too with lightning speed. You don’t need to depend on third-party services for processing your payments; all you need is a bitcoin wallet – it could be a new one or an existing Bitcoin wallet you own.
Also, to avoid losses, set your prices, keeping the bitcoin volatility in mind.
Method 6 – Lending
Instead of making money with bitcoin, why not let bitcoin make money for you?
By lending bitcoins to other people, you can earn interest on your bitcoins. Holding bitcoins will not make any money. Instead, if you lend them to someone, your bitcoins will earn for you. This is indeed better than holding bitcoins as holding could prove no less of a gamble.
You would not want to lose your bitcoins, would you? To avoid spam, trust your bitcoins with a credible lending platform. Unchained Capital, Bitbond, and BTCpop are amongst the trusted lend-and-borrow platforms. These platforms offer interests of up to 15%.
Be a smart earner and let your bitcoin make some extra for you. You can also sign up to Earn on Zipmex and get 6% on your BTC!
Method 7 – Become an Affiliate – Earn Bitcoin
It’s time to leverage your social media followers and earn. By being an affiliate to a cryptocurrency company, you can make large sums of money.
You have to sign up for a cryptocurrency affiliate program and promote their products for a commission. You will be receiving commissions depending on the customers you create for that particular company. The affiliate programs will provide you with a specialised affiliate link; this will track your performance. For every customer buying (signing, depending on the program) through your link, you will receive a decent commission.
If you have a good network and can convince people, you can earn a fortune with the affiliate programs by telling people how to earn a bitcoin. All you need to do is share the link on your social media handles and websites while promoting the product.
Also, it is necessary to sign up with a reputed affiliate program as you wouldn’t wish to sell spammy products.
Bonus methods: If you have enough knowledge about the blockchain world, you can make money by writing sponsored posts on the most coveted cryptocurrency blogging platform – Bitcoin talk forum. There are other platforms too, where you can show off your bitcoin skills and earn bitcoin.
Also, if you are ready to invest in computational power, you can become a master node and power bitcoin blockchain. Think of this as a server that is always on and helps the network run. You can make an impressive amount of money by being a master mode.
Is It Worth Investing Into Bitcoin?
Bitcoin is the leading cryptocurrency.
The profitability of any investment is gauged by its usefulness in the real world. Ask yourself – Is Bitcoin useful? Does it solve a real-world problem? Has it disrupted the current outdated solutions?
Well, the single answer to all such questions is a resounding yes. Bitcoin changed the financial ecosystem by introducing a decentralised, secure, and fast medium of exchange.
Just as the internet brought a revolution in the way we use technology, similarly, Bitcoin is revolutionising the financial space. Bitcoin is not a pop-and-drop technology; it is here to dominate the world. There is no denying that it is extremely volatile. However, it’s usage has only increased since its launch in 2009.
So, is it worth putting your hard-earned dollars into Bitcoin? If you strategically invest in Bitcoin, yes, it is worth it. If you are a smart investor who will not shy away from doing extensive research, Bitcoin investment is still lucrative for you.
Some people have witnessed huge losses in bitcoin investments, and some earned millions in bitcoin. It’s up to you to decide which category you want to fall into? The latter, right?
If you want to be sure-footed in this unprecedented world of bitcoins, follow these basic pointers:
- Do your research.
- Analyse the market.
- Do not put all your eggs in one basket.
- Measure the risks and choose the method that appeals to you the most.
- Do not follow the noise; always take expert advice.
To sum it up, Bitcoin is worth your time and investment. However, it would be best if you were extra careful as you are venturing into a highly volatile space.
Can you make a lot of money with BTC?
Make money with Bitcoin
Now that we understand how to make some extra cash, the next default question is, how much can you make?
Let’s answer it straight away. Yes, you can earn a lot of money with BTC. However, the more you want to make, the more you have to risk.
As discussed above, there is a whole spectrum of bitcoin earning – you can start small with micro earnings and advance towards high income by trading, investing, lending, etc.
There is no one-fit-for-all method to earn dollars in the bitcoin world. You have to glance through every method and opt for the one that you feel (obviously after extensive research) is the most lucrative. Or if you want to take advice from this post, you can diversify your investments.
Bitcoin investments are indeed volatile; however, the chances of every investment taking a steep dive simultaneously are impossible. Also, there is no formula to be a bitcoin millionaire overnight. You have to be patient with your investments.
Yes, you can make a lot of money if you invest in the right avenues while diversifying your investments.
Final Thoughts
Even after a decade of its launch and the fact that it isn’t ‘new’ Bitcoin remains a potential investment. You can make money with bitcoin through various avenues, including trading, investing, mining, affiliate programs, micro earnings, and many more. The amount of money that you will take home with bitcoin depends on the method you choose and the amount you risk. It is always advised to do your research before you pour your investments into bitcoin.
Bitcoin is volatile; its value can increase or decrease within hours. Considering this in mind, finding the best buy price is difficult. Also, these fluctuations can hamper your trade. Imagine you sold some bitcoins just to know the price of bitcoin increased the next minute. And talking about your investments, you will waste enough time hopping between different exchanges to locate different investments.
Zipmex effectively solves all these issues under one roof. You will find the lowest buy price on Zipmex. Also, you can complete trades at lightning speeds. To be more accurate, you can buy and sell bitcoins quickly. Yes, you heard it right!
Источник
Bitcoin in a nutshell — Mining
Даже люди, бесконечно далекие от темы криптовалют, скорее всего слышали про майнинг. Наверное и ты, дорогой читатель, задумывался о том, чтобы включить свой игровой Pentium 4 на ночь, а утром проснуться уже богатым.
Но, как это часто случается в мире блокчейна, тех кто слышал — много, а вот тех, кто реально понимает процесс от начала до конца, — единицы. Поэтому в последней главе я пострался максимально подробно охватить все тонкости, начиная от технической реализации PoW, заканчивая рентабельностью майнинга на видеокартах.
Table of content
Explain me like I’m five
Майнинг, также добыча (от англ. mining — добыча полезных ископаемых) — деятельность по поддержанию распределенной платформы и созданию новых блоков с возможностью получить вознаграждение в форме эмитированной валюты и комиссионных сборов в различных криптовалютах, в частности в Биткойн. Производимые вычисления требуются для обеспечения защиты от повторного расходования одних и тех же единиц валюты, а связь майнинга с эмиссией стимулирует людей расходовать свои вычислительные мощности и поддерживать работу сетей — Wikipedia
Если на пальцах, то майнинг — это критически важный для Bitcoin процесс, состоящий в создании новых блоков и преследующий сразу две цели. Первая — производство денежной массы. Каждый раз, когда майнер создает новый блок, ему за это полагается награда в N-ое число монет, которые он потом где-нибудь тратит, тем самым запуская в сеть новые средства.
Вторая, и куда более важная цель, — обеспечение работы всей сети. Наверняка, читая предыдущие статьи, вы уже задавали себе вопросы «Кто тот человек, который проверяет скрипты транзакций?» или «Если в качестве входа я укажу уже использованный выход, в какой момент это заметят?».
Так вот, все эти действия выполняют в первую очередь майнеры. Ну, на самом деле каждый участник сети в той или иной степени обеспечивает ее безопасность. Синхронизировать Bitcoin так долго не потому что приходится качать 100 ГБ, а потому что надо проверить каждый байт, посчитать каждый хэш, запустить каждый скрипт и так далее.
Но если нарисовать весь процесс, начиная с нажатия кнопки «Send» в кошельке и заканчивая просмотром блока с вашей транзакцией где-нибудь на blockchain.info, то именно майнеры будут решать, окажется ваша транзакция в блоке или нет.
Sky is the limit?
Для начала давайте еще раз пройдемся по первому пункту и обсудим понятие денежной массы.
Одна из фундаментальных фишек, которой часто бравируют сторонники криптовалют — заложенная изначально дефляция. Это связано с тем, что еще на этапе проектировки системы, было указано суммарное ограничение в 21 миллион монет (примерно), и даже если очень сильно захотеть, поднять этот порог не получится. В отличие от рубля или доллара, которые по желанию казначейства могут быть напечатаны в любом количестве, что иногда приводит к печальным последствиям, как в Зимбабве.
BTW не все считают дефляцию таким уж однозначным плюсом.
Reward
Следующий хороший вопрос — откуда взялась цифра в 21 миллион?
Я думаю вы понимаете, что сумма выпущенных монет в конкретный момент времени равна сумме вознаграждений за блоки, созданные к этому моменту. Довольно очевидный факт, учитывая что существует только один путь, по которому новые монеты попадают в сеть.
Но вознаграждение не фиксировано, и более того, каждые 210.000 блоков (примерно раз в 4 года) оно уменьшается в два раза.
Так, например, когда все начиналось в январе 2009, награда за блок составляла 50 BTC. Спустя 210.000 блоков, в ноябре 2012 она упала до 25 BTC, и совсем недавно, 9 июля 2016, снизилась до 12.5 BTC.
Несложно посчитать точное число Сатоши, которые будут произведены на свет, если предположить, что Bitcoin не заглохнет в ближайшие 200 лет:
На картинке ниже изображена кривая добычи, которая будет все более плавно подходить к отметке в 21 миллион BTC, достигнув пика примерно в 2140 году. В это время награда за блок станет 0 BTC.
Остается только гадать, что тогда произойдет с Bitcoin, но одно мы можем знать точно — совсем без денег майнеры не останутся. Как минимум у них еще есть transaction fee, другое дело, что эта самая комиссия может на порядок увеличиться.
Возьмем для наглядности какой-нибудь свежий блок, например #447119. Сумма комиссий со всех транзакций в блоке составляет примерно 0.78 BTC, при том что вознаграждение за него — 12.5 BTC. То есть если завтра reward исчезнет, то в нашем случае комиссия должна вырасти более чем в 16 раз, чтобы нивелировать это неприятное событие. Понятно, что никакими микроплатежами тут уже и не пахнет.
Mining for dummies
Давайте постараемся еще раз представить процесс майнинга на нашем, пока что примитивном уровне.
Существует сеть с кучей участников. Некоторые из участников называют себя майнерами — они готовы собирать на своем ПК новые транзакции, проверять их на валидность, потом каким-то образом майнить из них новый блок, раскидывать этот блок по сети и получать за это денежку. Логичный вопрос — если все так просто, то почему этим не занимается каждый участник сети?
Понятно, что если все было бы так, как я сейчас описал, то блоки выходили бы по сто раз в секунду, валюты было бы столько, что за нее никто не дал бы и цента, и так далее.
Поэтому Сатоши был вынужден придумать алгоритм, со следующими свойствами:
- Создание нового блока — вычислительно сложная задача. Нельзя вот так просто включить мощный ПК и за минуту намайнить сто блоков.
- На вычисление нового блока у всей сети уходит 10 минут (в среднем). Если посмотреть на Litecoin, то там блоки выходят раз в 2-3 минуты, суть заключается именно в том, что среднее время заранее установлено.
- Более того, это время не зависит от числа участников сети. Даже если однажды майнеров станет в сто раз больше, то алгоритм должен так изменить свои параметры, чтобы блок стало находить сложнее, и block time опустился обратно в окрестность десяти минут.
- Помним, что сеть распределенная и одноранговая, а значит, она должна сама понимать, в какой момент и как нужно подкрутить эти параметры. Никаких управляющих нод, все полностью автономно.
- Если решение задачи по созданию нового блока — это сложная задача, требующая времени и ресурсов, то проверка блока на «корректность» должна быть простой и практически мгновенной.
Proof-of-Work (PoW)
Скорее всего вы сейчас прибываете в полной прострации и не очень понимаете, как такое вообще возможно. Но Сатоши не растерялся и смог придумать решение для всех этих проблем — алгоритм получил название Proof-of-Work, вот так он выглядит (советую сначала прочитать Bitcoin in a nutshell — Blockchain):
Пусть вы — майнер. У вас есть 10 транзакций, которые вы хотите замайнить в блок. Вы проверяете эти транзакции на валидность, формируете из них блок, в поле nonce указываете 0 и считаете хэш блока. Потом меняете nonce на 1, снова считаете хэш. И так до бесконечности.
Ваша задача — найти такой nonce, при котором хэш блока (256 битное число) меньше заранее заданного числа N. Поиск такого хэша возможен только тупым перебором nonce, никаких красивых алгоритмов здесь нет. Поэтому чем быстрее вы хотите найти nonce, тем больше мощностей вам понадобится.
Число N — именно тот параметр (его еще называют target), который сеть настраивает в зависимости от суммарной мощности майнеров. Если завтра блоки начнут выходить, условно говоря, раз в три минуты, то N будет как-то уменьшено, времени на поиск nonce потребуется больше и block time снова вырастет до 10 минут. И наоборот.
Technical side
Самое время перейти от слов к делу и продемонстрировать, как работает Proof-of-Work и майнинг в целом. А по моему скромному мнению, нет ничего лучше, чем показать вообще весь процесс прямо в боевых условиях. Для этого мы сейчас с ходу напишем свою майнинг ноду и даже попробуем сделать новый блок раньше всех, хотя шансы на успех невелики.
Receive transactions
По-хорошему здесь нужно снова погружаться в спецификацию протокола, устанавливать контакт с другими нодами и ждать, пока нам пришлют свежие транзакции. В этом случае у нас получится самый настоящий real-time майнер, ничем не хуже уже готовых решений (но это не точно).
Я предлагаю пойти упрощенным путем. Открываем blockchain.info и выбираем несколько транзакций из списка «Последние транзакции». Они только-только попали в сеть и пока что не входят ни в один из блоков. Далее открываем другой block explorer — chainquery.com. Он умеет выдавать транзакции в сыром формате и по хэшам получаем транзакции в уже знакомом нам виде. Я ограничился двумя (раз, два):
Check
Следующим шагом нужно проверить полученные транзакции. Я этого делать не буду, просто перечислю основные пункты:
- Верно соблюдены структура и синтаксис транзакции
- Список входов / выходов не может быть пустым
- Транзакции на входе должны существовать либо в UTXO pool, либо в пуле неподтвержденных транзакций
- Сумма входов не меньше суммы выходов
- Полный список можете найти здесь
Некоторые майнеры отвергают транзакции с нулевой или слишком маленькой комиссией, но это каждый решает сам.
На всякий случай поясню, что ничто не мешает вам включать транзакции в блок в каком угодно порядке, главное, чтобы они прошли все проверки. В моем случае транзакций всего две, поэтому сортировать их тем более нет никакого смысла. Но не стоит забывать, что размер блока ограничен 1 МБ, поэтому если у вас в пуле 10.000 транзакций, то будет разумно отсортировать их по комисии и записать в блок только самые «дорогие».
BTW Часто попадаются статьи / книги, в которых сказано, что перед майнингом нового блока, Bitcoin Core сортирует транзакции по специальному параметру priority, который считается как
Это было верно вплоть до версии 0.12.0, потом сортировку по priority отключили.
Get reward
Если вы посмотрите на структуру любого блока, то самой первой всегда идет так называемая coinbase транзакция — именно она отправляет вознаграждение на адрес майнера. В отличии от обычных транзакций, coinbase transaction не тратит в качестве входов выходы из UTXO pool. Вместо этого у нее указан только один вход, называемый coinbase, который «создает» монеты из ничего. Выход у такой транзакции тоже только один. Он отправляет на адрес майнера награду за блок плюс сумму комиссий со всех транзакций в блоке. В моем случае это 12.5 + 0.00018939 + 0.0001469 = 12.50033629 .
Давайте подробнее рассмотрим структуру coinbase транзакции, а если конкретнее — ее вход. На всякий случай напомню, как выглядит вход у «обычной» транзакции:
Вот три отличия входа coinbase транзакции:
- Вместо настоящего transaction hash указывается 32 нулевых байта
- Вместо output index указывается 0xFFFFFFFF .
- В поле unlocking script можно указать что угодно размером от 2 до 100 байт, поэтому это поле еще называют coinbase data. Например в genesis block там спрятана фраза «The Times 03/Jan/2009 Chancellor on brink of second bailout for banks» . Как правило, майнеры вставляют в coinbase data свое имя / имя майнинг пула / еще что-нибудь.
Часто в coinbase data вставляют так называемый extra nonce, подробнее здесь. Суть в том, что может не найтись нужного nonce, при котором хэш блока меньше target (на самом деле это будет происходить в большинстве случаев). Тогда остается что-нибудь менять в транзакции, чтобы получились другие хэши, например — UNIX timestamp. Но если вы читали Bitcoin in a nutshell — Blockchain, то знаете, что timestamp тоже сильно не изменишь, иначе другие ноды отвергнут ваш блок. Решение оказалось довольно простым: достаточно добавить какое-нибудь число в coinbase data и менять его, если для текущего header не нашлось нужного nonce.
Процесс создания новой транзакции подробно описан в главе Bitcoin in a nutshell — Protocol, поэтому здесь я просто приведу уже полученную coinbase transaction, весь код, как обычно, доступен на [Github]():
Осталось только посчитать для этих трех транзакций merkle root. Для этого воспользуемся фрагментом кода из Bitcoin in a nutshell — Blockchain:
Target
Как я уже написал выше, весь майнинг сводится к тому, чтобы найти хэш блока меньше числа, называемого target. В структуре блока это число записывается в поле bits, например для блока #277,316, target равнялся 1903a30c .
В bits на самом деле записаны сразу два числа: первый байт 0x19 — экспонента, оставшиеся три байта 0x03a30c — мантисса. Для того, чтобы получить target из bits, нужно воспользоваться следующей формулой: target = mantissa * 2^(8 * exponent — 3)) . В случае блока #277.316 получается:
Другой термин, отражающий сложность майнинга, — difficulty. Например для блока #449.584 он равнялся 392,963,262,344.37 . Этот параметр представляет из себя отношение max_target / current_target , где max_target — максимально возможный target, а именно 0x00000000FFFF0000000000000000000000000000000000000000000000000000 ( 0x1d00ffff в формате bits). Именно bits как правило указывается во все block explorer.
BTW чем меньше target, тем больше difficulty и наоборот.
Теперь, когда вы разобрались со всеми нюансами, можно запускать майнер:
Hash rate
Если вы дождались заветной строчки Success! , то у вас либо Intel Core i7, либо очень много свободного времени. Я понятия не имею, когда этот код закончит свою работу и найдет ли он nonce вообще, потому что текущая сложность просто чудовищно велика. Даже если предположить, что наша программа способна обсчитать 100.000 хэшей в секунду (а это не так), то она все равно в миллионы раз медленней любого настоящего майнера, поэтому на поиск nonce у нее может уйти несколько дней.
Чтобы вы осознали масштаб проблемы: существует метрика hashrate. Она отражает суммарную мощность майнеров в сети Bitcoin, единица измерения — хэши SHA256 в секунду. Вот ее график:
Будем считать, что хэшрейт составляет 2.000 PH/s = 2.000.000 TH/s = 2.000.000.000 GH/s = 2.000.000.000.000 MH/s = 2.000.000.000.000.000 KH/s. А наша программа даже 100 KH/s не может осилить, поэтому соревноваться со всей сетью нет никакого смысла.
2 Blocks 1 Chain
Давайте на минуту представим, что майнеры ищут блок #123456. И примерно в одно и то же время он был найден двумя независимыми майнерами, один из которых живет в Австралии, а другой в США. Каждый из них начинает раскидывать свою версию блока по сети, и в результате получается, что у одной половины мира один блокчейн, а у другой — другой.
Возможно ли такое и что произойдет в этом случае?
Да, возможно. Более того, такое происходит довольно часто. В этом случае каждая нода продолжает придерживаться своей версии блокчейна до тех пор, пока кто-нибудь не найдет следующий блок. Предположим, что новый блок продолжает «зеленую» ветку, как на картинке ниже.
В этом случае те ноды, которые придерживаются «красной» версии, автоматически синхронизирует зеленую, потому что в мире Bitcoin работает правило: «истинна» самая длинная версия блокчейна. «Красная» версия блокчейна будет попросту забыта, вместе с наградами для тех, кто ее нашел.
Вы можете спросить: а что если форк пойдет дальше? То есть одновременно с «фиолетовым» блоком найдут еще один, который будет продолжать «красную» версию блокчейна?
Скорее всего, эту книгу будут читать не только люди с хорошим математическим образованием, поэтому дам самый общий ответ — такое безусловно возможно. Но вероятность даже первого форка довольно мала, второго — еще меньше и так далее. Чтобы вы понимали, самый длинный форк за всю историю Bitcoin составил всего 4 блока. Так что в какой-то момент одна из веток все таки вырвется вперед, и вся сеть перейдет на нее.
Если вам интересна эта проблема именно с ракурса теории вероятностей, то можете прочесть «What is the probability of forking in blockchain?» Еще этот вопрос неплохо расписан в знаменитой «Bitcoin: A Peer-to-Peer Electronic Cash System» by Satoshi Nakamoto.
51% attack
На том простом факте, что в блокчейне самая длинная цепочка — доминирующая, основана целая атака:
Представьте, что вы мошенник и покупаете товар на 1000 BTC в каком-нибудь магазине. Вы договариваетесь с продавцом и отправляете ему деньги. Продавец проверяет блокчейн, видит, что такая транзакция действительно была, прошла все проверки и даже попала в какой-нибудь блок, например #123. После этого продавец идет на почту и отправляет вам товар.
В это время вы включаете свою майнинг-ферму и начинаете майнить, начиная с блока #122. Если у вас достаточно мощностей, то вы можете обогнать всю остальную сеть и быстрее всех досчитать до блока #124, после чего весь мир перейдет на вашу версию блокчейна. При этом свою транзакцию на 1000 BTC, вы не будете включать ни в один из блоков, а значит она будет навсегда забыта, как будто ее никогда и не было. В результате продавец лишится товара и не получит своих денег.
Не буду вдаваться в теорию вероятностей, но осуществить такую атаку невозможно, если только у вас нет как минимум половины хэшрейта всей сети. Подробнее можете прочитать в bitcoin.pdf.
Тем не менее некоторые майнинг пулы обладают очень значительными мощностями. Так например BTC Guild в 2013 году почти преодолел порог в 51% хэшрейта. В какой-то момент они замайнили сразу 6 блоков подряд, так что при желании смогли бы осуществить данную атаку. Поэтому рекомендуется считать транзакцию подтвержденной только после того, как было создано 6 блоков сверху.
Hardware
Можете сразу забыть про майнинг на CPU или GPU. Чтобы вы понимали, ниже изображен хэшрэйт на начало 2017 года. Будем считать, что он в среднем составляет 2.300.000 TH/S, то есть 2.300.000.000.000 MH/s. Для сравнения, самые зверские видеокарты, такие как ATI Radeon HD 5870 Eyefinity или AMD Radeon HD 7970 (x3), выдают в лучшем случае 2000 MH/S. Среди процессоров первое место занимает Xeon Phi 5100 со смешными 140 MH/s.
Так что даже исходя из курса в 1000 $/BTC и имея на руках 10.000 MH/s, вы в среднем будете зарабатывать 20 центов в месяц.
CPU майнинг перестал быть рентабельным еще в 2011 году, GPU держался примерно до 2013 года, но тоже прогорел, когда широкое распространение получили так называемые application-specific integrated circuit — ASIC. Это специальные чипы, заточенные под майнинг на уровне железа. Самые простые стоят в районе 100$, что сильно дешевле топовой видеокарты, но при этом способны выдавать от 1 TH/s.
То есть при прочих равных, имея два Antminer S9 по 3.000$ за штуку, вы будете зарабатывать почти 700 долларов в месяц (без учета счетов за электричество)
Но и на этом еще не все. Вы можете объединиться с другими майнерами в mining pool и начать майнить вместе, а заработанные деньги делить пропорционально вложенным мощностям. Это, очевидно, намного выгодней, чем пытаться заработать хоть что-нибудь в одиночку, поэтому именно пулы на сегодняшний день составляют главную движущую силу в мире майнинга. На начало 2017 года основными игроками на рынке пулов являются AntPool, F2Pool и Bitfury, обеспечивающие более 40% хэшрейта всей сети.
Conclusion
На этой высокой ноте я заканчиваю свой рассказ про техническое устройство Bitcoin. Исходники текста плюс примеры кода здесь, там же pdf версия. Pull requests welcome, задавайте свои вопросы в Issues или в комментариях.
Источник