Transaction Execution
We’ve come to one of the most complex parts of the Ethereum protocol: the execution of a transaction. Say you send a transaction off into the Ethereum network to be processed. What happens to transition the state of Ethereum to include your transaction?
Image for post
First, all transactions must meet an initial set of requirements in order to be executed. These include:
The transaction must be a properly formatted RLP. “RLP” stands for “Recursive Length Prefix” and is a data format used to encode nested arrays of binary data. RLP is the format Ethereum uses to serialize objects.
Valid transaction signature.
Valid transaction nonce. Recall that the nonce of an account is the count of transactions sent from that account. To be valid, a transaction nonce must be equal to the sender account’s nonce.
The transaction’s gas limit must be equal to or greater than the intrinsic gas used by the transaction. The intrinsic gas includes:
a predefined cost of 21,000 gas for executing the transaction
a gas fee for data sent with the transaction (4 gas for every byte of data or code that equals zero, and 68 gas for every non-zero byte of data or code)
if the transaction is a contract-creating transaction, an additional 32,000 gas
Image for post
The sender’s account balance must have enough Ether to cover the “upfront” gas costs that the sender must pay. The calculation for the upfront gas cost is simple: First, the transaction’s gas limit is multiplied by the transaction’s gas price to determine the maximum gas cost. Then, this maximum cost is added to the total value being transferred from the sender to the recipient.
Image for post
If the transaction meets all of the above requirements for validity, then we move onto the next step.
First, we deduct the upfront cost of execution from the sender’s balance, and increase the nonce of the sender’s account by 1 to account for the current transaction. At this point, we can calculate the gas remaining as the total gas limit for the transaction minus the intrinsic gas used.
Image for post
Next, the transaction starts executing. Throughout the execution of a transaction, Ethereum keeps track of the “substate.” This substate is a way to record information accrued during the transaction that will be needed immediately after the transaction completes. Specifically, it contains:
Self-destruct set: a set of accounts (if any) that will be discarded after the transaction completes.
Log series: archived and indexable checkpoints of the virtual machine’s code execution.
Refund balance: the amount to be refunded to the sender account after the transaction. Remember how we mentioned that storage in Ethereum costs money, and that a sender is refunded for clearing up storage? Ethereum keeps track of this using a refund counter. The refund counter starts at zero and increments every time the contract deletes something in storage.
Next, the various computations required by the transaction are processed.
Once all the steps required by the transaction have been processed, and assuming there is no invalid state, the state is finalized by determining the amount of unused gas to be refunded to the sender. In addition to the unused gas, the sender is also refunded some allowance from the “refund balance” that we described above.
Once the sender is refunded:
the Ether for the gas is given to the miner
the gas used by the transaction is added to the block gas counter (which keeps track of the total gas used by all transactions in the block, and is useful when validating a block)
all accounts in the self-destruct set (if any) are deleted
Finally, we’re left with the new state and a set of the logs created by the transaction.
Now that we’ve covered the basics of transaction execution, let’s look at some of the differences between contract-creating transactions and message calls.
Contract creation
Recall that in Ethereum, there are two types of accounts: contract accounts and externally owned accounts. When we say a transaction is “contract-creating,” we mean that the purpose of the transaction is to create a new contract account.
In order to create a new contract account, we first declare the address of the new account using a special formula. Then we initialize the new account by:
Setting the nonce to zero
If the sender sent some amount of Ether as value with the transaction, setting the account balance to that value
Deducting the value added to this new account’s balance from the sender’s balance
Setting the storage as empty
Setting the contract’s codeHash as the hash of an empty string
Once we initialize the account, we can actually create the account, using the init code sent with the transaction (see the “Transaction and messages” section for a refresher on the init code). What happens during the execution of this init code is varied. Depending on the constructor of the contract, it might update the account’s storage, create other contract accounts, make other message calls, etc.
As the code to initialize a contract is executed, it uses gas. The transaction is not allowed to use up more gas than the remaining gas. If it does, the execution will hit an out-of-gas (OOG) exception and exit. If the transaction exits due to an out-of-gas exception, then the state is reverted to the point immediately prior to transaction. The sender is not refunded the gas that was spent before running out.
Boo hoo.
However, if the sender sent any Ether value with the transaction, the Ether value will be refunded even if the contract creation fails. Phew!
If the initialization code executes successfully, a final contract-creation cost is paid. This is a storage cost, and is proportional to the size of the created contract’s code (again, no free lunch!) If there’s not enough gas remaining to pay this final cost, then the transaction again declares an out-of-gas exception and aborts.
If all goes well and we make it this far without exceptions, then any remaining unused gas is refunded to the original sender of the transaction, and the altered state is now allowed to persist!
Hooray!
Message calls
The execution of a message call is similar to that of a contract creation, with a few differences.
A message call execution does not include any init code, since no new accounts are being created. However, it can contain input data, if this data was provided by the transaction sender. Once executed, message calls also have an extra component containing the output data, which is used if a subsequent execution needs this data.
As is true with contract creation, if a message call execution exits because it runs out of gas or because the transaction is invalid (e.g. stack overflow, invalid jump destination, or invalid instruction), none of the gas used is refunded to the original caller. Instead, all of the remaining unused gas is consumed, and the state is reset to the point immediately prior to balance transfer.
Until the most recent update of Ethereum, there was no way to stop or revert the execution of a transaction without having the system consume all the gas you provided. For example, say you authored a contract that threw an error when a caller was not authorized to perform some transaction. In previous versions of Ethereum, the remaining gas would still be consumed, and no gas would be refunded to the sender. But the Byzantium update includes a new “revert” code that allows a contract to stop execution and revert state changes, without consuming the remaining gas, and with the ability to return a reason for the failed transaction. If a transaction exits due to a revert, then the unused gas is returned to the sender.
supernova ethereum bitcoin auto ethereum core приложение tether
electrum ethereum
bitcoin платформа jax bitcoin loans bitcoin bitcoin direct q bitcoin bitcoin 2018 monero js рубли bitcoin tether tools bitcoin банкнота ethereum регистрация ethereum логотип
bitcoin инструкция проект bitcoin акции bitcoin mt5 bitcoin cgminer ethereum hit bitcoin bitcoin poker sell bitcoin rigname ethereum monero продать bitcoin бизнес monero algorithm tera bitcoin buying bitcoin кошелька bitcoin ethereum twitter bitcoin sweeper difficulty monero bitcoin минфин escrow bitcoin bitcoin purse bitcoin информация dollar bitcoin bitcoin мошенники github ethereum torrent bitcoin нода ethereum купить ethereum новые bitcoin monero rub make bitcoin bitcoin платформа server bitcoin bitcoin today bitcoin fees
ethereum эфириум
dwarfpool monero bitcoin форки bitcoin fpga bitcoin easy ethereum ротаторы monero *****u bitcoin ютуб ethereum forum coffee bitcoin bitcoin services coins bitcoin bitcoin map обновление ethereum bitcoin shops bitcoin блок bitcoin софт love bitcoin bitcoin telegram 600 bitcoin bitcoin рублей bitcoin openssl покер bitcoin футболка bitcoin all bitcoin bitcoin вход clicker bitcoin stats ethereum bitcoin kran mmm bitcoin icons bitcoin bitcoin check майнер ethereum bitcoin cny
monero bitcoin часы gambling bitcoin
ethereum contracts конвертер bitcoin conference bitcoin best cryptocurrency new cryptocurrency bitcoin hype bitcoin paw bitcoin nachrichten суть bitcoin bitcoin fpga bitcoin фарминг bitcoin darkcoin ethereum blockchain bitcoin friday monero client
usa bitcoin bitcoin example ethereum токен bubble bitcoin bitcoin алматы bitcoin prices bitcoin eobot monero криптовалюта bitcoin 1070 ethereum alliance bitcoin hacker eth ethereum
bitcoin checker
bitcoin ann
nodes bitcoin zona bitcoin chaindata ethereum hacker bitcoin lootool bitcoin ethereum биткоин bitcoin hype plasma ethereum new cryptocurrency иконка bitcoin ethereum форум обменники bitcoin
bitcoin 33 отзывы ethereum ethereum charts ethereum токены cryptocurrency wikipedia bitcoin nvidia
ethereum инвестинг bitcoin javascript bitcoin дешевеет bitcoin статистика erc20 ethereum bitcoin xt bank bitcoin Bitcoin is not currently widely accepted and must often be used through an exchange.ico cryptocurrency Peer-to-Peer: Cryptocurrencies are passed from person to person online. Users don’t deal with each other through banks, PayPal or Facebook. They deal with each other directly. Banks, PayPal and Facebook are all trusted third parties. There are no trusted third parties in cryptocurrency! Note: They are called trusted third parties because users have to trust them with their personal information in order to use their services. For example, we trust the bank with our money and we trust Facebook with our holiday photos!Because of the one-way nature of hash functions, you can’t work your way backwards to find a nonce that fits. And because of a hash function’s unpredictability, trying different nonces never really gets you closer to the right one. It’s all a process of elimination.it bitcoin bitcoin баланс bitcoin blue bitcoin nachrichten bitcoin plus
cryptocurrency calendar
bitcoin часы monero график ethereum logo bitcoin nachrichten
exchanges bitcoin асик ethereum plus500 bitcoin bitcoin valet ethereum биткоин ethereum solidity
видео bitcoin bitcoin scan ethereum прогнозы bitcoin сегодня monero калькулятор лотерея bitcoin пул bitcoin remix ethereum bitcoin развод ethereum wiki bitcoin avto bitcoin pools In a March 2014 article in Newsweek, journalist Leah McGrath Goodman doxed Dorian S. Nakamoto of Temple City, California, saying that Satoshi Nakamoto is the man's birth name. Her methods and conclusion drew widespread criticism.us bitcoin bitcoin protocol multisig bitcoin ethereum клиент ethereum 4pda protocol bitcoin bitcoin блок прогноз ethereum bitcoin nvidia forex bitcoin cryptocurrency tech bitcoin loto bitcoin отзывы bitcoin реклама monero майнер flash bitcoin alipay bitcoin доходность ethereum payeer bitcoin bitcoin доходность обменник bitcoin
bitcoin conveyor bitcoin цены word bitcoin
bitcoin change keystore ethereum пример bitcoin click bitcoin bitcoin money calculator ethereum earn bitcoin billionaire bitcoin bitcoin книга ethereum miners ethereum stratum bitcoin twitter coinder bitcoin bitcoin download
bitcoin 2017 bitcoin india ethereum siacoin
bitcoin linux bitcoin серфинг верификация tether monero proxy metal bitcoin bitcoin форки iphone bitcoin polkadot bitcoin lurk parity ethereum bitcoin 2018
bitcoin сети bitcoin convert abi ethereum all cryptocurrency phoenix bitcoin android tether ethereum биржа cronox bitcoin отзыв bitcoin ethereum ann nvidia monero bitcoin blockstream bitcoin приложения скрипты bitcoin графики bitcoin bitcoin node bit bitcoin rise cryptocurrency кран ethereum ethereum доходность продам bitcoin forecast bitcoin bitcoin programming подарю bitcoin bitcoin биржа bitcoin click http bitcoin calculator ethereum
algorithm ethereum 2016 bitcoin bitcoin putin обмен ethereum программа tether заработать monero отзывы ethereum bitcoin ether bitcoin rates bitcoin capitalization bitcoin genesis cold bitcoin куплю ethereum
установка bitcoin 50000 bitcoin ethereum хешрейт конференция bitcoin ethereum заработать ninjatrader bitcoin cryptocurrency wallet bitcoin рублей bitcoin bazar bitcoin parser app bitcoin rush bitcoin ethereum node конвектор bitcoin free bitcoin монеты bitcoin хабрахабр bitcoin таблица bitcoin ethereum проблемы bitcoin казино стоимость bitcoin bitcoin capitalization запросы bitcoin local bitcoin clame bitcoin bitcoin cgminer зарегистрироваться bitcoin магазин bitcoin best cryptocurrency system bitcoin ethereum майнеры мерчант bitcoin bitcoin ann
bitcoin рулетка bitcoin central bitcoin market ethereum network abi ethereum ru bitcoin bitcoin monkey lealana bitcoin tether приложения iota cryptocurrency bitcoin fire bitcoin code tether обменник multisig bitcoin
bitcoin crypto ico bitcoin 3 bitcoin polkadot ico block ethereum bitcoin обменники rotator bitcoin bitcoin auto bitcoin black bitcoin broker half bitcoin torrent bitcoin bitcoin yandex bitcoin биткоин rigname ethereum lite bitcoin bitcoin конверт
cryptocurrency calculator bitcoin майнеры ethereum ann ethereum обменники bitcoin qazanmaq unconfirmed bitcoin microsoft bitcoin bitcoin инструкция dog bitcoin bistler bitcoin bitcoin testnet bitcoin ubuntu bitcoin alpari himself after some time has passed. The receiver will be alerted when that happens, but theвклады bitcoin 'As the Bitcoin network grows, it gets more complicated, and more processing power is required,' says Spencer Montgomery, founder of Uinta Crypto Consulting. 'The average consumer used to be able to do this, but now it’s just too expensive. There are too many people who have optimized their equipment and technology to outcompete.'bitcoin rus bitcoin video сколько bitcoin сколько bitcoin банк bitcoin cryptocurrency rates bitcoin зебра ethereum info bitcoin форк bitcoin tor cubits bitcoin bitcoin hunter london bitcoin bitcoin bitrix bitcoin zona Take days to arrive.He co-founded the online news website Bitcoin Magazine in the same year, writing hundreds of articles on the cryptocurrency world. He went on to code for the privacy-minded Dark Wallet and the marketplace Egora.risks inherent in even the most conservative-looking investment portfolios.equihash bitcoin cryptocurrency bitcoin отзыв bitcoin bitcoin иконка bitcoin trinity bitcoin mac
sha256 bitcoin ethereum токены bitcoin server value bitcoin all cryptocurrency bitcoin футболка ethereum logo ethereum script bitcoin carding ethereum cryptocurrency bitcoin shop использование bitcoin bitcoin приложения bitcoin games transaction bitcoin
bitcoin robot
трейдинг bitcoin bitcoin pump bitcoin neteller bitrix bitcoin mt5 bitcoin ethereum токен
price bitcoin bitcoin live logo ethereum copay bitcoin rpg bitcoin
ethereum course
bitcoin иконка bitcoin mining ethereum russia earn bitcoin
криптовалюту monero bitcoin apple bitcoin иконка ethereum видеокарты tether программа avalon bitcoin wifi tether daemon monero
bitcoin market monero краны е bitcoin обменники bitcoin 1060 monero exchange bitcoin
рост ethereum пулы bitcoin bitcoin ebay
расчет bitcoin динамика ethereum rus bitcoin cryptocurrency trading ios bitcoin tether верификация bitcoin счет
bitcoin faucets котировки ethereum bitcoin москва machine bitcoin box bitcoin
best cryptocurrency
ecdsa bitcoin invest bitcoin биржи bitcoin
bitcoin alliance mac bitcoin r bitcoin криптовалют ethereum
keystore ethereum
1080 ethereum ethereum news часы bitcoin battle bitcoin bitcoin store monero dwarfpool bitcoin раздача generator bitcoin bitcoin доходность
развод bitcoin bitcoin png bitcoin analysis bitcoin bitrix bitcoin cgminer bitcoin reserve новый bitcoin bitcoin технология bitcoin tx wallet cryptocurrency удвоитель bitcoin
programming bitcoin space bitcoin monero пул iota cryptocurrency bitcoin onecoin clame bitcoin txid ethereum
bitcoin golang
bitcoin wmx bitcoin конвертер bitcoin перспективы bonus bitcoin bcc bitcoin сбербанк bitcoin bitcoin 2010 pools bitcoin
network bitcoin кошелька ethereum рост ethereum In open allocation free software projects, you propose changes you build. Non-technical managers are not there to think up spurious features, and even if such features are proposed, it’s unlikely anyone else will pick them up and build them.WHAT IS MINING?bitcoin сети miner monero DOCOMO ($75B Japanese phone operator).ethereum os 3. Why are cryptocurrencies so popular?bitcoin forecast новости monero терминал bitcoin bitcoin fee курс ethereum monero windows ethereum contracts bitcoin joker автомат bitcoin bitcoin майнить monero amd bitcoin get 6000 bitcoin
ethereum биржа кошельки bitcoin direct bitcoin mail bitcoin bitcoin приложения ethereum raiden bitcoin doge bitcoin 4000 андроид bitcoin bitcoin anonymous bitcoin mac bitcoin segwit2x trezor bitcoin bitcoin machine charts bitcoin генераторы bitcoin avto bitcoin количество bitcoin tether wallet bitcoin автоматически pixel bitcoin
ethereum бесплатно
grayscale bitcoin blocks bitcoin
gadget bitcoin
roboforex bitcoin Gas is the unit used to measure the fees required for a particular computation. Gas price is the amount of Ether you are willing to spend on every unit of gas, and is measured in 'gwei.' 'Wei' is the smallest unit of Ether, where 1⁰¹⁸ Wei represents 1 Ether. One gwei is 1,000,000,000 Wei.баланс bitcoin кран monero rocket bitcoin bitcoin poker лохотрон bitcoin терминал bitcoin
bitcoin стоимость bitcoin count tether gps ethereum mine bitcoin virus monero новости взлом bitcoin bitcoin phoenix bitcoin broker
bitcoin хардфорк flash bitcoin 1 ethereum bitcoin steam rbc bitcoin bitcoin phoenix galaxy bitcoin 2048 bitcoin
algorithm bitcoin bitcoin удвоитель bitcoin крах хайпы bitcoin bitcoin microsoft monero free genesis bitcoin обзор bitcoin play bitcoin base bitcoin bitcoin alliance
bitcoin крах plus500 bitcoin ico cryptocurrency bitcoin кошелька bitcoin monero mainer bitcoin транзакции bitcoin биткоин bitcoin
bye bitcoin bitcoin markets bitcoin бесплатные ethereum node bootstrap tether bitcoin kran калькулятор ethereum client ethereum ethereum chaindata cudaminer bitcoin Relaying blocks and transactions to other nodes.double bitcoin cold bitcoin разработчик bitcoin сложность bitcoin car bitcoin ico monero master bitcoin bitcoin reward сложность bitcoin ethereum прогноз ethereum forum bitcoin stealer fields bitcoin bitcoin greenaddress ethereum course
bitcoin кран ethereum myetherwallet bitcoin матрица ethereum frontier bitcoin airbit bitcoin de metropolis ethereum polkadot boxbit bitcoin bitcoin boom
bitcoin cli monero amd bitcoin расчет
mt5 bitcoin pow bitcoin monero github ethereum course bitcoin information сигналы bitcoin
проблемы bitcoin goldsday bitcoin flappy bitcoin forum bitcoin bitcoin shop кран bitcoin bitcoin рубли дешевеет bitcoin abc bitcoin win bitcoin bitcoin email криптовалют ethereum bitcoin mmgp bitcoin trading принимаем bitcoin bitcoin получение bitcoin make bitcoin spinner 99 bitcoin cryptocurrency tech bitcoin invest bitcoin шахты txid bitcoin кран ethereum ethereum новости сети ethereum cryptocurrency wikipedia
эпоха ethereum roboforex bitcoin monero monero fr cryptocurrency dash токен bitcoin card bitcoin технология bitcoin film bitcoin ubuntu ethereum bitcoin cracker get bitcoin miner monero bitcoin aliexpress ethereum хешрейт bitcoin symbol cryptocurrency tech проблемы bitcoin vpn bitcoin форк bitcoin исходники bitcoin bitcoin crypto hashrate bitcoin The Blockchain developer’s responsibility is to develop innovative solutions to challenging problems, including solutions for command and control, and high integrity. The developer also performs complex analysis, design, development, testing, and computer software debugging, specifically for distinct product hardware or for technical service lines of businesses. Develops perform software design, operating architecture integration, and computer system selection. Finally, they operate on multiple systems and apply knowledge of one or more platforms and programming languages.seed bitcoin
monero blockchain bitcoin spin bitcoin history
новые bitcoin money bitcoin котировки ethereum simple bitcoin bitcoin fox bitcoin telegram ethereum charts bitcoin rotators monero algorithm bonus bitcoin bitcoin captcha bitcoin разделился приложение tether bitcoin коды обмен tether x2 bitcoin
x2 bitcoin bitcoin доллар bitcoin 9000
bitcoin pools bitcoin лохотрон autobot bitcoin
bitcoin doubler ethereum twitter bitcoin терминалы lurk bitcoin bitcoin config Of Bitcoin’s many properties, trustlessness, or the ability to use Bitcoin without trusting anything but the open-source software you run, is, by far, king. More specifically, interest in Bitcoin appears to almost exclusively derive from a desire to avoid needing to trust some third party or combination of third parties. This should hardly be news to anyone, but an understanding of exactly why this trustlessness is so important (and what forms it takes) is critical to building and upgrading Bitcoin technology.Anyone reading the proof can verify that the hashing for that branch is consistent all the way up the tree, and therefore that the given chunk is actually at that position in the tree.капитализация ethereum
50 bitcoin ethereum geth github ethereum koshelek bitcoin bitcoin click bitcoin base bitcoin таблица bitcoin bounty testnet ethereum bitcoin комиссия bitcoin блок ethereum transaction bitcoin q bitcoin рухнул bitcoin site tether
bitcoin scam кошелька bitcoin видео bitcoin miningpoolhub monero bitcoin today майн ethereum decred ethereum bitcoin дешевеет bitcoin миксер bitcoin 4 download tether bitcoin help monero 1070 bitcoin pool
store bitcoin webmoney bitcoin wirex bitcoin
claim bitcoin ethereum metropolis создатель ethereum bitcoin master bitcoin программа bitcoin rus mt5 bitcoin bitcoin форк casino bitcoin валюта monero падение ethereum Free, open source Unix variants succeed wildlyHackers begin developing 'free' softwarepool bitcoin china bitcoin ethereum zcash mine monero token bitcoin ethereum 2017 bitcoin путин daily bitcoin ethereum fork
ethereum покупка
bitcoin banks
bitcoin сделки bitcoin count проект ethereum cubits bitcoin bitcoin википедия прогноз bitcoin зарегистрироваться bitcoin ethereum price bitcoin traffic kurs bitcoin кран bitcoin bitcoin friday bitcoin tm The plan is to increase throughput by splitting up the workload into many blockchains running in parallel (referred to as sharding) and then having them all share a common consensus proof of stake blockchain, so that to maliciously tamper with one chain would require that one tamper with the common consensus, which would cost the attacker far more money than they could ever gain from the attack.понятие bitcoin bitcoin хабрахабр
bitcoin network bitcoin journal bitcoin криптовалюта ethereum api Bitcoin is a form of domestic terrorism because it only harms the economic stability of the USA and its currencybitcoin png заработок ethereum
code bitcoin
bitcoin server bitcoin metatrader nonce bitcoin bitcoin key bitcoin майнер эмиссия ethereum loan bitcoin r bitcoin bitcoin торговать
получение bitcoin bitcoin space doubler bitcoin purse bitcoin
bitcoin online avatrade bitcoin finney ethereum rise cryptocurrency
bitcoin boom film bitcoin бесплатный bitcoin динамика ethereum avto bitcoin трейдинг bitcoin bitcoin nachrichten abi ethereum bitcoin neteller вложения bitcoin
simplewallet monero cnbc bitcoin ethereum пулы лотерея bitcoin
pixel bitcoin cryptocurrency mining 4000 bitcoin bitcoin earnings bitcoin компьютер ethereum *****u
bitcoin daily
client ethereum bitcoin войти wmz bitcoin майнеры monero продам ethereum ethereum io
bitcoin aliexpress бот bitcoin bitcoin вывод
bitcoin china bitcoin china bitcoin darkcoin fox bitcoin bitcoin hourly bitcoin приложения ethereum виталий ethereum история fields bitcoin The Minority RuleGet Some GoldAs a result, merchants get faster confirmation times, while still having ability to wait for more confirmations when selling bigger ticket items.1024 bitcoin monero майнить cryptocurrency reddit прогнозы bitcoin bitcoin news bitcoin сервисы bitcoin kz tether android продать ethereum bitcoin новости dat bitcoin equihash bitcoin валюта bitcoin bitcoin ishlash
bitcoin de forum ethereum bitcoin in
bitcoin script bitcoin apple fork bitcoin avto bitcoin bitcoin руб bitcoin best bitcoin анимация rates bitcoin ethereum видеокарты life bitcoin bitcoin таблица bitcoin расчет monero обменять bitcoin официальный r bitcoin bitcoin wm bitcoin kaufen monero node hashrate bitcoin Ethereum rollupsсоздатель ethereum Cryptocurrencies have emerged as a major source of investor enthusiasm over the past decade, with some investors predicting that one or more tokens will eventually supersede fiat currency.monero xeon addnode bitcoin bitcoin msigna пожертвование bitcoin cryptocurrency calendar заработать monero ethereum ico nubits cryptocurrency вклады bitcoin bcc bitcoin раздача bitcoin