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)
Details of the Monero Hard Fork Released
The final countdown has commenced before the Monero community launches its hard fork. Also, the version of clients' software (command line interface) required to participate in the updated consensus has been released.
RandomX: Monero Mining on CPUs
The recent software release (Version 0.15.0.0) entitled Carbon Chamaeleon provides everyone who took part in the Monero Proof-of-Work (PoW) consensus to be sufficiently prepared for the November 30th protocol upgrade. The most controversial part is the upcoming implementation of the RandomX mining algorithm. The Monero Community says that "RandomX will take ASIC resistance one step further" since it's optimized for CPU-based mining.
ASIC resistance refers an approach by miners that eliminates the advantages of specialized hardware (namely ASICs and FPGAs). This provides all miners with equal opportunities to participate in the mining process. To incentivize this trend, Monero executes hard forks every six months, slightly customizing the algorithms. In competition with CPU and GPU miners, this makes specialized ASICs useless.
According to released specifications, the majority of AMD and Intel CPUs made since 2011 should be fairly efficient with RandomX.
Privacy First
Some minor tweaks that have to do with privacy and user experience have also been implemented in the upcoming hard fork. For instance, long payment IDs will be phased out, which are important for services and exchanges. Next month, a Monero transaction will require at least two outputs. Last but not least, lock periods of ten blocks for incoming transactions will be enforced on a protocol level. This lockup will last approximately 20-25 minutes.
It should be noted that the hard fork for Monero Version 12 will be activated on Block 1978433, and is expected to be mined on November 30, 2019. The new long-term PoW algorithm RandomX will try to eliminate the costly professional mining hardware from the network.
What do you think? Will this upgrade be welcomed by the community? How it will affect the level of decentralization and safety? Share your thoughts on Twitter!