Connect with us

Blockchain

Announcing the new MultiChain wallet

An important step forwards for performance and scalability After two months of intensive development and testing, we’re proud to release the latest alpha of MultiChain, with a completely rewritten in-node wallet. This new wallet transforms the performance and scalability of creating, receiving and storing transactions in MultiChain. Before we get into the details, let me… Read more »

Republished by Plato

Published

on

An important step forwards for performance and scalability

After two months of intensive development and testing, we’re proud to release the latest alpha of MultiChain, with a completely rewritten in-node wallet. This new wallet transforms the performance and scalability of creating, receiving and storing transactions in MultiChain.

Before we get into the details, let me provide some context. When we began developing MultiChain, we made the decision to use Bitcoin Core, the standard node for the public bitcoin network, as a starting point. In programming terms, this means that MultiChain is a “fork” of the bitcoin software. Our primary reasoning was that bitcoin was (and continues to be) the highest valued and most battle-tested cryptocurrency ecosystem, by quite some way.

On the plus side, this decision helped us get to market quickly, compared to coding up a blockchain node from scratch. Despite the many differences between public and private blockchains, they share a large amount of technical common ground, including the peer-to-peer protocol, transaction and block structure, digital signature creation and verification, consensus rules, key management, and the need for a node API. Forking from Bitcoin Core allowed us to leverage its maturity and focus on what MultiChain adds to blockchains – configurability, permissioning and native asset support. As a result, we were able to release the first alpha in June 2015, just 6 months after starting development.

However, alongside these benefits, we also had to accept the fact that some aspects of Bitcoin Core are poorly architected. While they work just fine at small scales, their performance degrades dramatically as usage grows. With the public bitcoin network still restricted to a few transactions per second, this won’t be an issue for most Bitcoin Core users for a long time. But with private blockchains aiming for hundreds or thousands of transactions per second, we knew that, sooner or later, these bottlenecks would need to be removed.

Bitcoin Core’s wallet

The “wallet” within Bitcoin Core was always the most crucial of these pain points. Its job is to store the transactions which are of particular relevance to the node, because they involve a blockchain address which it owns or a “watch-only” address whose activity it is tracking. For example, every transaction which sends funds to or from a node must be stored in that node’s wallet. And every time a node creates a transaction, it must search for one or more “unspent outputs” of previous wallet transactions which the new transaction will spend.

So what’s wrong with the wallet we inherited from Bitcoin Core? Actually, three things:

  • All wallet transactions are held in memory. This causes slow startup times and rapidly increasing memory usage.
  • Many operations perform an inefficient “full scan” of every transaction in the wallet, whether old or new.
  • Every transaction in the wallet is stored in full, including any arbitrary “metadata” which has no meaning from the node’s perspective and is already stored in the blockchain on disk. This is very wasteful.

The consequence is that, with around 20,000 transactions stored, Bitcoin Core’s wallet slows down significantly. After 200,000 or so, it practically grinds to a halt. Even worse, since a MultiChain blockchain allows up to 8 MB of metadata per transaction (compared to bitcoin’s 80 bytes), the wallet’s memory requirements can balloon rapidly even with a small number of transactions.

It’s important to clarify that these shortcomings apply only to Bitcoin Core’s wallet, rather than its general transaction processing capacity. In other words, it can comfortably process and store millions (or even billions) of transactions which don’t relate to its own addresses, since these are held on disk rather than in memory. For example, many popular bitcoin exchanges and wallets use Bitcoin Core as-is, but store their own transactions externally rather than inside the node.

MultiChain’s new wallet

We could have made the same demand of MultiChain users, to store their own transactions outside of the node. However this didn’t feel like the right solution because it would greatly complicate the setup and maintenance for each of a chain’s participants. So instead, we bit the bullet and rewrote the wallet from the ground up.

How does the new wallet differ? If you have any experience with databases, the answers may be obvious:

  • Rather than keeping the wallet transactions in memory, they are stored on disk in a suitable format, with transactions of interest retrieved when necessary.
  • Instead of performing full wallet scans, the transactions are “indexed” in various ways to enable those which fulfill particular criteria to be rapidly located.
  • Any piece of transaction metadata which is larger than 256 bytes is not stored in the wallet. Instead, the wallet contains a pointer to that metadata’s position in the blockchain itself.

