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)
SegWit Explained: What Is Bitcoin's Segregated Witness?
Segregated Witness (SegWit) is an implemented protocol update that solves the problem of the Bitcoin’s blockchain transaction malleability. The point is in one of the transaction components. The first part is the Basic information (the sender, the amount, the recipient). And the second part — Witness — carries a special cryptographic signature (code). This code is a confirmation of the virtual transaction in Bitcoin currency.
Witness’ signature creates difficulties for the blockchain because the form can be changed after the appearance in the block. Bitcoin will still reach the addressee, but the construction of new transactions will be complicated because they all go along the chain. Unconfirmed transactions slow down the speed of new ones, reducing the overall Bitcoin network performance due to pulling data from a past virtual transaction.
The current Bitcoin protocol makes it difficult to implement large-scale updates, as well as to conduct fast transfers. The problematic network feature is called the “transaction malleability”. Against this background began the movement for the introduction of SegWit.
The goals of SegWit
Segregated Witness must restore the Bitcoin network and adapt the blockchain technology to new realities. The main task is to solve transaction malleability and scalability. SegWit optimizes the transaction process and creates conditions for the subsequent increase in virtual block size. SegWit has to solve such problems and questions:
-
If Witness signature is segregated from a block of Bitcoin increases size and bandwidth of the entire network.
-
The transaction size is reduced by 2 times.
-
Reducing the blockchain size, which saves disk virtual space for nodes.
-
Starting and synchronization of nodes speed up significantly.
-
The enhanced spam protection mechanism of Bitcoin currency.
It follows that SegWit addresses the most important aspects for Bitcoin: scalability, protection level, transactions speed, and interaction with new protocols.
The story of Segregated Witness
The first talk about the need to modernize Bitcoin’s protocol and about possible ways to solve the transaction malleability problem appeared in 2012. Bitcoin-Core developers Russell O’Connor, Luke Dashir, Gregory Maxwell and others became initiators. Active actions for the currency began in the summer of 2014, when Maxwell, Pieter Wuille and cryptographer Adam Back launched the blockchain research company called Blockstream. In this environment, they found a solution to Bitcoin’s problem. It was decided to separate special cryptographic signature from the main part of the transaction. They called this function Segregated Witness.
In parallel with Segregated Witness, the idea of optimizing Bitcoin’s blockchain by increasing the block size (the default is 1 megabyte) appeared. It could be realized only through a hard fork — a rigid network separation through the introduction of changes incompatible with the current protocol. SegWit, on the contrary, was a soft fork or partial update of Bitcoin’s protocol. To implement it, the Witness’s signature must be segregated in a new part of the virtual block. And its anchor (Merkle Root) recorded in the transaction of miners’ fees. As a result, more space remained in Bitcoin’s block, and its size increased without actually increasing. This result allowed us to solve the problem of the Bitcoin network scalability, which was also quite acute.
After the appearance of the second idea, a real war broke out, including among the developers of Bitcoin currency. Miners and pools couldn’t come to a consensus from 2015 to August 2017. As a result, SegWit was accepted and activated. A special code called BIP91, developed by Bitmain engineer James Hilliard, turned out to be the best compromise among all the proposals received over several years.
The main advantages of Segregated Witness
The list of benefits which will be received by the Bitcoin network with the introduction of SegWit is very large, we focus the main ones:
-
The third party will lose any options of signature’s changing, which will facilitate the development of new smart contracts.
-
Dividing special cryptographic signature from Basic data will significantly increase transaction size and Bitcoin’s blockchain bandwidth, and the average virtual block size will be 1.7-2 MB.
-
With Segregated protocol, transactions in Bitcoin currency will remain available to participants who have accepted SegWit, and those who refuse to do so. At the same time, users with an updated protocol will work with smaller commissions.
-
The adoption of SegWit greatly simplifies the implementation of new soft forks, allowing to introduce new ideas to improve the security of Bitcoin currency.
-
The block validation rate and transaction security will increase due to a change in the signature hash function from linear to exponential.
-
A segregated signature will reduce the currency’s charging fees.
-
SegWit will have a positive impact on the Bitcoin ecosystem here and now, as well as create a springboard for further development.
Arguments against SegWit
Even today, Segregated Witness is not fully accepted by the Bitcoin network. Sceptics believe that this will take years because the number of nodes has already exceeded 10,000. An increase in the number of participants and a virtual transaction will result in a Bitcoin’s block size of 2 MB is small for the needs of the ecosystem.
Partial centralization of Bitcoin’s system due to the implementation of the SegWit protocol will increase the number of unconfirmed transactions, which will strip the network and make currency vulnerable to hacker attacks.
Some Bitcoin developers and pools believe the adoption of SegWit is dictated by the economic gain of Blockstream, which owns the Lightning Network protocol. Its technical implementation in the Bitcoin network without Segregated Witness is almost impossible.
Will the time come for SegWit2x?
Speaking about the implementation of Segregated Witness and Bitcoin currency, it is impossible not to mention the postponed indefinitely SegWit2x. The agreement was the result of heated discussions and a search for consensus. It was decided to make a hard fork, after which the block size should increase to 2 megabytes. The split was scheduled for mid-November 2017. In fact, Bitcoin would split into two networks with its own coin, rules, signatures and standards.
However, the idea was not destined to come true. Firstly, the negative attitude of the developer community and the launched NO2X campaign did not play into the hands of the “Segregated” protocol. Secondly, BIP91 was implemented earlier and it was successful.
As a result, on November 8, 2017, the complete closure of the project was announced. But there were people who positively evaluated the results for Bitcoin. For example, the head of Blockchain.info, Peter Smith, who initially supported the Segwit2x idea, spoke as follows:
We’re relieved. The goal of the NYA was to bring the community together and keep the majority of the users on the same chain for at least a little while longer.
Results for Bitcoin and blockchain
From the moment of implementation of Segregated Witness, a year and a half has passed, but the protocol is not accepted by 70%. Many large services have not yet implemented it into their processes. However, positive changes are already visible, especially for ordinary users. Now the average transaction cost with confirmation within 20 minutes, according to Bitcoin Core Fees, is estimated at 5 satoshi/byte, that is, about $ 0.08 for the entire virtual transaction.
Spam attacks on the Bitcoin network have also stopped, the mempool remains free, and the average block size has exceeded 1 MB. In addition, the activation of SegWit has opened the doors to the implementation of new solutions and prospects for Bitcoin and cryptocurrency in general.
Disclaimer: The opinions expressed by our writers are their own and do not represent the views of U.Today. The financial and market information provided on U.Today is intended for informational purposes only. U.Today is not liable for any financial losses incurred while trading cryptocurrencies. Conduct your own research by contacting financial experts before making any investment decisions. We believe that all content is accurate as of the date of publication, but certain offers mentioned may no longer be available.