On Wednesday, 18th of July 2019, Signet-a new proposal- introduced a new substitute to bitcoin’s Testnet. This introduced software will play a vital role for programmers, providing them an avenue to test their applications, ensuring that they work as they should by only using test money. Additionally, procedure developers can also use this software to test the feasibility and security of big changes to bitcoin.
Bitcoin’s testnet has been in existence for a while without major changes being made to functionality. However, it is not very acceptable by developers because of its numerous problems. Bitcoin Principal contributor Karl-Johan Alm has even moved to refer to bitcoin’s testnet as notoriously unreliable in a new Bitcoin Improvement Proposal (BIP) posted to the bitcoin developer email list. Alm desires to correct Bitcoin’s testnet issues with a new type of testnet for bitcoin that aims to solve the old testnet’s problems. Alm revealed that Signet is like bitcoin, but it is totally centralized and measured by one or several people. He added that these people who measure must sign a block for it to essentially be valid. For those unfamiliar with “Testnet”, it’s an alternative Blockchain that is used for testing purposes. “Testnet” coins are completely separate from Bitcoin, meaning they have no monetary value and are only used for testing purposes. With Bitcoin scaling in the future and getting closer and closer to being fully mined, its crucial that the Testnet issues are taken care of to avoid any future implications with the Bitcoin network.
The testnet issues are mainly related to mining blocks which is more unpredictable on the testnet than it is on the bitcoin network. In the Bitcoin Improvement Proposal, Alm shared that these issues are huge block reorgs (when one block is replaced with another block), long holes in between blocks that are mined or unexpected bursts of blocks in quick series which means that realistic testing of software, especially involving multiple independent parties running software over a prolonged period of time, becomes infeasible in practice.
To an extent, this occurs innately in bitcoin, as it is a distributed network with nodes distributed globally, so, most times, before these nodes come to agreement on block and transaction history it may take a bit of time. For instance, if two blocks are transmitted at almost the same time from different parts of the network, one block might appear valid to some of the network, and another block valid to the rest of the network. Consequently, the network needs some time to reconcile these conflicting blocks. It is important to note that this action is a frequent occurrence on the test network, and is on a large scale, adding to its unreliability. The Bitcoin Improvement Proposal explains that the aim is to have a predictable amount of unreliability, as opposed to being perfectly reliable.
According to BIP, the test network will behave like mainnet while also making it easier to cause expected but rare events like a 6-block reorg. As a centralized testnet substitute, Signet would help to assuage these issues. Describing Signet, Alm revealed that signet helps prevent the existing problems because the signer is fixed. He added that making blocks can be cheap because there is no competition with anyone, and that there is no security issue with a low hash rate since nobody else has the private keys. Alm is sure that because the network is highly coordinated, there will be little chance for reorgs to occur.