In other words, we’ve rebuilt the in-node wallet to be properly database-driven (using LevelDB), rather than relying on a naïve in-memory structure that can’t be searched efficiently. Unsurprisingly, the difference (as measured on a 3.4 GHz Intel Core i7) is rather dramatic:

MultiChain wallet transaction throughput

Memory Usage

The graphs show that, once the old wallet contains 250,000 transactions, its send rate drops to 3 tx/sec and it adds 600 MB to the node’s memory usage. By contrast, the new wallet sustains over 100 tx/sec and only adds 90 MB. We stopped testing the old wallet at this point, but even with 6-8 million stored transactions, the new wallet continues to send over 100 tx/sec, and it tops out at around 250 MB of RAM used (due to database caching).

These tests were performed under realistic conditions, with multiple addresses and assets (and therefore many unspent transaction outputs) in the node’s wallet. In an idealized scenario (one address, one asset, few UTXOs), the sustained send rate was over 400 tx/s. Either way, as part of this rewrite, we have also properly abstracted all of the wallet’s functionality behind a clean internal interface. This will make it easy to support other database engines in future, for even greater robustness and speed.

To reiterate, all of these numbers refer to the rate at which a node can create, send and store transactions in its local wallet, rather than its throughput in terms of processing transactions created by others. For general network throughput, MultiChain can currently process 200 to 800 tx/sec, depending on the hardware it’s running on. (Be skeptical of any blockchain software promising numbers like 100,000 tx/sec on regular hardware, because the bottleneck is digital signature verification, which takes real time to perform. If nodes are not verifying individual transaction signatures, a blockchain cannot possibly be used across trust boundaries, making it no better than a regular distributed database.)

To finish, I’d like to mention the next major feature coming to MultiChain, which required this wallet rewrite. This feature, called streams, provides a high-level abstraction and API for general purpose data storage on a blockchain. You can think of a stream as a time-series or key-value database, with the added blockchain-related benefits of decentralization, digital signatures, timestamping and immutability. We know of many blockchain use cases that could use this functionality, and we’re already hard at work on building it. Watch this space.

 

Please post any comments on LinkedIn.

 

Technical addendum

Starting in MultiChain alpha 22, you can verify which version of the wallet is currently running by examining the walletdbversion field of the getinfo or getwalletinfo API calls. A value of 1 means the original Bitcoin Core wallet, and 2 means the new MultiChain wallet.

If you run the new version of MultiChain on an existing chain, it will not immediately switch to the new wallet. You can upgrade the wallet by stopping the node and then re-running multichaind with the parameters -walletdbversion=2 –rescan. You can downgrade similarly using –walletdbversion=1 –rescan.

By default, when you start a node on a new chain, it will automatically use the new wallet. You can change this by running multichaind for the first time with the parameter –walletdbversion=1.

With the new wallet, all MultiChain APIs work exactly the same way as before, with the exception of the old transaction querying APIs getreceivedbyaddress, listreceivedbyaddress and listtransactions (use listwallettransactions or listaddresstransactions instead). In addition, the new wallet does not support API calls and parameters relating to Bitcoin Core’s poorly implemented and soon-to-be-deprecated “accounts” mechanism, which was never properly supported by MultiChain. These calls are safely disabled with an error message.

 

Source: https://www.multichain.com/blog/2016/07/announcing-the-new-multichain-wallet/

Blockchain

Ethereum EIP-1559 Targeting Gas Fee Challenges to be Implemented in July

Republished by Plato

Published

on

The contentious Ethereum Improvement Proposal (EIP) 1559, will be included in its codebase in July this year. This became clear during the All Core Developers call today.

EIP 1559: What Does it Mean for Fees?

Ethereum’s Improvement Proposal 1559 is aimed at improving the overall Ethereum’s user experience when it comes to transaction fees.

Typically, a user would have to send a gas fee to a miner for their transaction to be included in a block. What EIP-1559 proposes, however, is to send that gas fee to the network itself. Called basefee, this is a sort of a “burn” and there would only be an optional tip that’s paid to the miners. The burnt fee would be set algorithmically, supposedly improving the UX.

The proposal was originally submitted by Eric Conner and its summary provides an overall outlook at what it attempts to achieve:

