Currency: Currency is a specific kind of money. What is money? money is anything that can be used to exchange goods and services.
Digital currency: Digital currency is money purely in digital form; that only lies in a database.
Decentralized: Decentralized means that no single person, corporation, or government controls the system.
Aggregating all of the above, Bitcoin is a currency utterly devoid of any central authority, completely decentralized, operating on a peer-to-peer network.
How it works
Transfer of bitcoins
All users are completely anonymous and can only be identified by their public key, a part of the public-key cryptographic pair.
The user stores the private key for this wallet. A user can only sign their transaction with their private key; this validates that it is coming from the wallet owner.
Recording of transactions
A bitcoin transaction is an entry stating the public key of the sender and receiver. Any transaction is shared with the network.
Mining is a distributed consensus system. Transactions are combined in a block and secured with a mathematically complex problem.
The solution to this problem is then validated by the network and appended to the chain of blocks, blockchain.
Who maintains the code?
Satoshi Nakamoto took the live first version of Bitcoin in 2009. And since then, he engaged with a few developers to work on it along with him.
In 2011, he left active development and passed on the baton to maintain the project to Gavin Andresen.
In 2014, Gavin passed this on to Wladimir van der Laan, who has maintained it to date and a few others.
Practically, anyone can contribute to the bitcoin-core project, but only five people have maintainer rights who have to undertake tedious review and ensure that changes align with Bitcoin’s philosophy.
Who selects this maintainer? Well, this started with Satoshi, he passed on this access to few and then those few have continued on adding more people as and when they exhibit competence and reliability.
Updates to bitcoin nodes is passed on via pull mechansim and not push.
Any changes in bitcoin code doesn’t get automatically propagated to all the nodes, but nodes pull it as and when they feel comfortable with the suggested changes.
What if someone added something in the code that wasn’t supposed to be there?
Well, forking the repo is easy. Anyone can fork the repo, remove the dirty changes, and make it available to community. Literally, there are tons of forks of bitcoin system, but bitcoin-core is used by 95%+ nodes.
By design of being built and managed by community, the faith is put in community to ensure stability and well being.