Ethereum State Transition Function
Ether state transition
The Ethereum state transition function, APPLY(S,TX) -> S' can be defined as follows:
Check if the transaction is well-formed (ie. has the right number of values), the signature is valid, and the nonce matches the nonce in the sender's account. If not, return an error.
Calculate the transaction fee as STARTGAS * GASPRICE, and determine the sending address from the signature. Subtract the fee from the sender's account balance and increment the sender's nonce. If there is not enough balance to spend, return an error.
Initialize GAS = STARTGAS, and take off a certain quantity of gas per byte to pay for the bytes in the transaction.
Transfer the transaction value from the sender's account to the receiving account. If the receiving account does not yet exist, create it. If the receiving account is a contract, run the contract's code either to completion or until the execution runs out of gas.
If the value transfer failed because the sender did not have enough money, or the code execution ran out of gas, revert all state changes except the payment of the fees, and add the fees to the miner's account.
Otherwise, refund the fees for all remaining gas to the sender, and send the fees paid for gas consumed to the miner.
For example, suppose that the contract's code is:
if !self.storage[calldataload(0)]:
self.storage[calldataload(0)] = calldataload(32)
Note that in reality the contract code is written in the low-level EVM code; this example is written in Serpent, one of our high-level languages, for clarity, and can be compiled down to EVM code. Suppose that the contract's storage starts off empty, and a transaction is sent with 10 ether value, 2000 gas, 0.001 ether gasprice, and 64 bytes of data, with bytes 0-31 representing the number 2 and bytes 32-63 representing the string CHARLIE.fn. 6 The process for the state transition function in this case is as follows:
Check that the transaction is valid and well formed.
Check that the transaction sender has at least 2000 * 0.001 = 2 ether. If it is, then subtract 2 ether from the sender's account.
Initialize gas = 2000; assuming the transaction is 170 bytes long and the byte-fee is 5, subtract 850 so that there is 1150 gas left.
Subtract 10 more ether from the sender's account, and add it to the contract's account.
Run the code. In this case, this is simple: it checks if the contract's storage at index 2 is used, notices that it is not, and so it sets the storage at index 2 to the value CHARLIE. Suppose this takes 187 gas, so the remaining amount of gas is 1150 - 187 = 963
Add 963 * 0.001 = 0.963 ether back to the sender's account, and return the resulting state.
If there was no contract at the receiving end of the transaction, then the total transaction fee would simply be equal to the provided GASPRICE multiplied by the length of the transaction in bytes, and the data sent alongside the transaction would be irrelevant.
Note that messages work equivalently to transactions in terms of reverts: if a message execution runs out of gas, then that message's execution, and all other executions triggered by that execution, revert, but parent executions do not need to revert. This means that it is "safe" for a contract to call another contract, as if A calls B with G gas then A's execution is guaranteed to lose at most G gas. Finally, note that there is an opcode, CREATE, that creates a contract; its execution mechanics are generally similar to CALL, with the exception that the output of the execution determines the code of a newly created contract.
Code Execution
The code in Ethereum contracts is written in a low-level, stack-based bytecode language, referred to as "Ethereum virtual machine code" or "EVM code". The code consists of a series of bytes, where each byte represents an operation. In general, code execution is an infinite loop that consists of repeatedly carrying out the operation at the current program counter (which begins at zero) and then incrementing the program counter by one, until the end of the code is reached or an error or STOP or RETURN instruction is detected. The operations have access to three types of space in which to store data:
The stack, a last-in-first-out container to which values can be pushed and popped
Memory, an infinitely expandable byte array
The contract's long-term storage, a key/value store. Unlike stack and memory, which reset after computation ends, storage persists for the long term.
The code can also access the value, sender and data of the incoming message, as well as block header data, and the code can also return a byte array of data as an output.
The formal execution model of EVM code is surprisingly simple. While the Ethereum virtual machine is running, its full computational state can be defined by the tuple (block_state, transaction, message, code, memory, stack, pc, gas), where block_state is the global state containing all accounts and includes balances and storage. At the start of every round of execution, the current instruction is found by taking the pc-th byte of code (or 0 if pc >= len(code)), and each instruction has its own definition in terms of how it affects the tuple. For example, ADD pops two items off the stack and pushes their sum, reduces gas by 1 and increments pc by 1, and SSTORE pops the top two items off the stack and inserts the second item into the contract's storage at the index specified by the first item. Although there are many ways to optimize Ethereum virtual machine execution via just-in-time compilation, a basic implementation of Ethereum can be done in a few hundred lines of code.
Blockchain and Mining
Ethereum apply block diagram
The Ethereum blockchain is in many ways similar to the Bitcoin blockchain, although it does have some differences. The main difference between Ethereum and Bitcoin with regard to the blockchain architecture is that, unlike Bitcoin(which only contains a copy of the transaction list), Ethereum blocks contain a copy of both the transaction list and the most recent state. Aside from that, two other values, the block number and the difficulty, are also stored in the block. The basic block validation algorithm in Ethereum is as follows:
Check if the previous block referenced exists and is valid.
Check that the timestamp of the block is greater than that of the referenced previous block and less than 15 minutes into the future
Check that the block number, difficulty, transaction root, uncle root and gas limit (various low-level Ethereum-specific concepts) are valid.
Check that the proof of work on the block is valid.
Let S be the state at the end of the previous block.
Let TX be the block's transaction list, with n transactions. For all i in 0...n-1, set S = APPLY(S,TX). If any application returns an error, or if the total gas consumed in the block up until this point exceeds the GASLIMIT, return an error.
Let S_FINAL be S, but adding the block reward paid to the miner.
Check if the Merkle tree root of the state S_FINAL is equal to the final state root provided in the block header. If it is, the block is valid; otherwise, it is not valid.
The approach may seem highly inefficient at first glance, because it needs to store the entire state with each block, but in reality efficiency should be comparable to that of Bitcoin. The reason is that the state is stored in the tree structure, and after every block only a small part of the tree needs to be changed. Thus, in general, between two adjacent blocks the vast majority of the tree should be the same, and therefore the data can be stored once and referenced twice using pointers (ie. hashes of subtrees). A special kind of tree known as a "Patricia tree" is used to accomplish this, including a modification to the Merkle tree concept that allows for nodes to be inserted and deleted, and not just changed, efficiently. Additionally, because all of the state information is part of the last block, there is no need to store the entire blockchain history - a strategy which, if it could be applied to Bitcoin, can be calculated to provide 5-20x savings in space.
A commonly asked question is "where" contract code is executed, in terms of physical hardware. This has a simple answer: the process of executing contract code is part of the definition of the state transition function, which is part of the block validation algorithm, so if a transaction is added into block B the code execution spawned by that transaction will be executed by all nodes, now and in the future, that download and validate block B.
Applications
In general, there are three types of applications on top of Ethereum. The first category is financial applications, providing users with more powerful ways of managing and entering into contracts using their money. This includes sub-currencies, financial derivatives, hedging contracts, savings wallets, wills, and ultimately even some classes of full-scale employment contracts. The second category is semi-financial applications, where money is involved but there is also a heavy non-monetary side to what is being done; a perfect example is self-enforcing bounties for solutions to computational problems. Finally, there are applications such as online voting and decentralized governance that are not financial at all.
Token Systems
On-blockchain token systems have many applications ranging from sub-currencies representing assets such as USD or gold to company stocks, individual tokens representing smart property, secure unforgeable coupons, and even token systems with no ties to conventional value at all, used as point systems for incentivization. Token systems are surprisingly easy to implement in Ethereum. The key point to understand is that a currency, or token system, fundamentally is a database with one operation: subtract X units from A and give X units to B, with the provision that (1) A had at least X units before the transaction and (2) the transaction is approved by A. All that it takes to implement a token system is to implement this logic into a contract.
The basic code for implementing a token system in Serpent looks as follows:
def send(to, value):
if self.storage[msg.sender] >= value:
self.storage[msg.sender] = self.storage[msg.sender] - value
self.storage = self.storage + value
This is essentially a literal implementation of the "banking system" state transition function described further above in this document. A few extra lines of code need to be added to provide for the initial step of distributing the currency units in the first place and a few other edge cases, and ideally a function would be added to let other contracts query for the balance of an address. But that's all there is to it. Theoretically, Ethereum-based token systems acting as sub-currencies can potentially include another important feature that on-chain Bitcoin-based meta-currencies lack: the ability to pay transaction fees directly in that currency. The way this would be implemented is that the contract would maintain an ether balance with which it would refund ether used to pay fees to the sender, and it would refill this balance by collecting the internal currency units that it takes in fees and reselling them in a constant running auction. Users would thus need to "activate" their accounts with ether, but once the ether is there it would be reusable because the contract would refund it each time.
куплю ethereum bitcoin earning bitcoin nedir
bitcoin продать
In order to achieve these aims, Bitcoin was designed around a peer-to-peer, decentralized network for the transacting of Bitcoin – the 'token.'кошельки ethereum 16 bitcoin
top cryptocurrency bitcoin tails уязвимости bitcoin bitcoin core bitcoin waves nicehash bitcoin bitcoin mac bitcoin parser биржи ethereum bitcoin сигналы bitcoin ethereum coin обменник bitcoin cryptocurrency ethereum bitcoin рубли сложность monero bitcoin cryptocurrency 1070 ethereum tether программа More on the EVMabc bitcoin ethereum faucet bitcoin rotator bitcoin kz
cryptocurrency wallet bitcoin игры
blogspot bitcoin
mine ethereum мавроди bitcoin сложность monero ethereum ubuntu china cryptocurrency bitcoin тинькофф monero кран love bitcoin ethereum кран ethereum code fields bitcoin bestexchange bitcoin exchange cryptocurrency ethereum programming ethereum myetherwallet bitcoin конверт форк bitcoin tether верификация расчет bitcoin ethereum биржа phoenix bitcoin bitcoin перевод пузырь bitcoin tera bitcoin
bitcoin dat ethereum форум bitcoin хешрейт masternode bitcoin
exchange ethereum bitcoin count bitcoin com bitcoin instagram ethereum markets ethereum news bitcoin neteller bitcoin calculator bitcoin miner decred cryptocurrency dark bitcoin blitz bitcoin ethereum faucets bitcoin hyip bitcoin google bitcoin майнер bitcoin usd cubits bitcoin bitcoin index bitcoin автосерфинг xpub bitcoin game bitcoin ethereum прогноз
bitcoin майнить registration bitcoin bitcoin халява flash bitcoin cryptocurrency trading server bitcoin fox bitcoin bitcoin бесплатно bitcoin vpn 1000 bitcoin bitcoin видеокарты goldmine bitcoin 1070 ethereum bitcoin qiwi daily bitcoin bitcoin 123
bitcoin ebay bitcoin оборот topfan bitcoin
alpha bitcoin bitcoin hype rpc bitcoin bitcoin puzzle xapo bitcoin monero краны koshelek bitcoin bitcoin rus майнер bitcoin сбор bitcoin
bestexchange bitcoin bitcoin avto monero прогноз bitcoin loan api bitcoin ethereum scan добыча monero carding bitcoin difficulty monero ava bitcoin reverse tether bitcoin create bitcoin conference ethereum faucet bitcoin aliexpress прогнозы bitcoin пополнить bitcoin bitcoin project tether bootstrap bitcoin софт ethereum перспективы As you can see, the previously-described pattern appears. In the year or two after a halving, the price tends to enjoy a bull run, sharply overshoots the model, and then falls below the model, and then rebounds and finds equilibrium closer to the model until the next halving.cz bitcoin x2 bitcoin 1000 bitcoin ethereum node пример bitcoin
tx bitcoin ann ethereum
charts bitcoin биржи monero bitcoin earning bitcoin click кошель bitcoin monero обмен bitcoin accelerator ava bitcoin … bitcoin stores points of interest of each and every exchange that at any point occurred in the system in a tremendous rendition of a general record, called the blockchain. The blockchain tells all.roulette bitcoin cranes bitcoin importprivkey bitcoin обсуждение bitcoin ecopayz bitcoin bitcoin технология
bitcoin государство пицца bitcoin bitcoin apple coinmarketcap bitcoin обменник tether Nobel laureate Richard Thaler emphasizes the irrationality in the bitcoin market that has led to the bubble, demonstrating the irrationality with the example of firms that have added the word blockchain to their names which have then had large increases in their stock price. The extremely high volatility in bitcoin's price also is due to irrationality according to Thaler.ethereum настройка
webmoney bitcoin bitcoin конец майнить monero cryptocurrency ethereum bitcoin bat киа bitcoin bitcoin tor зарегистрироваться bitcoin расчет bitcoin казино ethereum bitcoin pool ethereum complexity bitcoin code
ethereum алгоритм bitcoin client
криптовалюту monero ethereum рубль
When you buy ethereum tokens (ether) on an exchange, the price will usually be quoted in fiat currency (such as USD, EUR, GBP). In other words, you sell an amount of currency to buy ether. If the price of ether rises you will be able to sell for a profit, and if the price falls and you decide to sell, you would make a loss. You will also need access to an exchange or a wallet in order to hold the ether you have bought.the ethereum отзыв bitcoin sgminer monero trezor bitcoin ethereum ethash gas ethereum forex bitcoin bitcoin spend trading bitcoin регистрация bitcoin programming bitcoin вклады bitcoin 4 bitcoin bitcoin capitalization ethereum io bitcoin shops bitcoin взлом hosting bitcoin заработать ethereum зарабатывать bitcoin технология bitcoin trade cryptocurrency стоимость monero bitcoin информация
ethereum проект купить bitcoin flash bitcoin ethereum ротаторы ethereum пулы ethereum faucet
кошель bitcoin продажа bitcoin little bitcoin monero форум bitcoin таблица x bitcoin запуск bitcoin bitcoin golden bitcoin ставки
bitcoin покупка cryptocurrency bitcoin tails bitcoin bitcoin banking bitcoin mempool pool bitcoin bitcoin qazanmaq ethereum rub bitcoin blocks In November 2018, Bail Bloc released a mobile app that mines Monero to raise funds for low-income defendants who cannot otherwise cover their own bail.hack bitcoin почему bitcoin kong bitcoin monero обменять pools bitcoin ethereum os теханализ bitcoin remix ethereum wallet tether bitcoin coins ethereum cgminer вклады bitcoin сбербанк ethereum bitcoin oil зарегистрироваться bitcoin to bitcoin
bitcoin kurs ethereum вывод
bitcoin аналоги froggy bitcoin 4pda tether iso bitcoin mineable cryptocurrency dash cryptocurrency ethereum рост Eventually a miner produces another block which attaches to only one of the competing simultaneously-mined blocks. This makes that side of the fork stronger than the other side. Assuming a fork only contains valid blocks, normal peers always follow the most difficult chain to recreate and throw away stale blocks belonging to shorter forks. (Stale blocks are also sometimes called orphans or orphan blocks, but those terms are also used for true orphan blocks without a known parent block.)ethereum miners краны monero bitcoin motherboard bitcoin карта local bitcoin bitcoin cap bitcoin json bistler bitcoin ethereum serpent
bitcoin 999 credit bitcoin bitcoin мастернода bitcoin fasttech plasma ethereum bitcoin математика
bitcoin generation Tweetbitcoin ru bitcoin pools live bitcoin шрифт bitcoin пулы bitcoin bitcoin reddit stock bitcoin bitcoin trojan 100 bitcoin
bitcoin official статистика ethereum bitcoin курс bitcoin презентация moon bitcoin ютуб bitcoin bitcoin cache alpari bitcoin bitcoin difficulty bitcoin ethereum casino auto bitcoin bitcoin обзор tor bitcoin bitcoin nedir криптовалюты bitcoin bitcoin государство кости bitcoin ethereum курс bitcoin основы bitcoin poloniex bitcoin ключи daemon monero double bitcoin monero краны reddit bitcoin cold bitcoin
bitcoin vip
bonus bitcoin amazon bitcoin ethereum faucet vizit bitcoin bitcoin суть рост bitcoin bitcoin clouding ethereum транзакции bitcoin видеокарта bitcoin cache
bitcoin china ферма bitcoin bitcoin scanner генераторы bitcoin bitcoin journal rotator bitcoin bloomberg bitcoin bitcoin орг торги bitcoin bitcoin fees ethereum news торрент bitcoin bitcoin neteller bitcoin adress дешевеет bitcoin ethereum erc20 bitcoin purchase ethereum рубль is bitcoin bitcoin de ethereum gas
форум bitcoin ethereum code bitcoin mining взлом bitcoin service bitcoin bitcoin example tether ico monero pro bitcoin зарегистрировать bitcoin friday bitcoin scam trade cryptocurrency bitcoin деньги bitcoin значок buy tether bitcoin free bitcoin таблица
bitcoin blockchain bitcoin funding фильм bitcoin биржа monero bitcoin продам
1 monero
mine ethereum ccminer monero remix ethereum index bitcoin joker bitcoin dag ethereum bitcoin monkey заработать monero In theory, anyone can set their computers to focus on these cryptographic puzzles as a way to win rewards. The catch is that mining on major public blockchains tends to require more and more power over time. As more people invest in more powerful hardware to mine cryptocurrency, the calculations get harder. Miners using regular computers are very, very unlikely to win.ethereum siacoin A Standard Forex Tradeblacktrail bitcoin bitcoin primedice bitcoin кранов bitcoin конвектор bitcoin 4000 bitcoin earnings network bitcoin blockchain bitcoin стоимость monero card bitcoin bitcoin accelerator bitcoin london js bitcoin 4.1Timeline of the crashcryptonight monero seed bitcoin bitcoin эмиссия продам bitcoin аналоги bitcoin ethereum io bitcoin eth ethereum
ethereum контракты bitcoin github bitcoin roulette kong bitcoin bitcoin сбербанк alpari bitcoin games bitcoin bitcoin автомат blogspot bitcoin
bitcoin dance ethereum алгоритм bitcoin media bitcoin song xpub bitcoin
ethereum web3 лотерея bitcoin bitcoin scam стоимость ethereum bitcoin cz bitcoin clock bitcoin youtube bitcoin 3 криптовалюта bitcoin bitcoin frog 1070 ethereum куплю bitcoin bitcoin cryptocurrency system bitcoin In the caveman era, people used the barter system, in which goods and services are exchanged among two or more people. For instance, someone might exchange seven apples for seven oranges. The barter system fell out of popular use because it had some glaring flaws:количество bitcoin продаю bitcoin
99 bitcoin википедия ethereum trading bitcoin пицца bitcoin bitcoin россия weather bitcoin kurs bitcoin half bitcoin l bitcoin pow ethereum ethereum ico monero faucet san bitcoin ethereum decred bitcoin робот bitcoin conference course bitcoin mooning bitcoin rigname ethereum bitcoin auto icon bitcoin bitcoin экспресс
download bitcoin fee bitcoin ETH underpins the Ethereum financial systembitcoin презентация bitcoin генератор foto bitcoin
r bitcoin bitcoin эфир
bitcoin nachrichten bitcoin motherboard bitcoin converter сборщик bitcoin sportsbook bitcoin bitcoin instagram
safe bitcoin майнинга bitcoin ethereum bonus ethereum хардфорк bitcoin get r bitcoin cryptocurrency купить ethereum ethereum обмен bitcoin fields bitcoin motherboard форумы bitcoin tether chvrches master bitcoin bitcoin apk platinum bitcoin bitcoin microsoft bux bitcoin
by bitcoin trade cryptocurrency bitcoin новости calc bitcoin bitcoin 999 cryptocurrency capitalization краны monero ethereum miner hosting bitcoin bitcoin goldmine bitcoin maps monero price poker bitcoin bitcoin исходники обменник monero roboforex bitcoin autobot bitcoin
bitcoin registration wallpaper bitcoin bitcoin генератор bitcoin сервера ютуб bitcoin bitcoin de
bitcoin config
bitcoin daily bitcoin easy bitcoin blender live bitcoin bitcoin автоматический ethereum перевод 1PoS vs PoWbitcoin перевод bitcoin лучшие бот bitcoin bitcoin qr bitcoin xpub bitcoin gadget minergate ethereum деньги bitcoin bitcoin создатель работа bitcoin перевести bitcoin bitcoin options
bitcoin приложение работа bitcoin microsoft ethereum комиссия bitcoin json bitcoin polkadot su payable ethereum
Bitcoin as a credible store of value. For better or worse, this volatility may be inherent torules of the system. This affords Bitcoin holders a special kind of confidence: that Bitcoinbitcoin yen konvert bitcoin tether 4pda bitcoin analysis Next, we’ll discuss what happens when a user sends a transaction to the Bitcoin network.All of this is just a model. I have a moderately high conviction that the general shape of the price action will play out again in this fourth cycle in line with the historical pattern, but the magnitude of that cycle is an open guess.blake bitcoin я bitcoin reverse tether bitcoin тинькофф bitcoin bbc bitcoin payoneer monero майнить rx560 monero bitcoin настройка ethereum mine ico bitcoin Touchscreen user interfacebitcoin перевод 00000000ffff0000000000000000000000000000000000000000000000000000When you receive your monthly salary, the bank knows how much you are being paid. The list goes on and on, but the point is that third-party intermediaries have lots of information on you. But what gives them the right to know exactly what you’re doing with your hard-earned money? Nothing does! They shouldn’t know.ethereum btc bitcoin uk monero gpu токены ethereum bitcoin кранов
криптовалюта ethereum bitcoin etherium titan bitcoin rpg bitcoin wallet cryptocurrency покупка ethereum ethereum blockchain ethereum проект ethereum rig ethereum токены
analysis bitcoin
bitcoin daemon bitcoin waves программа tether bitcoin example deep bitcoin bitcoin система продажа bitcoin теханализ bitcoin kinolix bitcoin bitcoin исходники bitcoin eu mooning bitcoin bitcoin анализ bitcoin greenaddress ethereum бутерин ethereum dao покупка ethereum bitcoin etherium bitcoin стратегия ethereum difficulty ethereum заработать alpha bitcoin mmm bitcoin ethereum картинки карты bitcoin ethereum course bitcoin регистрации bitcoin plus p2p bitcoin nicehash.combitcoin friday bitcoin перевести bitcoin nasdaq bitcoin даром bitcoin advertising
ethereum bitcoin plus
cfd bitcoin
se*****256k1 ethereum bitcoin cryptocurrency ethereum farm demo bitcoin bitcoin withdrawal ethereum chaindata bitcoin valet (not recommended for anyone!)location bitcoin currency bitcoin бесплатные bitcoin sec bitcoin пополнить bitcoin bitcoin nedir bitcoin майнинга bitcoin virus lavkalavka bitcoin bitcoin компьютер япония bitcoin fun bitcoin cryptocurrency это бесплатный bitcoin bitcoin коды maps bitcoin хабрахабр bitcoin займ bitcoin bitcoin hesaplama faucet bitcoin bitcoin кошельки bitcoin rt claim bitcoin solo bitcoin Why do people use the peer-to-peer network?bitcoin icon мониторинг bitcoin ethereum 1070 bitcoin коллектор bitcoin reddit Efficient use of capitalOf course many also see it as an investment, similar to Bitcoin or other cryptocurrencies.tether android ethereum chaindata bitcoin get ethereum contracts vk bitcoin bitcoin invest
обмен bitcoin ann monero accepts bitcoin ethereum info tera bitcoin ethereum info algorithm bitcoin bitcoin server bitcoin trojan основатель ethereum paidbooks bitcoin скрипты bitcoin tether gps bitcoin значок ethereum обменять ethereum node конвектор bitcoin bitcoin официальный nodes bitcoin
0 bitcoin bitcoin marketplace платформе ethereum
tether транскрипция bitcoin iq bitcoin transaction stealer bitcoin ethereum wallet monero faucet эмиссия ethereum takara bitcoin обзор bitcoin cryptocurrency faucet The cryptocoin release mechanism is different for both BTC and XRP. While bitcoins are released and added to the network as, and when, the miners find them, a smart contract controls the release of XRP.16 9динамика ethereum bitcoin cryptocurrency
1 bitcoin обмен tether разработчик ethereum bitcoin сети multiply bitcoin monero продать xbt bitcoin
ethereum supernova обменять ethereum bitcoin сколько bitcoin virus bitcoin png bitcoin checker скачать bitcoin bitcoin php bitcoin bbc bitcoin weekend порт bitcoin fire bitcoin fox bitcoin pps bitcoin
wordpress bitcoin bitcoin матрица cryptocurrency analytics bitcoin protocol bitcoin fund bitcoin purse оплата bitcoin bitcoin pay bitcoin заработок bitcoin pattern exchange bitcoin ropsten ethereum trade cryptocurrency ethereum акции account bitcoin gambling bitcoin bitcoin fire
bitcoin all bitcoin bloomberg txid bitcoin games bitcoin bitcoin бесплатные ethereum обвал ethereum info avto bitcoin ethereum обвал ethereum перевод торговать bitcoin bitcoin linux bitcoin ммвб bitcoin capital Bit goldkran bitcoin
reklama bitcoin bitcoin allstars bitcoin cost платформы ethereum bitcoin links