A transaction pricing mechanism that includes fixed-per-block network fee that is burned and dynamically expands/contracts block sizes to deal with transient congestion.

During today’s All Core Developers call, it was decided that it will be included in the so-called London hard fork coming this July.

ADVERTISEMENT

Some Miners Disagree

Despite the potential improvements on the entire network that could come with EIP-1559, some of the largest Ethereum mining pools have openly displayed division on where they stand.

F2Pool, the third-largest ETH mining pool with over 10% hashrate share, shared a post, in which it supported the initiative, claiming that it would ultimately have a positive impact.

The publication says that “the general community along with core developers are siding with evolving Ethereum to include EIP-1559. It is important to side with the users and core contributors.”

F2Pool’s statement also argued that the potential EIP-1559 implementation could be factored in ETH’s price, which is more than 100% from the start of the year.

In contrast, though, the largest mining pool with nearly 25% share of the hashrate, Sparkpool, didn’t feel the same way about the integration as it could reduce the profits. They took it to Twitter to emphatically assert that the mining pool “opposes EIP-1559.”

SPECIAL OFFER (Sponsored)
Binance Futures 50 USDT FREE Voucher: Use this link to register & get 10% off fees and 50 USDT when trading 500 USDT (limited offer).

PrimeXBT Special Offer: Use this link to register & enter CRYPTOPOTATO35 code to get 35% free bonus on any deposit up to 1 BTC.

You Might Also Like:


Checkout PrimeXBT
Trade with the Official CFD Partners of AC Milan
The Easiest Way to Way To Trade Crypto.
Check out Nord
Make your Money Grow with Mintos
Source: https://cryptopotato.com/ethereum-eip-1559-targeting-gas-fee-challenges-to-be-implemented-in-july/

Continue Reading

Blockchain

Uniswap, Crypto.com Coin, Compound Price Analysis: 07 March

Republished by Plato

Published

on

Uniswap broke out past the $29.3 level of resistance, while Crypto.com Coin was in a phase of consolidation. Compound bounced off the $450 level of support to touch $500 but could see a pullback to $470.

Uniswap [UNI]

Uniswap, Crypto.com Coin, Compound Price Analysis: 07 March

Source: UNI/USDT on TradingView

UNI broke out and went past the $29 area of resistance, where the 23.6% retracement level and the $27.3 level of resistance lay. The upward move had extraordinary volume as UNI touched $31.54 but some selling pressure was seen in the subsequent trading session.

The Doji candle represented short-term exhaustion from the bulls, and the breakout could see UNI pullback to test the $29.3 level to confirm its flip from resistance to support.

The MACD showed strong bullish momentum behind UNI. Bearish divergence on the hourly chart between momentum (MACD) and the price could be seen in the coming hours, which would likely see UNI pullback to $29.4. This can be used to enter long positions, with a stop-loss just at $28.7.

Crypto.com Coin [CRO]

Uniswap, Crypto.com Coin, Compound Price Analysis: 07 March

Source: CRO/USDT on TradingView

The Bollinger bands showed that CRO was in a phase of consolidation at and around its 38.2% retracement level at $0.152. The RSI moved back above neutral 50 to indicate that momentum was swaying towards the bulls’ side.

The defense of the 50% retracement level at $0.127 and the immediate bounce-off was a show of strength from bulls – the $0.146-$0.152 region can be used to accumulate CRO in expectation of another move upwards. The $0.173 and $0.189 levels are levels of resistance to watch.

Compound [COMP]

Uniswap, Crypto.com Coin, Compound Price Analysis: 07 March

Source: COMP/USDT on TradingView

Compound saw a strong bounce-off at the $450 mark which represents a 23.6% retracement for COMP’s move from $205 to $573. At the time of writing, COMP faced some resistance at the $500 area.

Moreover, the Awesome Oscillator on the hourly chart displayed a bearish twin peak set up and gave a sell signal. This development, followed by the AO registering bearish bars on its histogram, is likely to see the price dip to $470. Bulls would need to show some strength at $470, or bears can drive the prices lower to $450 once more.


Sign Up For Our Newsletter


Checkout PrimeXBT
Trade with the Official CFD Partners of AC Milan
The Easiest Way to Way To Trade Crypto.
Check out Nord
Make your Money Grow with Mintos
Source: https://ambcrypto.com/uniswap-crypto-com-coin-compound-price-analysis-07-march

