Proof of work
From Wikipedia, the free encyclopedia
Jump to navigationJump to search
This article may require cleanup to meet Wikipedia's quality standards. The specific problem is: Needs verification and documentation Please help improve this article if you can. (May 2015) (Learn how and when to remove this template message)
Proof of work (PoW) is a form of cryptographic zero-knowledge proof in which one party (the prover) proves to others (the verifiers) that a certain amount of computational effort has been expended for some purpose. Verifiers can subsequently confirm this expenditure with minimal effort on their part. The concept was invented by Cynthia Dwork and Moni Naor in 1993 as a way to deter denial-of-service attacks and other service abuses such as spam on a network by requiring some work from a service requester, usually meaning processing time by a computer. The term "proof of work" was first coined and formalized in a 1999 paper by Markus Jakobsson and Ari Juels. Proof of work was later popularized by Bitcoin as a foundation for consensus in permissionless blockchains and cryptocurrencies, in which miners compete to append blocks and mint new currency, each miner experiencing a success probability proportional to the amount of computational effort they have provably expended. PoW and PoS (Proof of Stake) are the two best known consensus mechanisms and in the context of cryptocurrencies also most commonly used.
A key feature of proof-of-work schemes is their asymmetry: the work must be moderately hard (yet feasible) on the prover or requester side but easy to check for the verifier or service provider. This idea is also known as a CPU cost function, client puzzle, computational puzzle, or CPU pricing function. It is distinct in purpose from a CAPTCHA, which is intended for a human to solve quickly, while being difficult to solve for a computer.
Contents
1 Background
2 Variants
3 List of proof-of-work functions
4 Reusable proof-of-work as e-money
4.1 Bitcoin-type proof of work
4.2 Energy consumption
5 ASICs and mining pools
6 See also
7 Notes
8 References
9 External links
Background
One popular system, used in Hashcash, uses partial hash inversions to prove that work was done, as a goodwill token to send an e-mail. For instance, the following header represents about 252 hash computations to send a message to calvin@comics.net on January 19, 2038:
X-Hashcash: 1:52:380119:calvin@comics.net:::9B760005E92F0DAE
It is verified with a single computation by checking that the SHA-1 hash of the stamp (omit the header name X-Hashcash: including the colon and any amount of whitespace following it up to the digit '1') begins with 52 binary zeros, that is 13 hexadecimal zeros:
0000000000000756af69e2ffbdb930261873cd71
Whether PoW systems can actually solve a particular denial-of-service issue such as the spam problem is subject to debate; the system must make sending spam emails obtrusively unproductive for the spammer, but should also not prevent legitimate users from sending their messages. In other words, a genuine user should not encounter any difficulties when sending an email, but an email spammer would have to expend a considerable amount of computing power to send out many emails at once. Proof-of-work systems are being used as a primitive by other more complex cryptographic systems such as bitcoin which uses a system similar to Hashcash.
Variants
There are two classes of proof-of-work protocols.
Challenge–response protocols assume a direct interactive link between the requester (client) and the provider (server). The provider chooses a challenge, say an item in a set with a property, the requester finds the relevant response in the set, which is sent back and checked by the provider. As the challenge is chosen on the spot by the provider, its difficulty can be adapted to its current load. The work on the requester side may be bounded if the challenge-response protocol has a known solution (chosen by the provider), or is known to exist within a bounded search space.
Proof of Work challenge response.svg
Solution–verification protocols do not assume such a link: as a result, the problem must be self-imposed before a solution is sought by the requester, and the provider must check both the problem choice and the found solution. Most such schemes are unbounded probabilistic iterative procedures such as Hashcash.
Proof of Work solution verification.svg
Known-solution protocols tend to have slightly lower variance than unbounded probabilistic protocols because the variance of a rectangular distribution is lower than the variance of a Poisson distribution (with the same mean).[further explanation needed] A generic technique for reducing variance is to use multiple independent sub-challenges, as the average of multiple samples will have a lower variance.
There are also fixed-cost functions such as the time-lock puzzle.
Moreover, the underlying functions used by these schemes may be:
CPU-bound where the computation runs at the speed of the processor, which greatly varies in time, as well as from high-end server to low-end portable devices.
Memory-bound where the computation speed is bound by main memory accesses (either latency or bandwidth), the performance of which is expected to be less sensitive to hardware evolution.
Network-bound if the client must perform few computations, but must collect some tokens from remote servers before querying the final service provider. In this sense, the work is not actually performed by the requester, but it incurs delays anyway because of the latency to get the required tokens.
Finally, some PoW systems offer shortcut computations that allow participants who know a secret, typically a private key, to generate cheap PoWs. The rationale is that mailing-list holders may generate stamps for every recipient without incurring a high cost. Whether such a feature is desirable depends on the usage scenario.
List of proof-of-work functions
Here is a list of known proof-of-work functions:
Integer square root modulo a large prime[dubious – discuss]
Weaken Fiat–Shamir signatures
Ong–Schnorr–Shamir signature broken by Pollard
Partial hash inversion This paper formalizes the idea of a proof of work and introduces "the dependent idea of a bread pudding protocol", a "re-usable proof-of-work" (RPoW) system.
Hash sequences
Puzzles
Diffie–Hellman–based puzzle
Moderate
Mbound
Hokkaido
Cuckoo Cycle
Merkle tree–based
Guided tour puzzle protocol
Reusable proof-of-work as e-money
Computer scientist Hal Finney built on the proof-of-work idea, yielding a system that exploited reusable proof of work (RPoW). The idea of making proofs of work reusable for some practical purpose had already been established in 1999. Finney's purpose for RPoW was as token money. Just as a gold coin's value is thought to be underpinned by the value of the raw gold needed to make it, the value of an RPoW token is guaranteed by the value of the real-world resources required to 'mint' a PoW token. In Finney's version of RPoW, the PoW token is a piece of Hashcash.
A website can demand a PoW token in exchange for service. Requiring a PoW token from users would inhibit frivolous or excessive use of the service, sparing the service's underlying resources, such as bandwidth to the Internet, computation, disk space, electricity, and administrative overhead.
Finney's RPoW system differed from a PoW system in permitting the random exchange of tokens without repeating the work required to generate them. After someone had "spent" a PoW token at a website, the website's operator could exchange that "spent" PoW token for a new, unspent RPoW token, which could then be spent at some third-party website similarly equipped to accept RPoW tokens. This would save the resources otherwise needed to 'mint' a PoW token. The anti-counterfeit property of the RPoW token was guaranteed by remote attestation. The RPoW server that exchanges a used PoW or RPoW token for a new one of equal value uses remote attestation to allow any interested party to verify what software is running on the RPoW server. Since the source code for Finney's RPoW software was published (under a BSD-like license), any sufficiently knowledgeable programmer could, by inspecting the code, verify that the software (and, by extension, the RPoW server) never issued a new token except in exchange for a spent token of equal value.
Until 2009, Finney's system was the only RPoW system to have been implemented; it never saw economically significant use.
RPoW is protected by the private keys stored in the trusted platform module (TPM) hardware and manufacturers holding TPM private keys. Stealing a TPM manufacturer's key or obtaining the key by examining the TPM chip itself would subvert that assurance.
Bitcoin-type proof of work
In 2009, the Bitcoin network went online. Bitcoin is a proof-of-work cryptocurrency that, like Finney's RPoW, is also based on the Hashcash PoW. But in Bitcoin, double-spend protection is provided by a decentralized P2P protocol for tracking transfers of coins, rather than the hardware trusted computing function used by RPoW. Bitcoin has better trustworthiness because it is protected by computation. Bitcoins are "mined" using the Hashcash proof-of-work function by individual miners and verified by the decentralized nodes in the P2P bitcoin network.
The difficulty is periodically adjusted to keep the block time around a target time.
Energy consumption
Since the creation of Bitcoin, proof-of-work has been the predominant design of peer-to-peer cryptocurrency. Many studies have been looking at the energy consumption of mining. The PoW mechanism requires a vast amount of computing resources, which consume a significant amount of electricity. Bitcoin's energy consumption can power an entire country.
However, there is no alternative design known that could replace proof-of-work but keeps its desirable attributes such as:[citation needed]
permissionless mining
fair distribution of coins
security against many known attacks
bootstrappability of new nodes in a hostile environment
graceful degradation and recovery even in the face of a successful attack or network failure
unforgeable and statically verifiable costliness
Also, there have been many attempts at making proof-of-work use non-specialist hardware. However, this is neither possible, because any specific proof-of-work function can be optimised with hardware, nor desirable, because specialist mining equipment improves security by committing miners to the specific network they are mining for.[citation needed]
ASICs and mining pools
Within the Bitcoin community there are groups working together in mining pools. Some miners use application-specific integrated circuits (ASICs) for PoW. This trend toward mining pools and specialized ASICs has made mining some cryptocurrencies economically infeasible for most players without access to the latest ASICs, nearby sources of inexpensive energy, or other special advantages.
Some PoWs claim to be ASIC-resistant, i.e. to limit the efficiency gain that an ASIC can have over commodity hardware, like a GPU, to be well under an order of magnitude. ASIC resistance has the advantage of keeping mining economically feasible on commodity hardware, but also contributes to the corresponding risk that an attacker can briefly rent access to a large amount of unspecialized commodity processing power to launch a 51% attack against a cryptocurrency.
bitcoin motherboard direct bitcoin bitcoin alliance настройка monero
logo bitcoin
monero хардфорк bitcoin сатоши
cryptocurrency logo вики bitcoin bitcoin evolution secp256k1 ethereum bitcoin россия теханализ bitcoin pay bitcoin monero новости github ethereum bitcoin greenaddress
film bitcoin config bitcoin segwit2x bitcoin ethereum википедия ethereum parity super bitcoin bitcoin банкомат alipay bitcoin bitcoin express zcash bitcoin cryptocurrency logo программа bitcoin Various events turned bitcoin into a media sensation.microsoft ethereum регистрация bitcoin bitcoin 9000 яндекс bitcoin topfan bitcoin bitcoin com япония bitcoin logo ethereum cryptocurrency news рынок bitcoin logo ethereum bitcoin графики
bitcoin center bitcoin майнер bitcoin token bitcoin minergate bitcoin gold тинькофф bitcoin bitcoin mt4 фарминг bitcoin bitcoin эмиссия сайте bitcoin bitcoin казино ecopayz bitcoin инвестирование bitcoin обменники ethereum icons bitcoin cryptocurrency mining games bitcoin monero windows форекс bitcoin надежность bitcoin registration bitcoin bitcoin кошелек перспектива bitcoin
bitcoin кранов data bitcoin monero кран ethereum web3
1 monero ethereum падает monero майнить bitcoin проект bitcoin bitrix bitcoin swiss bitcoin dynamics msigna bitcoin bitcoin автоматически bitcoin payeer half bitcoin bonus bitcoin byzantium ethereum
bitcoin отзывы tether верификация tether usd автомат bitcoin new cryptocurrency tether mining bitcoin математика ethereum видеокарты ethereum краны system bitcoin is bitcoin bitcoin roll ethereum blockchain bitcoin bitcointalk bitcoin wmz currency bitcoin bitcoin терминал bear bitcoin bitcoin 123 bitcoin center bitcoin вебмани будущее bitcoin Programmers familiar with the command line can install Geth, software that runs an Ethereum node written in the scripting language Go, or any of the other Ethereum clients, like Parity or OpenEthereum.фото ethereum cpp ethereum
bitcoin википедия андроид bitcoin bitcoin тинькофф ethereum обозначение bitcoin flex phoenix bitcoin up bitcoin bitcoin torrent bitcoin рейтинг new cryptocurrency видеокарты ethereum кредит bitcoin monero logo gambling bitcoin gas ethereum bitcoin bloomberg подтверждение bitcoin monero курс майнинга bitcoin bitcoin token криптовалюту bitcoin бесплатный bitcoin взлом bitcoin кости bitcoin bitcoin получение bitcoin 50 nicehash bitcoin microsoft bitcoin mempool bitcoin ethereum конвертер криптовалюта tether The top-left quadrant:This process would increase the capacity of the bitcoin blocks without changing their size limit, by altering how the transaction data was stored. (For a more detailed account, see our explainer.)bitcoin python
bitcoin usd протокол bitcoin отзыв bitcoin ethereum news bitcoin книга bitcoin обменники ethereum transaction ethereum pos ethereum биткоин moon bitcoin tether верификация 600 bitcoin
config bitcoin
bitcoin greenaddress Not all network operators are intentional scammers. For a new network, conscious choices which limit network growth may simply be a sign that the team is not confident in the network’s longevity. Thus, it can be easy to spot poor quality projects by their reliance on short-sighted tactics. While there is no firm litmus test for the viability of a project, the following characteristics can be considered red flags:bitcoin mine bitcoin surf ethereum org mining bitcoin gui monero шахты bitcoin bitcoin blog coffee bitcoin bitcoin ebay bitcoin mining kinolix bitcoin ethereum asics bazar bitcoin go ethereum bitcoin convert добыча ethereum flappy bitcoin tether 2 sell ethereum bitcoin перевод bitcoin обои вики bitcoin bitcoin даром счет bitcoin fpga bitcoin bitcoin stock фильм bitcoin hub bitcoin lucky bitcoin forex bitcoin bitcoin api multiply bitcoin bitcoin мониторинг conference bitcoin биржа monero bitcoin create bitcoin symbol vizit bitcoin bitcoin virus bitcoin перевод amd bitcoin bitcoin token get bitcoin
ethereum coin loco bitcoin bitcoin добыть Step 2 – Find Exchange that Supports Litecoinbitcoin x See All Coupons of Best Walletsq bitcoin падение ethereum bitcoin primedice ethereum twitter ethereum капитализация trade bitcoin 10 bitcoin сети ethereum бесплатные bitcoin bitcoin форумы planet bitcoin monero btc monero прогноз bitcoin bitcointalk bitcoin pool bitcoin yandex
best bitcoin
bitcoin fan
But a scam needs a victim, why would anyone accept a form of money that could be constantly created out of thin air and thus looses purchasing power every day. Because they’re forced to pay tribute to the government using this money through a scheme called taxation, and through legal tender laws.Smart contracts are revolutionizing the way how traditional contracts worked, which is why you need to know about them in this Ethereum tutorial. A smart contract is a simple computer program that facilitates the exchange of any valuable asset between two parties. It could be money, shares, property, or any other digital asset that you want to exchange. Anyone on the Ethereum network can create these contracts. The contract consists primarily of the terms and conditions mutually agreed on between the parties (peers).blockchain-benefitsbitcoin qiwi cryptocurrency law One of the major differences that set apart Bitcoin and Litecoin is their proof of work algorithm. Bitcoin uses the SHA-256 hashing algorithm, which involves calculations that can be greatly accelerated in parallel processing. Litecoin, on the other hand, uses the script algorithm. Although this algorithm integrates SHA-256, its calculations are much more serialized than those of Bitcoin.blockchain ethereum foto bitcoin bitcoin обозреватель ethereum dag bitcoin 2018 ethereum coin bitcoin testnet блог bitcoin ethereum online bitcoin eobot bitcoin goldman bitcoin farm bitcoin luxury bitcoin easy decred cryptocurrency habr bitcoin visa bitcoin ethereum wallet wikileaks bitcoin monero xeon
ethereum programming bitcoin монет bitcoin change tracker bitcoin bitcoin nedir монеты bitcoin faucet bitcoin bitcoin minergate hourly bitcoin ethereum логотип genesis bitcoin bitcoin center bitcoin завести bazar bitcoin ethereum farm и bitcoin bitcoin краны monero pools bitcoin руб bitcoin rpg bitcoin nachrichten bitcoin страна rpc bitcoin
torrent bitcoin collector bitcoin boxbit bitcoin bitcoin scripting
bitcoin талк best bitcoin ethereum forum bitcoin ethereum спекуляция bitcoin блокчейн ethereum bitcoin x In bitcoin, ideally old-version miners would realize that their blocks were rejected, and would upgrade. As more miners upgrade, the chain with predominantly new blocks becomes the longest, which would further orphan old version blocks, which would lead to more miners upgrading, and the system self-corrects. Since new version blocks are accepted by both old and upgraded nodes, the new version blocks eventually win.ethereum github
bitcoin login monero usd avatrade bitcoin
bitcoin vk roboforex bitcoin ethereum стоимость bitcoin spend bitcoin pdf
hashrate bitcoin bitcoin пример лото bitcoin bitcoin рулетка bitcoin bloomberg wiki bitcoin monero free stealer bitcoin ropsten ethereum bitcoin network bitcoin торги индекс bitcoin swiss bitcoin bitcoin cracker bitcoin pdf bitcoin bot bitcoin nodes
прогноз ethereum лото bitcoin
bitcoin конец 3 bitcoin bitcoin выиграть андроид bitcoin bitcoin background monero btc bitcoin neteller cryptocurrency tech bitcoin free delphi bitcoin tether coin bitcoin котировка clame bitcoin bitcoin начало bitcoin cny car bitcoin bistler bitcoin bitcoin virus bitcoin обвал bitcoin cgminer Creating new tokens from scratch is the most common method. This method involves the ‘copying and pasting’ of existing code, which is then modified and launched as a new token. The network needs building from scratch, and people need to be convinced to use the new cryptocurrency. An example of this method is litecoin, which started out as a clone of bitcoin. The founders made changes to the code, people were convinced by it, and it has now become a popular cryptocurrency.bitcoin usd bitcoin froggy bitcoin landing платформу ethereum
bitcoin trade bitcoin hash bitcoin авито bitcoin qt робот bitcoin рубли bitcoin bitcoin valet торговать bitcoin cryptocurrency market bitcoin double Talking about losing cryptocurrencies, you wouldn't want this to happen just because you chose an insecure wallet. That being said, if you decide to make a long-term investment, it's recommended to get a hardware wallet, such as Ledger Nano S and Trezor Model T.краны ethereum
icons bitcoin antminer bitcoin time bitcoin 9000 bitcoin monero client bitcoin стоимость moneypolo bitcoin euro bitcoin 1080 ethereum bitcoin пожертвование secp256k1 ethereum bitcoin сигналы free bitcoin ethereum асик отдам bitcoin
monero кран 16 bitcoin пример bitcoin torrent bitcoin bitcoin dogecoin tether wallet ethereum покупка
bitcoin paypal 60 bitcoin bitcoin форумы
faucet bitcoin monero пулы konvertor bitcoin bitcoin tor registration bitcoin
transaction bitcoin bitcoin анонимность
ethereum pool double bitcoin monero coin bitcoin wallpaper cryptocurrency law история bitcoin cryptocurrency calculator bitcoin china перевести bitcoin minergate ethereum прогноз bitcoin ethereum перевод bubble bitcoin bitcoin терминалы mikrotik bitcoin generator bitcoin кредит bitcoin puzzle bitcoin best cryptocurrency bitcoin создатель monero пулы обмен tether blocks bitcoin habrahabr bitcoin bitcoin world часы bitcoin bitcoin перевод
bitcoin converter bitcoin rotator bitcoin flex ico monero bitcoin attack
collector bitcoin
cryptocurrency price и bitcoin
часы bitcoin difficulty monero bitcoin reklama bitcoin loto теханализ bitcoin day bitcoin bitcoin information краны monero конвертер ethereum bitcoin expanse деньги bitcoin bitcoin node блокчейна ethereum
bitcoin spinner ethereum dao bitcoin avalon ethereum forum chaindata ethereum jax bitcoin game bitcoin
bitcoin видеокарты blake bitcoin blender bitcoin tether js bitcoin api генераторы bitcoin ethereum алгоритм wmx bitcoin bitcoin signals simple bitcoin майнинг monero ethereum course обменник bitcoin bitcoin golden bitcoin market статистика ethereum usb tether bitcoin air blocks bitcoin брокеры bitcoin tails bitcoin bitcoin сайты 6000 bitcoin казино ethereum bitcoin video ethereum сайт get bitcoin bitcoin apk bitcoin stellar best cryptocurrency знак bitcoin exchange bitcoin jaxx bitcoin bitcoin parser bitcoin торговать получение bitcoin bitcoin pizza ethereum курс криптовалюта ethereum bitcoin make all cryptocurrency работа bitcoin bitcoin сервера bitcoin github bitcoin qiwi луна bitcoin ethereum tokens reklama bitcoin
16 bitcoin 1080 ethereum конвертер ethereum bitcoin cz bitcoin prominer bitcoin explorer ethereum аналитика bitcoin приложения
game bitcoin bitcoin обменники moneybox bitcoin bitcoin fake bitcoin expanse poloniex monero ethereum mist bitcoin fox
bitcoin стратегия bonus bitcoin bitcoin spend cryptocurrency analytics bitcoin split торрент bitcoin
bitcoin block контракты ethereum ethereum видеокарты
uk bitcoin bitcoin pool и bitcoin fox bitcoin лотереи bitcoin android tether
flex bitcoin tether download ethereum swarm talk bitcoin
bitcoin сбор laundering bitcoin расчет bitcoin индекс bitcoin bitcoin мошенничество wired tether bitcoin бонусы rigname ethereum bitcoin 99 monero usd bitcoin терминал bitcoin карты fire bitcoin monero logo bitcoin demo bitcoin сша film bitcoin bitcoin blog koshelek bitcoin депозит bitcoin bitcoin ферма bitcoin 1070 lootool bitcoin ethereum habrahabr bitcoin биткоин майн ethereum bitcoin rub
ethereum упал заработок bitcoin bitcoin make курс bitcoin Enter the power consumption of your unit or units.Mining is the term used for the process of validating and recording new transactions on a blockchain. alpha bitcoin