Main navigation

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)

Past ICO Review: The DAO Split ETH and Subsequently Destroyed itself

Advertisement
Thu, 26/04/2018 - 2:35
Past ICO Review: The DAO Split ETH and Subsequently Destroyed itself
Cover image via U.Today
Read U.TODAY on
Google News

The DAO - Decentralized Autonomous Organization - was one of the spectacular ICO failures. After collapsing, it simply ceased to exist. It is not searchable on CoinMarketCap. An error in its software code was exploited by hackers and $50 million of its $168-million ICO-raised funds were stolen, leaving investors frenzied to sell and get out as quick as possible. The result was a massive price collapse, subsequent delisting from exchanges and eventual abandonment.

The short-lived DAO was a game changer, as it burst forth to introduce a paradigm shift in the way of thinking about finances in the digital age. The now-defunct DAO was meant to operate a venture capital fund for the cryptocurrencies and decentralized space.

The lack of a centralized authority would reduce costs and, in theory, provide more control and access to the investors. This is a massive benefit for investors who want to reduce trading and maintenance fees.

card

Smart complex contracts - maybe too complex?

DAO operated a complex Smart Contract code with many features. The contract system would have allowed companies to make proposals for funding. Once a proposal was white-listed by one of the curators, the DAO token holders, or investors,  would then need to vote on the proposal.

If the proposal got a 20 percent quorum, the requested funds would be released into the white-listed contractor's wallet address. This idea was revolutionary in the way that investors could make proposals and then be funded by democratic voting principles. This was great on paper, but when it came to coding it, problems arose.

Code carefully

When the DAO smart contract was created, the coders did not take into account the possibility of a software command known as a recursive call. The fact that the smart contract code first sent the ETH funds and then, only after sending the funds, updated the internal ledger balance, meant that the code could be exploited to drain accounts for more than the balance. In this case a recursive call could keep taking funds from the account before the ledger had a chance to reconcile itself. This is what allowed hackers to steal some $50 mln worth of Ether.

card

Soft Fork, Hard Fork, DAO is done

To remedy the hacking situation and correct the coding, action was taken by the Ethereum community with the use of a soft fork in the software coding that was designed to essentially go back and void all past transactions on the blockchain, including the hack which transferred the $50 mln worth of Ether.

The complex smart contract had what could be called an escrow account that all transactions had to pass through and wait 28 days before being allowed to be cashed out. While the hacker waited for his transactions to clear the soft fork took place and voided his withdrawal.

Or, this is what was supposed to happen, but did not. Further drastic action had to be taken and a hard fork was proposed. The hard fork would allow all the transactions to be voided and essentially reverse the withdrawal of all DAO back into Ether at 100 DAO to 1 ETH. 89 percent of the community supported the hard fork. With that step, DAO was done and Ethereum split into two tokens: the Ethereum we know today and what is known as Ethereum Classic.

While the DAO really had some great innovation behind it, its own coding and structure brought it down. The idea of an automated venture capital funding system is so so novel that it is bound to appear again under the guise of a new name and better coding.

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