Advertisement
AD

Main navigation

Advertisement

Error message

Warning: Undefined array key 0 in amp_entity_view_alter() (line 156 of modules/contrib/amp/amp.module).
amp_entity_view_alter(Array, Object, Object) (Line: 545)
Drupal\Core\Extension\ModuleHandler->alter('node_view', Array, Object, Object) (Line: 304)
Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array) (Line: 238)
Drupal\Core\Entity\EntityViewBuilder->build(Array)
call_user_func_array(Array, Array) (Line: 111)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was %s. See https://www.drupal.org/node/2966725', 'exception', 'Drupal\Core\Render\Element\RenderCallbackInterface') (Line: 788)
Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array) (Line: 377)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 204)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 238)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 583)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 239)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 128)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'kernel.view') (Line: 187)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 191)
Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (Line: 128)
Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 704)
Drupal\Core\DrupalKernel->handle(Object) (Line: 18)

What is Proof of Work

Advertisement
Wed, 21/02/2018 - 23:32
What is Proof of Work
Cover image via www.123rf.com
Read U.TODAY on
Google News

Proof of Work (PoW) is a consensus mechanism used by Bitcoin and many other cryptocurrencies to prevent attacks on the network. Bitcoin’s entire transaction history is stored on the Blockchain, and this Blockchain also records the balances in everybody’s Bitcoin wallet. Satoshi Nakamoto, the inventor of Bitcoin, realized there needed to be some way to keep everybody honest.

Advertisement

If anybody could add a block to the Blockchain, then the network would be vulnerable to attacks by people who wanted to reward themselves with more Bitcoin. Satoshi solved this problem by creating a PoW system called “mining.” Miners have to solve cryptographic puzzles whose difficulty is determined by the number of other people who are mining at the same time. Since mining requires expensive, specialized computers and a great deal of energy usage, miners actually have real money invested in the process.

Once a miner discovers the solution to a puzzle, he is able to publish the block to the Blockchain, where all the other nodes on the network verify its legitimacy. If the network accepts the block, the miner is rewarded with newly created coins. If enough of the network’s nodes reject the block, then it will be orphaned and won’t be added to the Blockchain. With Bitcoin, the longest chain is always considered to be the valid one, meaning that any work done on the “wrong” chain will be wasted. This keeps people from trying to fork the network with an illegitimate series of blocks (unless they have a substantial majority of the mining power on the network). Ultimately, the legitimate miners will reject the invalid chain, and the work of any attackers will be lost.

The exception is a 51 percent attack, in which a large majority of the network’s miners are corrupt. In this case, the miners can begin mining on an illegitimate chain and, if they have enough mining power (hash power), they can overcome the honest actors on the network and create the longest chain. At that point, all the network’s nodes will accept the attacker’s chain as valid.

Proof of Work is often criticized because of the vast amount of energy that’s wasted. The process of mining doesn’t do anything productive; it simply ensures that those who try to add a block to the Blockchain are incentivized, to be honest. Because of the inefficiency of Proof of Work systems, other consensus methods like Proof of Stake have been proposed, but they have their own weaknesses.

A
A
A

Related articles

Advertisement
TopCryptoNewsinYourMailbox
TopCryptoNewsinYourMailbox
Advertisement
Advertisement

Recommended articles

Latest Press Releases

Our social media
There's a lot to see there, too

Popular articles

Advertisement
AD