Correcting misinformation on Segwit2x and btc1
вЂњSegwit2xвЂќ, a proposal for an incompatible switch to the consensus rules of the Bitcoin network, has received enhanced exposure recently. There have been attempts to mislead people into believing that the btc1 project, the implementation of the Segwit2x proposal, is a necessary update to existing softwareвЂ”it is not. Instead, it is a contentious deviation from the existing network rules, and its users will soon find themselves disagreeing with the rest of the network about the validity of blocks and transactions.
Please be aware that:
Segregated Witness (or Segwit, a soft fork which will be active within the coming days) is not related to the Segwit2x hard fork. Segregated Witness is rearwards compatible with all previous Bitcoin software. For the vast majority of Bitcoin users, no act is required.
bitcoincore.org is the official website and @bitcoincoreorg is the official Twitter account of the Bitcoin Core project. Any other websites or Twitter accounts claiming to represent the project are fraudulent. Bitcoin Core is an open source project that welcomes contributions and review from anyone through its GitHub project. Bitcoin Core binaries can be obtained from bitcoincore.org and bitcoin.org and are always digitally signed by the release managerвЂ™s signing key. The latest version of Bitcoin Core at the time of writing is 0.14.Two.
btc1 is not connected to Bitcoin Core in any way. No regular Bitcoin Core contributors support btc1 or have any connection to the project, nor were any involved in the design of its proposed hard fork.
We strongly advise users not to download any Bitcoin full-node software claiming to be an вЂupgradeвЂ™ to BitcoinвЂ™s consensus rules without cautiously considering the influence of the proposed switches on the Bitcoin system and the level of community support for it. This includes proposed consensus switches in fresh releases of Bitcoin Core.
While it is difficult to determine what the broader Bitcoin community supports, be wary of claims suggesting the large and diverse Bitcoin community is moving entirely to one fork or another, without independent verification. Sign-on letters have been used by companies claiming to represent their clients/users without their agreement, and have often used imprecise and misleading language. In the past, letters for Bitcoin XT, Bitcoin Classic, and Bitcoin Unlimited, as well as others, have been circulated to indicate general support of an idea, while being trumpeted as commitments to run software irrespective of community considerations, only to be dropped some months later.
Concerns raised by Bitcoin Core contributors and Bitcoin community members about the Segwit2x proposal have not been adequately addressed by its proponents. The details of the proposal were established before BitcoinвЂ™s Segregated Witness activation, and before the latest creation of the BCH currency. It is irresponsible to overlook the outcome of these events when planning for the future. As an example, weвЂ™ve seen the confusion that arises when a single address is valid across two chains, yet the Segwit2x proposal intends to repeat the same mistake. Furthermore, BCHвЂ™s implementation of strong replay protection provided significant protection to users of both BCH, as well as Bitcoin, something Segwit2x does not plan on providing.
BitcoinвЂ™s consensus rules should only be switched sparingly and with broad agreement from the entire community. Segwit2x, in both its process and implementation, has been opposed by many. Bitcoin Core will proceed to support the Segwit soft fork and we look forward to helping Bitcoin scale to fresh heights over the coming years.
Correcting misinformation on Segwit2x and btc1 was published on August Legal, two thousand seventeen .
Bitcoin Core is a reference client of bitcoin. Primarily, the software was published by Satoshi Nakamoto under the name Bitcoin, then Bitcoin-Qt and later renamed to Bitcoin Core.  [ not in citation given ] It is also known as the Satoshi client. [Two] It is a total client used by bitcoin knots that create the bitcoin network. Through the switches to Bitcoin Core, its developers make switches to the underlying bitcoin protocol. [Trio] As of two thousand sixteen [update] , Bitcoin Core repositories are maintained by Wladimir J. van der Laan. [Four]
The MIT Digital Currency Initiative funds some of development of Bitcoin Core. [Five] The project also maintains the cryptography library libsecp256k1. 
It includes a transaction verification engine and connects to the bitcoin network as a total knot. [Two] Moreover, a cryptocurrency wallet, which can be used to transfer funds, is included by default.  The wallet permits for the sending and receiving of bitcoins. It does not facilitate the buying or selling of bitcoin. It permits users to generate QR codes to receive payment.
The software validates the entire blockchain, which includes all bitcoin transactions ever. This distributed ledger which has reached more than one hundred thirty gigabytes in size must be downloaded or synchronised before utter participation of the client may occur. [Two] A guideline line-based daemon with a JSON-RPC interface, bitcoind, is bundled with Bitcoin Core. It provides access to testnet, a global testing environment that imitates the bitcoin main network or Mainnet. It uses an alternative blockchain where real bitcoin are not used and the blockchain cannot be adversely affected. Regtest or Regression Test Mode creates a private blockchain which is used as a local testing environment.  bitcoin-cli is the third program included. It permits users to send RPC directives to bitcoind.
Checkpoints have been hard coded into the client.  These maintain data integrity by keeping a part of the block chain data in the source code where it is able to be compared to the blockchain when its downloading is finish.  A one megabyte block size limit was added in two thousand ten by Satoshi Nakamoto as a makeshift anti-spam measure. This limited the maximum network capacity to about three transactions per 2nd. [Ten] Since then, some minor switches to the software have improved network capacity incrementally. A network alert system was included by Satoshi Nakamoto as a way of informing users of significant news regarding bitcoin.  In November two thousand sixteen it was retired. It had become obsolete as news on bitcoin is now widely disseminated. Miners are able to signal their decision on the incorporation of fresh features by voting.
A powerful scripting language is used to define transactions. This Forth-like language is part of one of three distinct application programming interfaces.  It can enable various transaction parameters. The script uses switch sides Grind notation for validation. ScriptPubKey is used to “lock” transactions based on a set of future conditions. scriptSig is used to meet these conditions or “unlock” a transaction. Operations on the data are performed by various OP_Codes. Two stacks are used – main and alt. Looping is barred.
The original creator of the bitcoin client has described their treatment to the software’s authorship as it being written very first to prove to themselves that the concept of purely peer-to-peer electronic cash was valid and that a paper with solutions could be written.  While the majority of peers on the network may use Bitcoin Core, the developers’ influence on bitcoin is limited by the choice of which implementation people voluntarily determine to use.  The lead developer is Wladimir J. van der Laan, who took over the role on eight April 2014.  Gavin Andresen was the former lead maintainer for the software client. Andresen left the role of lead developer for bitcoin to work on the strategic development of its technology.  He left because he didn’t want to get involved with trivial decision-making.
The code was originally stored at Sourceforge before being available on GitHub.  Because there is no formal structure, development is based around Bitcoin Improvement Proposals or BIPs, which are similar to Request for Comments. Public mailing lists are used to vet initial expressions of ideas.  If enough support is displayed a BIP document is written. This is the standard for sharing ideas and gaining community feedback on improving bitcoin and was initiated by Amir Taaki in 2011.
The roadmap for the client includes data link layer solutions for scalability. Core developers view bitcoin as a settlement layer. [Legal] Bitcoin Core is one of several total knot client implementations that are actively deployed. Alternatives include Bitcoin XT, Bitcoin Classic and Bitcoin Unlimited. All are derived from Bitcoin Core and contain implementation of hard fork proposals. These software forks permit bitcoin miners to demonstrate their vote on the direction of bitcoin’s development.
Core developers choose to little by little, not rapidly enhance bitcoin’s transaction treating capabilities. [Nineteen] Core developers believe in the premise that barriers to running a total knot should be kept low as possible so that the blockchain layer at the very lowest level remains very decentralized. [Eighteen] Core has reputation for tending for being risk reluctant. This is demonstrated by the reluctance of Core developers to increase the network’s capability to process transactions.
Bitcoin 0.1 was released on nine January two thousand nine by Satoshi Nakamoto with only Windows supported.  This was followed by some minor bug fixing versions. On sixteen December two thousand nine Bitcoin 0.Two was released. It included a Linux version for the very first time and made use of multi-core processors for mining.  In version 0.Three.Two Nakamoto included checkpoints as a safeguard. After the release of version 0.Three.9 Satoshi Nakamoto left the project  and shortly after stopped communicating on online forums. By this time development of the software was being undertaken by a broad group of independent developers which is referred to as a community, many of whom had various ideas on how to improve bitcoin. 
Inbetween two thousand eleven and two thousand thirteen fresh versions of the software were released at Bitcoin.org.  Developers desired to differentiate themselves as creators of software rather than advocates for bitcoin and so now maintain bitcoincore.org for just the software.
Bitcoin-Qt version 0.Five.0 was released on one November 2011. It introduced a front end that uses the Qt user interface toolkit.  The software previously used Berkeley DB for database management. Developers switched to LevelDB in release 0.8 in order to reduce blockchain synchronization time.  The update to this release resulted in a minor blockchain fork on the eleven March 2013. The fork was resolved shortly afterwards.  Seeding knots through IRC was discontinued in version 0.8.Two. In this release transaction fees, also known as relay fees, were diminished from 50,000 satoshis to Ten,000 satoshis.  From version 0.9.0 the software was renamed to Bitcoin Core. Transaction fees were diminished again by a factor of ten as a means to encourage microtransactions.  Albeit Bitcoin Core does not use OpenSSL for the operation of the network, the software did use OpenSSL for remote procedure calls. Version 0.9.1 was released to liquidate the network’s vulnerability to the Heartbleed bug. 
Release 0.Ten was made public on sixteen February 2015.  It introduced a consensus library which gave programmers effortless access to the rules governing consensus on the network. The developers have stated that for consensus on soft forks a super-majority of 95% of hash power is required for agreement.  In version 0.11.Two developers added a fresh feature which permitted transactions to be made unspendable until a specific time in the future.  Bitcoin Core 0.12.1 was released on April 15, two thousand sixteen and enabled numerous soft forks to occur concurrently.  Around one hundred contributors worked on Bitcoin Core 0.13.0 which was released on twenty three August 2016. It introduced more than ten significant switches. 
In July 2016, the CheckSequenceVerify soft fork activated.  [ better source needed ]
In October 2016, Bitcoin Core’s 0.13.1 release featured a soft fork that included a scaling improvement aiming to optimize the bitcoin blocksize.  thirty five developers were engaged to deploy the patch which was originally finalised in April.  This release featured Segregated Witness (SegWit) which aimed to place downward pressure on transaction fees as well as increase the maximum transaction capacity of the network.  Estimates place the total block size using SegWit at about 1.7 mb [ clarification needed ] .  [ better source needed ] The 0.13.1 release suffered extensive testing and research leading to some delays in its release date.  [ better source needed ] Segwit aims to prevent various forms of transaction malleability.  Segwit cannot be activated until
95% of miners using Bitcoin Core concurrently agree to its use. 
BIP one hundred twenty three categorizes the many BIP proposals. 
two BIP process, revised BIP two specifies the BIP process. BIP numbers are awarded liberally. As of February 2017, one hundred fifty two BIP numbers have been assigned, but only twenty seven BIP’s have reached the active/final stages. Nine Version bits with timeout and delay BIP specifies a state machine for determining 95% miner consensus of soft forks. There has been one successful BIP nine soft fork, and one is (Segregated Witness), as of two thousand seventeen open for voting.  sixteen Pay to script hash Permits transactions to be sent to a script hash (address beginning with Three) instead of a public key hash (addresses embarking with 1). To spend bitcoins sent via P2SH, the recipient must provide a script matching the script hash, and data which makes the script evaluate to true. The recipient might need the signatures of several people to spend these bitcoins, or a password might be required, or the requirements could be entirely unique. Sixty five CHECKLOCKTIMEVERIFY CLTV permits a transaction output to be unspendable until some specific point of time in the future.  one hundred twelve CHECKSEQUENCEVERIFY CSV enables making an address (kicking off with Trio) which can’t spend bitcoin received, for a specified amount of time after receiving. One can have a 2-of-3 multisig address, which times out to a backup rule, unless there is 2-of-3 consensus.