Continue Reading

Blockchain

Pakistan: Arrests made in Bitcoin extortion case

Republished by Plato

Published

on

The world of finance has never been able to protect itself from the fraudulent activities going around in the world. The cryptocurrency market, which itself is a growing space has also had its fair share of such fraudulent activity being associated with it. However, unlike traditional finance, regulators have been enforced stringent measures when it comes to tackling such offenses.

A recent case has been reported in Pakistan, where the police have arrested several people part of the country’s first extortion case via crypto. According to reports, the police arrested the owner of an outhouse where the complainants, two foreign nationals, were held hostage along with two other suspects.

One of the suspects was identified as Rana Irfan Mahmood and a case has been registered against him and an unidentified accomplice. The hostages were Swiss national Maria Spari and German citizen Stephen [last name remains unknown] who were kidnapped by three men in police uniform along with another person.

After threatening the hostages with a fake drug smuggling case, the victims paid 6,300 euros in cash and made an online transfer of 1.8 Bitcoin which was close to $9k. The suspects made a fake video demanding an additional Rs 300 million [$1.91 million].

According to SSP Investigation Abdul Ghaffar Qaisrani, the police have managed to recover the amount paid to the facilitator apart from the Bitcoin. The crypto has already been transferred to another account and the team was taking assistance from the intelligence agencies to recover it.

Although the regulators in Pakistan have been taking note of Bitcoin and crypto, illicit activities have been a growing concern in the region. In November 2020, the Central bank clarified that it was not banning crypto, contrary to the prevailing fear within many in the crypto-community.

In fact, Pakistan’s Securities and Exchange Commission [SEC] published a paper on the regulation of cryptocurrency trading platforms. This paper outlined the regulatory approach to crypto and included recommendations given by the Financial Action Task Force [FATF], as well as regulations presented by Malaysia, Hong Kong, and the U.S.

However, the police in the country have warned users and the government about the rising cases of ransom and extortion related to crypto. Bitcoin has been at the center of these cases and such fraud activities will only instill fear with the lack of regulation among crypto users in the region.


Sign Up For Our Newsletter


Checkout PrimeXBT
Trade with the Official CFD Partners of AC Milan
The Easiest Way to Way To Trade Crypto.
Check out Nord
Make your Money Grow with Mintos
Source: https://ambcrypto.com/pakistan-arrests-made-in-bitcoin-extortion-case

Continue Reading
Blockchain4 days ago

Amplifying Her Voice

Blockchain4 days ago

Bitcoin Halving: Definitive Guide (In Just 5 Minutes)

Blockchain2 days ago

How to Protect Yourself from the Cryptojacking Threat

Blockchain4 days ago

Blockchain in Sports Betting

Blockchain4 days ago

Libra Coin – A New Digital Currency Developed by FACEBOOK

Blockchain4 days ago

Will Netflix soon buy bitcoin?

Blockchain4 days ago

DeFi token CRV spikes after reports PayPal acquired unrelated custody firm Curv

Blockchain3 days ago

BitGo To Introduce Crypto Custodial Services To New York Clients

Blockchain2 days ago

Experts divided on BTC predictions: Bullish or super bullish?

Blockchain5 days ago

DEX aggregator 1inch integrates Bitquery’s API-powered crypto trading data

Blockchain2 days ago

Bitcoin “Cheat Sheet” Calls For Next Leg Up To $77K

Blockchain2 days ago

Mark Cuban’s Dallas Mavericks to Accept Dogecoin Payments

Blockchain2 days ago

Analyst tells Tesla to dump Bitcoin for buybacks as shares plunge alongside MSTR’s

Blockchain2 days ago

Ethereum gas fees drop as daily DEX and DeFi volumes decline

Blockchain2 days ago

Thailand’s largest movie theater chain accepts Bitcoin

Blockchain4 days ago

3 key Ethereum price metrics show pro traders are aiming for $2K ETH

Blockchain2 days ago

TA: Bitcoin Price Back Below 100 SMA, Why BTC Could Retest $45K

Blockchain2 days ago

Decentralized Companies Are the New Norm and It’s the DAO Revolution That’s Making It Possible

Blockchain4 days ago

The Hard Sell

Blockchain3 days ago

XRP Price Analysis: 04 March

Trending