Where we are today and where we’re going tomorrow
Today we’re delighted to release the second beta of MultiChain 1.0 for Linux, Windows and Mac (for now the Mac version requires compilation). This concludes the planned development of MultiChain 1.0 – with the exception of any bug fixes, the final release of MultiChain 1.0 over the summer will be unchanged.
This month also marks two years since the first alpha release of MultiChain in June 2015. As with any new product, we weren’t sure how the market would react, and knew there was only one way to find out – release a minimum viable product, meaning an initial version which provides significant value but is preliminary by design. Thankfully, unlike our first product CoinSpark, MultiChain received a strong and immediate positive response. This was accompanied by a tsunami of sensible feature requests, many of which we’ve now implemented. In parallel to the product’s development, usage has also grown remarkably by every measure. For example, the MultiChain website received under 3,000 visitors in July 2015, and now brings in ten times that number monthly.
Over the past two years we’ve invested a lot of effort in optimizing MultiChain, which was forked from Bitcoin Core, the reference implementation for the public bitcoin network. Below is a comparison of transaction throughput for a single-node setup using five versions of the product:
|Total transactions||1.0 alpha 3||1.0 alpha 21||1.0 alpha 22||1.0 beta 1||1.0 beta 2|
Average transactions per second, including API overhead and building, signing, mining and verifying transactions and blocks.
Tests performed using the
ab HTTP server benchmarking tool sending two concurrent requests to the
sendtoaddress API.Server specifications: Intel Core i7-4770, 4 cores @ 3.4 MHz, 32 GB RAM, Seagate 2 TB 7200 RPM SATA, CentOS 6.4.
Naturally, the biggest jump came in alpha 22 when we transitioned to a database-driven wallet. But since that release, we’ve almost doubled MultiChain’s speed again. We hope we’ve demonstrated that bitcoin’s limit of 4 transactions per second is due to its particular network parameters, and has no relation to blockchains in general.
Of course, performance optimization is a never-ending task, and there’s no reason why MultiChain can’t reach 10,000 tx/sec on a 16-core processor with the appropriate architectural changes. However, based on conversations with our users and partners, it seems that few expect to need more than 1,000 tx/sec for the next few years. So we’re refocusing our development efforts on new features, which brings us nicely onto the subject of MultiChain 2.0.
MultiChain 2.0 overview
Version 2.0 of MultiChain will be the first to come in two editions – Community (open source) and Enterprise (commercial). I’m going to focus here on the free Community edition, since we’re only discussing the details of MultiChain Enterprise with our partners. In any event, the Community and Enterprise editions will be highly compatible, in that: (a) applications built on the Community edition will run without modification on MultiChain Enterprise, and (b) both editions will be able to connect and transact with each other on the same chain.
The three key areas of enhanced functionality in both editions of MultiChain 2.0 will be:
- Richer data model for streams, including JSON documents.
- Custom programmable transaction filters for on-chain validation.
- Seamless updating of a blockchain’s protocol and parameters.
Let’s turn to discuss each of these in detail.
Richer data model for streams
MultiChain streams were introduced in September 2016 and have proven extremely popular. As described in this post, streams provide a simple and natural abstraction for general purpose data storage, indexing and retrieval on a blockchain. A MultiChain blockchain can contain any number of named streams, each of which can either be open to all for writing, or writable only from certain addresses.
In MultiChain 1.0, each stream item has one or more publishers (who sign it), an optional key, a binary data payload up to 64 MB in size, and a timestamp (derived from the block in which it’s embedded). Each node can freely decide which streams to subscribe to, or can subscribe to all streams automatically. If a node is subscribed to a stream, it indexes that stream’s content in real time, allowing efficient retrieval by publisher, key, block, timestamp or position.
MultiChain 2.0 will enrich this streams functionality in a number of ways:
- JSON items. As well as binary data, stream items will support structured JSON objects, stored on the blockchain in an efficient serialization format such as UBJSON. Since the MultiChain API already uses JSON throughout, these JSON objects will be writable and readable in a natural and obvious way.
- Multiple keys. Stream items will support multiple keys, enabling a single piece of data to be indexed in multiple ways for retrieval using
liststreamkeyitems. We’re constantly evaluating how much database functionality to include within MultiChain, and don’t expect to support indexing of the sub-elements within JSON stream items in version 2.0. Allowing multiple keys per stream item provides a reasonable workaround.
- Atomic writes of multiple items. MultiChain 1.0 allows a single transaction to write to multiple streams, but not to write multiple items to the same stream. MultiChain 2.0 will remove this restriction.
- JSON merging. Any ordered list of JSON objects can be naturally flattened or summarized to create a “merged” object. The merged object contains all the keys which appear in the individual objects, where the value corresponding to each key is taken from the last object in which that key appears. If you like, the merged object is the final state of a database row, whose columns are defined by the first object and extended or updated by later objects. MultiChain 2.0 will add APIs to easily and rapidly retrieve the merged object for the JSON items in a stream with a particular key or publisher.
These features are derived from common ways in which developers are currently using streams. In other words, we’re observing what many people are building on top of MultiChain at the application level, and bringing that functionality into MultiChain itself – a pattern that we intend to continue applying. Now that stream items will include type information, they can easily be extended in future to support other data formats such as XML, HDF5 and MIME-identified content. Not to mention the possibilities of transparent on-chain compression and encryption.
MultiChain 2.0 will also support JSON objects for raw transaction metadata (i.e. not stream items) as well as the metadata for asset issuance and stream creation events, instead of the text-only key/value pairs implemented in MultiChain 1.0. The
listassets API will offer JSON merging across all of an asset’s issuance events, so that each issuance’s metadata can effectively update the asset’s final description.
Custom transaction filters
We’ve thought a lot about how to add custom programmable rules to MultiChain. While Ethereum’s “smart contract” paradigm is popular, it has a number of key shortcomings for high-throughput permissioned blockchains. First, smart contracts introduce a global dependency across the blockchain’s entire state, which drastically impairs concurrency and performance. Second, smart contracts cannot stop incorrect transactions from being embedded in a blockchain, but only prevent those transactions from updating the blockchain database’s state. While in the long term we expect an Ethereum-compatible virtual machine to be offered as a high-level abstraction within MultiChain, we don’t think it’s the right solution for low-level validation.
Filters will be passed a JSON object describing an individual transaction, structured like the output of
decoderawtransaction but with extra fields. For example, each transaction input in the JSON will include a structure describing the previous transaction output it spends, and each address will be accompanied by a list of permissions currently held by that address. A filter’s job is to return a Boolean value indicating whether the transaction is acceptable and if not, provide a textual error explaining why. MultiChain’s API will include commands for creating filters, testing them on previous or new transactions, and activating them subject to administrator consensus.
Unlike smart contracts, if a bug is discovered in the code for a filter, it can easily be replaced by a new version. Nonetheless, like all Turing-complete code, filters still run the risk of entering an infinite loop. This problem will be mitigated in two ways:
- Filters can only be installed and activated by the chain’s administrators, subject to consensus. This gives each administrator the opportunity to examine a filter’s code in depth before voting for it to be activated.
- All well-behaved nodes will validate new transactions using the active filters before forwarding them on to their peer nodes. As a result, if a transaction sends a filter into an infinite loop, the transaction should not propagate beyond the node which created it.
We expect one popular application for filters to be validating stream items. For example, a filter could ensure that certain fields in a stream’s JSON items contain numbers in a specific range. In MultiChain 1.0 this type of validation has to be done at the application level, either when writing stream items (if the source is trusted) or when reading them. By contrast, MultiChain 2.0 will enable these rules to be embedded within the blockchain itself, rather like check constraints in a relational database.
MultiChain 2.0 will include two additional features to make filters even more powerful. First, it will introduce user-defined permissions, which exist alongside the eight permissions defined by MultiChain. As with regular permissions, these will be granted to specific addresses by administrators (and in some cases, by users with
activate privileges) and included alongside addresses in the JSON object passed to a filter. For example, a filter could ensure that only addresses with a particular user-defined permission can write certain types of data to a stream, or transact in a particular asset above a certain threshold.
Second, MultiChain 2.0 will support custom (binary or JSON) metadata within regular transaction outputs. This will enable any output to act as a general database row, “owned” by the address within. Filters will see any metadata within a transaction’s spent and created outputs as part of its JSON description. As a result, MultiChain will become a universal shared database engine, where a transaction’s validity is determined by a customizable function of the rows it creates and deletes. (If this sounds a little abstract, we’ll be sure to provide some concrete examples.)
Since blockchains are designed to run for many years, their characteristics might need to be changed over time. The current version of MultiChain already provides a fair degree of flexibility, allowing permissions changes (including of administrators and miners by consensus), new assets and streams to be created, and nodes to be seamlessly added or removed from the network. Nonetheless, in MultiChain 1.0 a blockchain’s basic parameters, such as the maximum block size and target confirmation time, are fixed when the chain is created and cannot be subsequently changed.
MultiChain 2.0 will add the ability to update a blockchain, allowing many (but not all) of its parameters to be modified while the chain continues to run. Like other important operations, updating a blockchain will require a customizable level of administrator consensus, where this level itself is a parameter that can be changed. Updates will come into effect from a certain block, and apply thereafter to every subsequent block until the next update.
Blockchain parameters that can be updated will include:
- Protocol version. This will enable a blockchain created with one version of MultiChain to be upgraded to support the features in a new version, such as JSON stream items or transaction filters. Indeed, the protocol version
10008introduced in MultiChain 1.0 alpha 29 (and used in the beta) has already been future-proofed with undocumented support for this type of upgrade. Once a MultiChain 1.0 blockchain is upgraded to the 2.0 protocol, it will also gain access to the other parameter changes described here.
- Blockchain scaling. Blockchains that become popular may outgrow the initial values set for their target confirmation time or maximum transaction and block sizes. MultiChain 2.0 will allow these values to be increased or decreased as necessary.
- Permissioning model. MultiChain 2.0 will allow the updating of many parameters relating to permissioning and governance, including: (a)
anyone-can-*parameters that control the ways in which a blockchain is open or closed, (b)
admin-consensus-*parameters that determine the levels of administrator consensus required for certain operations, and (c) the
mining-diversityparameter that controls the strictness of the round-robin consensus algorithm.
Once this updating functionality is implemented, there should be no reason why a blockchain created in MultiChain cannot run for many decades or more.
We’ve already started work on MultiChain 2.0, and look forwards to delivering on this roadmap. No doubt other enhancements will be included as well. As with MultiChain 1.0, we’ll have alpha releases along the way, so that developers can use and learn new features as they are implemented (and of course, report any problems or shortcomings). Naturally, we’ll continue to maintain version 1.0 throughout this period, fixing any bugs that appear.
I’d like to finish by thanking our development team, led by Dr Michael Rozantsev, for their continued excellence and hard work. We see MultiChain as a straightforwards software engineering project, in which code quality and testing counts above all. It’s my privilege to work with people who can turn a complex product vision into stable working software with such remarkable efficiency and speed.
Please post any comments on LinkedIn.
Solana, Polkadot, Algorand: What is the Bitcoin effect on these altcoins
With the market trading in red today pretty much all coins including Bitcoin and Ethereum are falling. However, there are some coins that made excellent gains in the last 2 months which are now facing huge price falls as well.
Which alts though?
Solana, Polkadot, and Algorand were three altcoins that successfully rallied between July and August. Polkadot rose from $12.34 all the way to $34.45 registering a 214.33% growth. Similar gains were observed for Algorand as the coin breached $2 and marked a 230.26% rise.
The most gains were seen by Solana holders though mainly because the altcoin shot up 713.94%. An increase this high was the result of the NFT hype which took it up from $26.68 to $191.07
In fact, Solana and Algorand even registered new all-time highs during this time period. But each of these coins is now observing significant price falls as well.
In the last 24 hours ALGO fell by 15.26%, DOT came down by 14.37% and SOL lost 16.8% of its price as of press time.
A huge reason behind this fall is also their exhausted momentum since even after the September 7 fall, DOT and ALGO witnessed another price rise before they finally hit a slowdown.
Owing to this investors are possibly getting rid of their holdings in both spot and derivatives markets. Sell volumes at the time of this report have increased and liquidations rose to millions for all 3 altcoins. Since SOL gained the most, it lost the most as well and its liquidations touched $25 million.
Can Bitcoin save them?
Well since Bitcoin’s price movement commands the market’s movement it is obvious that BTC needs to reduce losses first. But more importantly, these assets’ correlation to Bitcoin will determine how much they will be affected by BTC. Right now Algorand is at the lowest at 0.57, followed by Solana at 0.7, and at the highest is Polkadot (0.88)
However, surprisingly, investors are most positive about Algorand of all three hoping for a recovery soon.
Once Bitcoin and Ethereum change their movement, other coins would follow suit. And that’s when some recovery can be expected.
Where to Invest?
Subscribe to our newsletter
PlatoAi. Web3 Reimagined. Data Intelligence Amplified.
Kraken Daily Market Report for September 19 2021
- Total spot trading volume at $598.4 million, the 30-day average is $1.36 billion.
- Total futures notional at $223.4 million.
- The most traded coins were, respectively, Bitcoin (-2.2%), Ethereum (-3.1%), Tether (0%), Solana (-9.9%), and Cosmos (+8.8%).
- Cosmos continues its hot streak, up 8.8%. Also strong returns from OMG (+10%).
|September 19, 2021
$598.4M traded across all markets today
Crypto, EUR, USD, JPY, CAD, GBP, CHF, AUD
#####################. Trading Volume by Asset. ##########################################
Trading Volume by Asset
The figures below break down the trading volume of the largest, mid-size, and smallest assets. Cryptos are in purple, fiats are in blue. For each asset, the chart contains the daily trading volume in USD, and the percentage of the total trading volume. The percentages for fiats and cryptos are treated separately, so that they both add up to 100%.
Figure 1: Largest trading assets: trading volume (measured in USD) and its percentage of the total trading volume (September 20 2021)
Figure 2: Mid-size trading assets: (measured in USD) (September 20 2021)
###########. Daily Returns. #################################################
Daily Returns %
Figure 3: Returns over USD and XBT. Relative volume and return size is indicated by the size of the font. (September 20 2021)
###########. Disclaimer #################################################
The values generated in this report are from public market data distributed from Kraken WebSockets api. The total volumes and returns are calculated over the reporting day using UTC time.
PlatoAi. Web3 Reimagined. Data Intelligence Amplified.
Taker Protocol Raises $3M to Transform NFT Liquidity and Utilization
New York, United States, 20th September, 2021,
Taker Protocol, a crypto liquidity protocol for NFTs, has raised $3 million from a number of reputable investors to build new financial primitives into the burgeoning NFT market.
Taker Protocol focuses on improving the liquidity available in the NFT market. Due to the unique non-fungible structure of NFTs, existing DeFi primitives are difficult to integrate into the market, resulting in significant issues in terms of overall liquidity. The value of an NFT is extremely volatile and often effectively becomes zero as no buyers can be found at any reasonable price. Furthermore, NFTs are difficult to use productively after purchase and often end up forgotten in the user’s wallet.
Taker Protocol aims to solve the worst of the liquidity issues. Allowing lenders and borrowers to liquidate and rent assets that aren’t cryptocurrencies creates new liquidity streams and opportunities. For Taker, these assets will include NFTs, financial papers, synthetic assets, and much more.
The TKR token defines membership in the Taker DAO, which has several key functions in the system. In addition to setting loan-to-value rates and other parameters in the protocol, the DAO will also contribute in fairly appraising a particular NFT or NFT collection. This means that each asset supported by Taker will have a guaranteed fair floor price. In return, TKR holders will be able to obtain rewards and receive a portion of platform income.
The funds received will help Taker launch the full version of the protocol across multiple chains, including Ethereum, Polygon, Solana, BSC and Near. The support of major stakeholders and participants in the NFT ecosystem will also help further development of the project.
Taker DAO contains many different Curator DAOs (Sub-DAOs), each sub-DAO will manage their own whitelist and a floor price for any NFT on their whitelist if the borrower defaults on the loan. We believe that it is best to mitigate the risks for our lenders by carefully selecting the NFT assets that our community desires and trusts the most. Aligning the interest of the DAOs with that of the lenders, we will mitigate the risk exposure for the lenders and optimize the profits for the DAOs. Moreover, each sub-DAO will have its own funds and can choose to focus exclusively on a specific type of NFT assets. For example, it could be artworks-only or Metaverse-only.
Taker Co-Founder Angel Xu comments:
“We are absolutely thrilled to welcome so many well-established investment funds to the team. Their participation heralds an exciting new phase for the protocol as we seek to address persistent problems in the NFT lending market for the benefit of end-users. This investment will enable us to further optimize liquidation of NFT assets across multiple blockchains, removing the barriers to entry that prevent new players from entering the market.”
“Taker Protocol is using an innovative approach to solve the biggest problem in the NFT space — lack of liquidity. With Taker, we are one step closer to the world where anyone anywhere can use their NFT assets to take out a loan.” (Maria Shen, Partner at Electric Capital)
NFT DeFi: Taker is the first protocol to provide liquidity to the NFT market through a DAO. It is a multi-strategy, cross-chain lending protocol for lenders and borrowers to liquidate and rent all kinds of crypto assets, including financial papers, synthetic assets, and more. Taker provides ensured liquidity via our lenderDao infrastructure and extensions that could be integrated into NFT marketplaces.
PlatoAi. Web3 Reimagined. Data Intelligence Amplified.
Wicked Craniums are now Nifty Gateway!
Acorns Hires Former Amazon Executive as President, Hints at Crypto Options
Swissquote Confirms European Expansion Plan, Focusing on Crypto
Biggest Crypto Adoption Rumours: Apple, Amazon, and Walmart
Massive NFT and Token Giveaway from Polker as Staking is Announced!
Head of Australian Crypto Exchange Says Regulations Are Beneficial
The Signal and the Noise
Evaluating Credit Card Debt Relief Options
Bingbon Launches its Carbon Free and Afforestation Project
Nickelodeon All-Star Brawl will include DLC fighters post-launch
Gods Unchained and Guild of Guardians Layer 2 Solution Immutable Raises $60 Million
What’s Behind Elrond (EGLD) Daily Surges?
Public.com Inks Deal with NFL Star to Advise on Financial Literacy Programs
Over 40 days after Ethereum’s EIP-1559, here’s where it stands
This needs to happen before Peter Schiff will buy Bitcoin (BTC)
Opensea NFT marketplace Accuses Senior Employee of Insider Trading
Grab a spot in Tomi’s presale by bagging an NFT – 260+ ETH raised!
Venture Firm Raises $350 Million to Double Down on Its Cryptocurrency Involvement
Kanga Exchange Partners with Tenset for an Exclusive Public Sale of KNG Token
Cardano Sees an Influx in Smart Contracts ! But There’s a Twist
Uncategorized1 week ago
How to watch the Wild Rift Japan Cup 2021: Teams, format, and more
Uncategorized1 week ago
How to fix NBA 2K21, 2K22 error code 4b538e50
Uncategorized1 week ago
How to scan your face in NBA 2K22
Blockchain1 week ago
SBI-acquired TaoTao exchange in Japan relists XRP
Uncategorized1 week ago
Fortnite says goodbye to season 7 with an alien ship, explosions, and a cliffhanger
News1 week ago
PUBG Mobile becomes the most earning game in August 2021
Uncategorized1 week ago
Best Limited Green Common and Uncommon Innistrad: Midnight Hunt cards
Blockchain1 week ago
Cardano Finally Ousting Ethereum? — Expect The Unexpected As Alonzo Hard Fork Kicks Off