Today marks the official release of Bitcoin Core 0.21.0, the 21st major release of Bitcoin’s original software client launched by Satoshi Nakamoto almost 12 years ago.
Overseen by Bitcoin Core lead maintainer Wladimir van der Laan, this latest major release was developed by well over a hundred contributors in a span of about six months. The result of over 600 merged pull requests, Bitcoin Core 0.21.0 is one of the biggest Bitcoin Core releases in recent years, introducing various new features as well as privacy and performance improvements, while taking a big step towards the Schnorr/Taproot protocol upgrade.
Below are some of the more notable changes.
When coins are sent to a Bitcoin address, what actually happens under the hood is that they are “locked up” in an unspent transaction output (UTXO), to only be “unlocked” (spent) in a later transaction if the conditions hidden in the UTXO are met. A typical condition is the inclusion of a valid signature corresponding to a specific public key. But conditions can for example also consist of the inclusion of a secret code, the lapse of a timelock or a combination of signatures (multisig).
Until now, Bitcoin Core was designed to manage the UTXOs in its wallet around their corresponding private keys — even though private keys are just one of several potential conditions for spending coins. Bitcoin Core 0.21.0 instead introduces “descriptor wallets.” Descriptor wallets let users categorize their UTXOs based on the types of conditions that are required to spend them. (For example: one wallet for UTXOs that just require a valid signature, and one wallet for multisig UTXOs.)
Descriptor wallets are especially useful for application developers who design software on top of Bitcoin Core. A particular application can now easily be designed to utilize only a specific type of UTXO, like multisig UTXOs, and ignore any non-multisig UTXOs.
Regular users may also notice a difference now that descriptor wallets are implemented. Perhaps most notably, no default wallet will be created when a new Bitcoin Core node is started up. Instead, a new wallet is only created when a user specifically chooses to do so, allowing them to create only the specifically desired type of wallet. Descriptor wallets also better support Watch Only wallets: wallets that keep track of certain UTXOs even though the node doesn’t have the private keys needed to spend them.
Bitcoin Core users that upgrade to Bitcoin Core 0.21.0 will still be able to use their legacy wallet for now. (Legacy wallets will eventually be deprecated, meaning users will need to migrate their legacy wallet to a descriptor wallet, but this won’t be strictly necessary until a future Bitcoin Core release.)
Serving Compact Block Filters Over The Peer-To-Peer Network
“Light clients” are Bitcoin wallets and applications that don’t download and validate the entire Bitcoin blockchain, but instead only download and validate parts of blocks and transactions that concern them specifically. This is not optimally secure, but is much less resource intensive.
One popular way to do this is with Bloom Filters. In short, Bloom Filters are a cryptographic trick to request relevant data from more or less random peer nodes on the network. Unfortunately, however, it has become clear over the years that Bloom Filters are rather privacy-unfriendly: they essentially reveal all of the user’s addresses to the (more or less random) peer node, which could of course be operated by a privacy-invading snoop.
A newer and much more privacy-preserving alternative to the Bloom Filter solution is called “compact client-side block filtering” (BIP 157/158). Compact client-side block filtering essentially turns the Bloom Filter trick on its head. Instead of light wallets creating filters to send to full nodes, full nodes create filters for each block and send these to light clients on request. Light clients then use these filters to figure out if transactions relevant to them may have been included in a block. If so, the light wallet will fetch the whole block and pick any relevant transaction data out of it. (There will be some false positives; blocks that won’t have relevant transaction data in them even though the filter suggested they might.)
Existing Bitcoin Core releases could already create the filters locally, and make them available through a remote procedure call (RPC) for applications running on top of the node (like wallets). Bitcoin Core 0.21.0 now also includes the option to make these filters available over Bitcoin’s peer-to-peer network on request. This makes it possible to now operate standalone light clients that use bloom filters.
Fewer Rebroadcast Attempts
Besides Bloom Filters, snoops can also break the privacy of Bitcoin users through network analysis. If they can figure out from which node a particular transaction originated, that node’s Bitcoin address(es) can be tied to its IP address, which can in turn be associated with a real-world identity.
Until now, when Bitcoin Core nodes broadcasted a transaction to the Bitcoin network, they’d try to re-broadcast the transaction every fifteen minutes, until the transaction was included in a block. This meant that if these Bitcoin Core nodes were connected to a snooping peer, it would be obvious for the snoop that the Bitcoin Core node trying to re-broadcast a certain transaction every 15 minutes was also the node where that transaction originated.
Bitcoin Core 0.21.0 greatly diminishes the frequency with which it tries to re-broadcast transactions: only once every 12 to 36 hours. Having to re-broadcast less frequently makes it much more likely that the transaction has been confirmed since the initial broadcast, so the node is less likely to have to re-broadcast at all.
In future Bitcoin Core releases, this privacy leak will be fixed entirely. A Bitcoin Core node will then only re-broadcast transactions that should have been confirmed based on its own mempool and fee calculations. Furthermore, it will re-broadcast other transactions as well, not just its own.
Tor V3 Support
Due to a recent upgrade to the privacy-preserving Tor protocol, new V3 (version 3) Tor-addresses are longer than the V2 (version 2) addresses that came before them. V2 addresses are still in use, but will be deprecated in about a year from now.
Deprecation of V2 addresses would have posed a problem for Bitcoin Core users who want to use Bitcoin over the privacy network. Bitcoin Core nodes find peers by sharing with each other Tor addresses of known Tor-using Bitcoin nodes. They shared this through the same message they use to share other nodes’ regular IP addresses. While Tor V2 addresses could be “hidden” in the regular IP address format (IPV6), Tor V3 addresses are too long for that; in other words, the current messages are too limited to be compatible with the Tor upgrade.
Bitcoin Core 0.21.0 therefore introduces a new format to share IP/Tor addresses with peers. These messages can be big enough to share the Tor V3 addresses.
Schnorr/Taproot Code and Signet/Regtest Deployment
Schnorr/Taproot is poised to be Bitcoin’s first protocol upgrade since Segregated Witness (SegWit) in August 2017. Having been in development for well over two years, the Schnorr signature algorithm is considered an all-round improvement over Bitcoin’s current ECDSA signature algorithm. In combination with Taproot — a clever trick to hide various conditions to spend coins in a cryptographic hash tree — the upgrade promises to offer more smart contract flexibility in a scalable and privacy-preserving manner.
The Schnorr/Taproot code is now included in Bitcoin Core 0.21.0. Barring unexpected developments, this means it will not be subject to any more change, which for example means that application developers could start designing software around the upgrade. In addition, Schnorr/Taproot is now available on Signet (a newer and more reliable variant of testnet, used by developers to test new Bitcoin software) and potentially also on Regtests (more, local, testnet variants).
Schnorr/Taproot will not, however, be available on Bitcoin’s mainnet just yet. For this, the upgrade will first need to activate, which requires activation logic that isn’t yet included in this Bitcoin Core release. Activation logic is expected to be included in a minor Bitcoin Core release, possibly somewhere in the next months.
On top of the changes above, Bitcoin Core 0.21.0 includes various bug fixes and performance improvements that won’t be as apparent for regular users. The Bitcoin Core wallet will for example switch from using the Berkeley DB to the SQLite database, which is better suited as an application data file and offers several guarantees in regards of compatibility, support and testing. Of interest is also that Bitcoin Core 0.21.0 includes a transaction request overhaul: the new message protocol that Bitcoin nodes use to learn about new transactions is better tested, better specified and easier to maintain and review.
For a more extensive list of upgrades, also see the Bitcoin Core 0.21.0 release notes, or see this blog post by Bitcoin Core contributor Andrew Chow for a more extensive explanation of descriptor wallets (as well as legacy wallets) and SQLite (as well as Berkeley DB).
Thanks to John Newbery for information and feedback.
Polkadot, Ethereum Classic, IOST Price Analysis: 25 February
Polkadot saw a bounce to $36 after touching $28 over the past few days, but it has once again sunk beneath the $34 mark. Ethereum Classic also found some resistance at the $12 mark, and IOST showed rising bearish pressure.
The Supertrend indicator showed a sell signal for DOT after it slipped beneath the descending channel (cyan) and plunged to $28. However, since then it has made a recovery toward $34-but whether this is more of a bounce rather than a recovery is a pertinent question.
At the time of writing, trading volume did not really back the recent price rise, indicating that it was indeed a bounce. The Awesome Oscillator showed bearish momentum, but no real strength over the past few hours.
Key levels to watch out for are $34.5 and $36 above it. A rejection would indicate bearish strength, while a flip to support can be used to enter a long position on a retest.
Ethereum Classic [ETC]
Using the Fibonacci retracement tool for ETC’s drop from $18 to $9, some levels of importance are highlighted. The RSI showed bears were in control of the market over the past couple of days, as the RSI stayed beneath the neutral 50 value.
The Parabolic SAR climbed into overbought territory even as the price slipped beneath the 38.2% retracement level- which was not an encouraging sign for the bulls.
It is likely that ETC would continue to move lower, toward the $10.75 mark once more.
IOST was in a steady short-term decline. It attempted a recovery, on strong trading volume, to $0.059 from the depths of $0.039. However, bears were able to force the price lower once more.
An interesting aspect is a lack of buying strength when IOST began to slip after a rejection at $0.059. This showed that bears were in control. The levels that bulls would try to defend are the $0.044 and $0.039 levels.
A defense of either of these levels over the next couple of days would point toward weakening bearish pressure in the short-term, and another possible recovery back toward $0.059.
Sign Up For Our Newsletter
Inside the blockchain developer’s mind: Koinos approaches testnet
Cointelegraph is following the development of an entirely new blockchain from inception to mainnet and beyond through its series, Inside the Blockchain Developer’s Mind. In Part Four, Andrew Levine of Koinos Group discusses some of the challenges the team has faced since identifying the key issues they intend to solve.
In this post I will summarize the solutions we’ve developed to these problems, which we will be showcasing in the upcoming Koinos testnet planned for the second quarter of 2021.
Since that series Koinos Group has successfully launched a token, KOIN, as a proof of work mineable token on Ethereum. By using proof of work to distribute the initial token supply we were able make the token accessible to early adopters and forgo an ICO.
Assessing the ICO model
ICOs and similar token sale tools, while not without their use cases, have created their own crisis within the space by misaligning incentives before development even begins. The issue is not with the ICO as a tool, but what happens when a team is financially rewarded before they have even shipped a product.
While so many projects have followed in the footsteps of Bitcoin, it’s surprising how few have replicated arguably the most successful aspect of its launch; a token distribution exclusively through proof of work.
The benefit of this approach is that it ensures with algorithmic certainty that the people behind the blockchain have no advantage in acquiring the token. In short, everyone, no matter who they are, has to make a financial sacrifice in order to acquire that token and the scale of that sacrifice is determined by some neutral third party. In the case of proof of work, that neutral third party is the manufacturer of hardware.
For Koinos Group, that means we had to spend money to acquire our token just like everyone else. In fact, because we have to spend most of our time developing the product, we are even at a disadvantage relative to professional miners. So we have to keep working to add value to the protocol if we’d like to get a return on our investment.
Proof of work algorithms are not without their problems, but we mitigated those in a few ways.
- First, the mainnet will be governed by a totally different consensus algorithm that won’t be proof of work or proof of stake, so any attempt to develop an ASIC would be a waste of resources.
- Second, we made the algorithm GPU resistant.
- Third, we released this token long before releasing our mainnet. In fact, we released the token long before we had even completed development of our framework. Without a functional product, this token becomes a way for people who believe in our team and who share our vision for a fee-less smart contract platform to acquire the token at a reasonable cost.
Rapid rate of improvement
Part of what makes this launch strategy work is the innovative property set of Koinos. We built Koinos totally from scratch, not around any single feature like transactions per second or sharding, but with the goal of creating a blockchain that would improve at a much more rapid rate than any other blockchain out there.
In our experience developing the Steem blockchain, the need to execute hard forks was the single biggest factor holding back progress. If we wanted to eliminate that bottleneck, we reasoned, moving as much of the system code as possible into smart contracts that could be upgraded in-band would do the trick.
That’s why the Koinos blockchain framework contains only the most basic blockchain features (called “thunks”) like contract input/input, getting parameters, and writing to the database. All of the more complex features that people are more familiar with (consensus algorithm, accounts, resource management, governance, etc.) have been moved into modular WASM smart contracts running in the virtual machine that can be upgraded without a hard fork.
Because all behaviors are now coded in distinct “modules” that can be individually “upgraded” we call this feature modular upgradeability.
As a result of modular upgradeability, any behavior can be added to the blockchain without a hard fork because individual upgrades can be distributed in blocks and transactions that are pushed to the network much like an operating system patch, but with the added benefit of an on-chain record of the entire upgrade path.
By moving nearly all of the system code of the blockchain to smart contract modules that can be upgraded without a hard fork we have made Koinos into a blockchain that derives its strength not from the features it is born with, but based on its ability to rapidly acquire new and better features faster than anything else out there.
This is why we call Koinos the first blockchain capable of evolution.
Modular upgradeability was just the first major technical innovation that we developed to make Koinos less monolithic and an order of magnitude more upgradeable. Just like there is code that does not need to be implemented natively (in the blockchain itself) but that can be implemented as smart contracts (most of it in fact), there is plenty of code that does not need to be implemented either natively or as smart contracts and can instead be implemented as microservices.
Microservice architectures have many benefits which is why this has become the industry standard for modern software development, but one major benefit is scalability because individual services can be scaled up without having to scale up the entire system. This can dramatically reduce the cost of running a network while improving both the speed and quality of improvements to that network. As a result of historical accidents, blockchain stacks appear to be the last to adopt this new standard as Koinos will be the first blockchain built on a microservice architecture.
This creates amazing new opportunities for developers who will be able to build application specific microservices for Koinos that will help them run their nodes, and their applications, more efficiently; and as a consequence deliver better user experiences. Best of all, this will make Koinos node operation more accessible, thereby improving decentralization, and enabling the network as a whole to run more efficiently so that developers and their end-users can get more out of their decentralized applications.
Another benefit of a microservice architecture is that individual microservices (basically small programs) can be written in the best (fastest, most secure, best libraries, etc.) programming language for the job, a capability we also wanted to offer for smart contract developers. But in order to take advantage of this trait we needed to develop a way for these small programs written in different languages to “talk” to one another in a way that conformed to the unique needs of a decentralized network. To solve this problem we created a cross-language serialization framework named Koinos Types.
Koinos Types is like the Rosetta Stone for blockchain data structures. It allows programs written in different languages to talk to one another in a simple and unified way by giving them access to the same objects (the “building blocks” of modern programming languages). Koinos Types allows for the interpretation of Koinos (i.e. blockchain) data structures in practically any programming language which will be extremely useful for the development of blockchain-related microservices, clients, and smart contracts.
Koinos Types solves a number of problems. It helps us add multi-language support to Koinos more generally (including for smart contracts), it enables microservices to communicate with one another, and it makes it far easier to develop and update client-libraries. While modular upgradeability and the microservices architecture alone make Koinos far more upgradeable than any other blockchain, Koinos Types takes that upgradeability to another level. That’s why we were so excited to make Koinos Types the first piece of Koinos that we open sourced.
As you can see, ensuring that Koinos can improve at a more rapid rate than any other blockchain isn’t about any one feature.
- It’s about getting the incentives right from the beginning.
- It’s about ensuring that the blockchain has modular upgradeability.
- It’s about modularizing the very architecture itself as microservices.
- And it’s about making sure that developers operating at every level of the stack (not just smart contracts) are able to use the programming languages they already know and love.
The views and opinions expressed here are solely those of the author and do not necessarily reflect the views of Cointelegraph.com. Every investment and trading move involves risk, you should conduct your own research when making a decision.
Andrew Levine is the CEO of Koinos Group, where he and the former development team behind the Steem blockchain build blockchain-based solutions that empower people to take ownership and control over their digital selves. Their foundational product is Koinos, a high-performance blockchain built on an entirely new framework architected to give developers the features they need in order to deliver the user experiences necessary to spread blockchain adoption to the masses.
Chainlink launches Off-Chain Reporting to boost scalability
Chainlink and its oracles have carved a niche in the decentralized finance [DeFi] space. With the interest it has generated among users, Chainlink has now announced that Off-chain data aggregation is now coming to its network. According to the official announcement from Chainlink, the launch of Off-Chain Reporting [OCR] marked a major milestone in the scalability of Chainlink’s decentralized oracle networks.
“OCR significantly improves the efficiency of how data is computed across Chainlink oracles, reducing operating costs by up to 90% and enabling the Chainlink Network to accelerate the development of universally connected smart contracts both in DeFi markets and across various other industries.”
With the popularity Chainlink oracles have gained within the decentralized community many will be pleased to see this feature go live. DeFi and its users are the immediate beneficiaries of OCR as it would increase the amount of real-world data 10x and can be made available for smart contract applications.
OCR is the latest version of the Chainlink Core client run by Chainlink nodes and would require all Chainlink nodes to operate OCR. It has already been deployed for the ETH/USD and LINK/USD price feeds.
According to the team, each node signs off on its data source before committing the info to the on-chain contract which is later forwarded to subscribing applications like DeFi apps. It will also help in reducing the provider’s gas usage per average transactions on the Ethereum network. Ethereum’s gas fees have already hit an all-time high and network congestion has been an issue.
These issues on the ETH network escalated as the DeFi market witnessed a boom in 2020, thus we may witness another wave of DeFi apps adoption triggered by low fees.
While helping network congestion and gas fees, the new update will also ensure data is provided rapidly to smart contracts even at times of high volatility and increased clogging on the Ethereum network.
Meanwhile, the native token of Chainlink, LINK witnessed a strong correction over the past week. The digital asset hit a peak close to $37, after which it dropped by 46% in three days to $20. The digital asset has made a small recovery since and was trading at $28.31, with the market looking bullish, at the time of writing.
Sign Up For Our Newsletter
Ankr adds Eth2 futures (fETH) to its staking system
Ripple now registered as a Wyoming business
Elon Musk Explains to Peter Schiff What Money Is
Former BoE, BoC Governor Mark Carney joins Stripe board of directors
Litecoin, Cosmos, Tezos Price Analysis: 21 February
Peter Schiff Now Discusses Bitcoin More Often Than His Beloved Gold
A Review of BTCGOSU — Reviewer of Crypto Casinos
Kraken Daily Market Report for February 21 2021
DeFi Protocol Primitive Finance Self Hacks to Prevent Exploit
The Many Theories Of Elon Musk Being Satoshi Nakamoto
Long Blockchain Corp has officially been delisted by SEC
NFT Platform Ethernity to Launch IDO on Polkastarter
Is Ethereum heading to another ATH?
3 key factors that propelled Ethereum to $2,000 for the first time ever
Banks will be required to work with crypto, e-money and CBDCs to survive
Bitcoin falls to $45K in sequel to 20% BTC price crash
Kraken Daily Market Report for February 20 2021
MoneyGram suspends Ripple partnership, citing SEC lawsuit
Today 11:40 am EST: First Bitcoin Elite NFT Art Drop
Kraken users demand refunds over flash-crash liquidations
Blockchain1 week ago
Motley Fool adding $5M in Bitcoin to its ‘10X portfolio’ — Has a $500K price target
Blockchain3 days ago
Ankr adds Eth2 futures (fETH) to its staking system
Blockchain7 days ago
The Graph adds support for Polkadot, NEAR, Solana and Celo
Blockchain1 week ago
Blockchain7 days ago
Nvidia Announced the CMP HX Dedicated GPUs for Professional Crypto Mining
Blockchain1 week ago
Bitcoin mining firm Blockcap buys additional 10,000 ASIC miners
Blockchain1 week ago
Bitcoin surges past $52,000!
Blockchain5 days ago
Are Bitcoin’s long-term hodlers entering the seller’s market?