Connect with us

Blockchain

Introducing MultiChain Streams

For shared immutable key-value and time series databases Today we’re proud to release the latest version of MultiChain, which implements a crucial new set of functionality called “streams”. Streams provide a natural abstraction for blockchain use cases which focus on general data retrieval, timestamping and archiving, rather than the transfer of assets between participants. Streams… Read more »

Republished by Plato

Published

on

For shared immutable key-value and time series databases

Today we’re proud to release the latest version of MultiChain, which implements a crucial new set of functionality called “streams”. Streams provide a natural abstraction for blockchain use cases which focus on general data retrieval, timestamping and archiving, rather than the transfer of assets between participants. Streams can be used to implement three different types of databases on a chain:

  1. A key-value database or document store, in the style of NoSQL.
  2. A time series database, which focuses on the ordering of entries.
  3. An identity-driven database where entries are classified according to their author.

These can be considered as the ‘what’, ‘when’ and ‘who’ of a shared database.

Streams basics

Any number of streams can be created in a MultiChain blockchain, and each stream acts as an independent append-only collection of items. Each item in a stream has the following characteristics:

  • One or more publishers who have digitally signed that item.
  • An optional key for convenient later retrieval.
  • Some data, which can range from a small piece of text to many megabytes of raw binary.
  • A timestamp, which is taken from the header of the block in which the item is confirmed.

Behind the scenes, each item in a stream is represented by a blockchain transaction, but developers can read and write streams with no awareness of this underlying mechanism. (More advanced users can use raw transactions to write to multiple streams, issue or transfer assets and/or assign permissions in a single atomic transaction.)

Streams integrate with MultiChain’s permissions system in a number of ways. First, streams can only be created by those who have permission to do so, in the same way that assets can only be issued by certain addresses. When a stream is created, it is open or closed. Open streams are writeable by anybody who has permission to send a blockchain transaction, while closed streams are restricted to a changeable list of permitted addresses. In the latter case, each stream has one or more administrators who can change those write permissions over time.

Each blockchain has an optional ‘root’ stream, which is defined in its parameters and exists from the moment the chain is created. This enables a blockchain to be used immediately for storing and retrieving data, without waiting for a stream to be explicitly created.

As I’ve discussed previously, confidentiality is the biggest challenge in a large number of blockchain use cases. This is because each node in a blockchain sees a full copy of the entire chain’s contents. Streams provide a natural way to support encrypted data on a blockchain, as follows:

  1. One stream is used by participants to distribute their public keys for any public-key cryptography scheme.
  2. A second stream is used to publish data, where each piece of data is encrypted using symmetric cryptography with a unique key.
  3. A third stream provides data access. For each participant who should see a piece of data, a stream entry is created which contains that data’s secret key, encrypted using that participant’s public key.

This provides an efficient way to archive data on a blockchain, while making it visible only to certain participants.

Retrieving from streams

The core value of streams is in indexing and retrieval. Each node can choose which streams to subscribe to, with the blockchain guaranteeing that all nodes which subscribe to a particular stream will see the same items within. (A node can also be configured to automatically subscribe to every new stream created.)

If a node is subscribed to a stream, information can be retrieved from that stream in a number of ways:

  • Retrieving items from the stream in order.
  • Retrieving items with a particular key.
  • Retrieving items signed by a particular publisher.
  • Listing the keys used in a stream, with item counts for each key.
  • Listing the publishers in a stream, with item counts.

As mentioned at the start, these methods of retrieval allow streams to be used for key-value databases, time series databases and identity-driven databases. All retrieval APIs offer start and count parameters, allowing subsections of long lists to be efficiently retrieved (like a LIMIT clause in SQL). Negative values for start allow the most recent items to be retrieved.

Streams can contain multiple items with the same key, and this naturally solves the tension between blockchain immutability and the need to update a database. Each effective database ‘entry’ should be assigned a unique key in your application, with each update to that entry represented by a new stream item with its key. MultiChain’s stream retrieval APIs can then be used to: (a) retrieve the first or last version of a given entry, (b) retrieve a full version history for an entry, (c) retrieve information about multiple entries, including the first and last versions of each.

Note that because of a blockchain’s peer-to-peer architecture, items in a stream may arrive at different nodes in different orders, and MultiChain allows items to be retrieved before they are ‘confirmed’ in a block. As a result, all retrieval APIs offer a choice between global (the default) or local ordering. Global ordering guarantees that, once the chain has reached consensus, all nodes receive the same responses from the same API calls. Local ordering guarantees that, for any particular node, the ordering of a stream’s items will never change between API calls. Each application can make the appropriate choice for its needs.

Streams and the MultiChain roadmap

With the release of streams, we’ve completed the last major piece of work for MultiChain 1.0, and are now firmly on the path to beta. We expect to spend the next few months expanding our internal test suite (already quite large!), finishing the Windows and Mac ports, adding some more useful APIs, updating the Explorer for streams, tweaking aspects of the consensus mechanism, releasing our web demo, and generally tidying up code and help messages. Most importantly, we’ll continue to fix any bugs as soon as they’re discovered, so that our mistakes don’t interrupt your work.

In the longer term, where do streams fit into the MultiChain roadmap? Taking a step back, MultiChain now offers three areas of high-level functionality:

  • Permissions to control who can connect, transact, create assets/streams, mine/validate and administrate.
  • Assets including issuance, reissuance, transfer, atomic exchange, escrow and destruction.
  • Streams with APIs for creating streams, writing, subscribing, indexing and retrieving.

After the release of MultiChain 1.0 (and a premium version), what’s next in this list? If you look at the API command which is used to create streams, you’ll notice an apparently superfluous parameter, with a fixed value of stream. This parameter will allow MultiChain to support other types of high-level entity in future.

Possible future values for the parameter include evm (for an Ethereum-compatible virtual machine), sql (for an SQL-style database) or even wiki (for collaboratively edited text). Any shared entity whose state is determined by an ordered series of changes is a potential candidate. Each such entity will need: (a) APIs which provide the right abstraction for updating its state, (b) appropriate mechanisms for subscribed nodes to track that state, and (c) APIs for efficiently retrieving part or all of the state. We’re waiting to learn which other high-level entities would be most useful, to be implemented by us or by third parties via a plug-in architecture.

What about smart contracts?

In a general sense, MultiChain takes the approach in which data is embedded immutably in a blockchain, but the code for interpreting that data is in the node or application layer. This is deliberately different from the “smart contracts” paradigm, as exemplified by Ethereum, in which code is embedded in the blockchain and runs in a virtual machine. In theory, because smart contracts are Turing complete, they can reproduce the behavior of MultiChain or any other blockchain platform. In practice, however, Ethereum-style smart contracts have many painful shortcomings:

  • Every node has to perform every computation, whether it’s of interest or not. By contrast, in MultiChain each node decides which streams to subscribe to, and can ignore the data contained by others.
  • The virtual machine used for smart contracts has drastically worse performance than code which has been natively compiled for a given computer architecture.
  • Smart contract code is immutably embedded in a chain, preventing features from being added and bugs from being fixed. This was demonstrated forcefully in the demise of The DAO.
  • Transactions sent to a smart contract cannot update a blockchain’s state until their final ordering is known, because of the nature of general purpose computation. This leads to delays (until a transaction is confirmed in a block) as well as possible reversals (in the event of a fork in the chain). By contrast, MultiChain can treat each type of unconfirmed transaction in the appropriate way: (a) incoming assets immediately update a node’s unconfirmed balance, (b) incoming stream items are instantly available, with their global ordering subsequently finalized, (c) permissions changes are applied immediately and then replayed in incoming blocks.

Nonetheless, as I’ve said before, we’re certainly not ruling out smart contracts as a useful paradigm for blockchain applications, if and when we see strong use cases. However, in MultiChain smart contracts would be implemented in a stream-like layer on top of the blockchain, rather than the lowest transaction level. This will preserve MultiChain’s superior performance for simpler blockchain entities like assets and streams, while offering slower on-chain computation where it’s really needed. But there are fewer such cases than you might think.

 

Please post any comments on LinkedIn.

 

Technical addendum

All commands related to streams are documented in full in the MultiChain API page, but here is a brief summary:

  • Create a stream using create stream or createfrom ... stream
  • Add an item to a stream with publish or publishfrom
  • Retrieve a list of streams using liststreams
  • Start or stop tracking a stream with subscribe and unsubscribe
  • Retrieve stream items using liststreamitems, liststreamkeyitems and liststreampublisheritems
  • List stream keys and publishers with liststreamkeys and liststreampublishers
  • For large stream items, retrieve the full data using gettxoutdata (see maxshowndata below)
  • Control per-stream permissions with calls like grant [address] stream1.write
  • View a stream’s permissions using listpermissions stream1.*

Some other developer notes relating to streams:

  • The create permission allows an address to create streams.
  • Relevant per-stream permissions are write, admin and activate
  • New blockchain parameters: root-stream-name (leave empty for none), root-stream-open, anyone-can-create, admin-consensus-create, max-std-op-returns-count
  • New runtime parameters: autosubscribe to automatically subscribe to new streams created and maxshowndata to limit the amount of data in API responses (see gettxoutdata above).
  • The maximum size of a stream item’s data is fixed by the max-std-op-return-size blockchain parameter, as well as the smaller of the maximum-block-size and max-std-tx-size values minus a few hundred bytes.
  • Nodes using the old wallet format cannot subscribe to streams, and should be upgraded.

 

Source: https://www.multichain.com/blog/2016/09/introducing-multichain-streams/

Blockchain

Kraken Daily Market Report for April 12 2021

Republished by Plato

Published

on


Overview


  • Total spot trading volume at $1.74 billion, up from the 30-day average of $1.34 billion.
  • Total futures notional at $555.7 million.
  • The top five traded coins were, respectively, Bitcoin, Tether, Ethereum, Ripple, and Cardano.
  • Strong returns from Uniswap (+25%) and Flow (+11%).

April 12, 2021 
 $1.74B traded across all markets today
 Crypto, EUR, USD, JPY, CAD, GBP, CHF, AUD 
XBT 
$59918. 
↓0.3% 
$641.7M
USDT 
$0.9994 
↑0.03% 
$317.0M
ETH 
$2135.2 
↓0.9% 
$216.1M
XRP 
$1.3753 
↑1.9% 
$126.6M
ADA 
$1.2994 
↑2.6% 
$84.1M
USDC 
$0.9999 
↑0.0% 
$46.7M
DOT 
$40.310 
↓2.6% 
$39.1M
LTC 
$245.33 
↓2.9% 
$34.7M
TRX 
$0.1331 
↑8.9% 
$33.3M
FLOW 
$37.468 
↑11% 
$30.6M
UNI 
$37.402 
↑25% 
$23.6M
FIL 
$166.62 
↓7.0% 
$18.9M
XLM 
$0.5751 
↓1.0% 
$18.6M
XDG 
$0.0712 
↓3.4% 
$17.9M
XMR 
$321.10 
↓2.8% 
$17.9M
LINK 
$32.707 
↓3.9% 
$12.3M
MANA 
$1.0822 
↑1.0% 
$11.5M
BCH 
$669.88 
↓3.0% 
$11.0M
SC 
$0.0266 
↓3.5% 
$9.87M
ALGO 
$1.4637 
↓4.1% 
$9.85M
GRT 
$2.0962 
↑9.6% 
$9.61M
AAVE 
$403.67 
↑8.4% 
$9.51M
ATOM 
$22.173 
↓5.6% 
$9.42M
KSM 
$428.66 
↓2.4% 
$9.33M
EOS 
$6.4521 
↓4.5% 
$7.34M
XTZ 
$6.2194 
↓3.5% 
$6.97M
ZEC 
$218.94 
↓1.5% 
$5.36M
DASH 
$277.71 
↓3.4% 
$4.59M
STORJ 
$2.4142 
↓0.7% 
$4.51M
DAI 
$0.9994 
↓0.03% 
$4.08M
COMP 
$446.04 
↓3.0% 
$3.75M
SNX 
$19.596 
↑3.0% 
$3.13M
ICX 
$2.6855 
↑4.2% 
$3.06M
OMG 
$9.6585 
↑0.3% 
$2.8M
BAT 
$1.4119 
↓2.1% 
$2.57M
KAVA 
$6.5938 
↓5.9% 
$2.53M
OCEAN 
$1.6560 
↓3.6% 
$2.42M
QTUM 
$14.663 
↓1.9% 
$2.27M
CRV 
$3.0164 
↓3.2% 
$2.18M
ANT 
$10.697 
↓4.6% 
$1.93M
NANO 
$5.6921 
↑1.4% 
$1.91M
KNC 
$3.5034 
↓4.6% 
$1.86M
YFI 
$42840. 
↓5.2% 
$1.68M
ETC 
$19.193 
↓5.8% 
$1.44M
OXT 
$0.7723 
↓3.9% 
$1.43M
WAVES 
$15.288 
↓2.2% 
$1.35M
REP 
$47.281 
↓4.1% 
$1.27M
LSK 
$6.4095 
↓6.1% 
$1.09M
KEEP 
$0.7189 
↓4.0% 
$1.07M
EWT 
$16.354 
↓4.3% 
$768K
MLN 
$85.518 
↓4.3% 
$674K
PAXG 
$1741.0 
↓1.0% 
$663K
BAL 
$51.182 
↓1.2% 
$600K
REPV2 
$46.957 
↓4.2% 
$367K
GNO 
$172.93 
↓0.03% 
$292K
TBTC 
$60697. 
↓0.8% 
$50.2K



#####################. 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 (April 12 2021)



Figure 2: Mid-size trading assets: (measured in USD) (April 12 2021)



Figure 3: Smallest trading assets: (measured in USD) (April 12 2021)



#####################. Spread %. ##########################################

Spread %


Spread percentage is the width of the bid/ask spread divided by the bid/ask midpoint. The values are generated by taking the median spread percentage over each minute, then the average of the medians over the day.

Figure 4: Average spread % by pair (April 12 2021)



.


#########. Returns and Volume ############################################

Returns and Volume


Figure 5: Returns of the four highest volume pairs (April 12 2021)


Figure 6: Volume of the major currencies and an average line that fits the data to a sinusoidal curve to show the daily volume highs and lows (April 12 2021)



###########. Daily Returns. #################################################

Daily Returns %


Figure 7: Returns over USD and XBT. Relative volume and return size is indicated by the size of the font. (April 12 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.

Coinsmart. Beste Bitcoin-Börse in Europa
Source: https://blog.kraken.com/post/8612/kraken-daily-market-report-for-april-12-2021/

Continue Reading

Blockchain

Bitcoin Prepares For its Next Move: Where is the 100 SMA, the Key BTC Level?

Republished by Plato

Published

on

Bitcoin price is consolidating above the $59,500 support zone against the US Dollar. BTC is now showing a few positive signs, but it must clear $61,200 for a fresh rally in the near term.

  • Bitcoin is holding gains above the $60,000 and $59,500 support levels.
  • The price is now trading well above the $59,500 level and the 100 hourly simple moving average.
  • There is a key bullish trend line forming with support near $59,400 on the hourly chart of the BTC/USD pair (data feed from Kraken).
  • The pair is likely to start a sharp upward move once it clears the $60,800 and $61,200 levels.

Bitcoin Price is Showing Positive Signs

Bitcoin remained in a range above the $59,000 level and it is showing a few positive signs. Recently, BTC made another attempt to clear the $61,200 resistance, but it failed.

It corrected lower and retested the $59,500 support level. A low is formed near $59,432 and the price is now moving higher. It is also trading well above the $59,500 level and the 100 hourly simple moving average.

There was a break above the 50% Fib retracement level of the recent decline from the $61,212 high to $59,432 low. There is also a key bullish trend line forming with support near $59,400 on the hourly chart of the BTC/USD pair.

Bitcoin Price

Source: BTCUSD on TradingView.com

Bitcoin is now trading above $60,400, but it is facing resistance near $60,800. It is close to the 76.4% Fib retracement level of the recent decline from the $61,212 high to $59,432 low.

A successful break above the $60,800 level could open the doors for a move above $61,200. If the bulls succeed in clearing $61,200, the price could rally in the coming sessions.

Dips Limited in BTC?

If bitcoin fails to climb above $60,800 and $61,200, there could be a short-term downside correction. An initial support on the downside is near the $60,000 level.

The main support is now forming near the trend line, $59,500 and the 100 hourly simple moving average. If the bulls fail to protect the 100 hourly SMA, there could be a major decline. In this case, the price might decline towards the $58,000 level.

Technical indicators:

Hourly MACD – The MACD is now gaining momentum in the bullish zone.

Hourly RSI (Relative Strength Index) – The RSI for BTC/USD is now well above the 50 level.

Major Support Levels – $59,500, followed by $59,000.

Major Resistance Levels – $60,800, $61,200 and $62,000.

Coinsmart. Beste Bitcoin-Börse in Europa
Source: https://www.newsbtc.com/analysis/btc/bitcoin-prepares-for-next-move-61k/

Continue Reading

Blockchain

USDT, USDC, and BUSD represent 93% of stablecoin market cap

Republished by Plato

Published

on

Research from on-chain analytics provider Glassnode has revealed that the top three stablecoins represent more than 90% of the sector’s entire market cap.

Glassnode’s April 13 “Week On-chain” report found that the top three stablecoins — Tether (USDT), USD Coin (USDC), and Binance USD (BUSD) — have seen significant growth over the past six months to represent a combined capitalization of more than $60 billion, equal to 92.75% of the stablecoin market.

By contrast, six months ago the combined stablecoin capitalization for those three was less than one-third of its current levels at $19.2 billion. This time last year, stablecoins were worth just $7 billion combined.

The analysis compared the growth of stablecoins with Bitcoin’s market cap, identifying a clear correlation between the two. The report also found that USDT’s supply has continued to increase during recent weeks despite BTC trending sideways, whereas growth for USDC and BUSD has slowed.

BTC market cap vs stablecoin supply: Glassnode

The report notes historic lows for its Stablecoin Supply Ratio (SSR) metric, which measures Bitcoin’s market cap relative to the total stablecoin supply to estimate the global “buying power” of the stablecoin sector.

When BTC prices are low, the supply of stablecoins can buy a larger portion of it to push prices up. Conversely, as prices increase the available stablecoins can purchase less which reduces the influence on prices. Glassnode concluded:

“The growth of stablecoin supplies throughout 2020-21 has held the SSR metric near historical lows suggesting a relatively high buying power of digitally native dollars. The demand for digital dollars appears to be keeping pace with demand for Bitcoin and cryptocurrencies as a whole.”

Tether’s market cap has over doubled since the beginning of 2021 to currently sit at a record $45.6 billion, according to the Tether transparency report. Circle’s website reported an all-time high of $11.5 billion USDC on April 9, while Goingecko estimated BUSD’s supply to be $5.1 billion on April 13.

On April 7, Circle CEO Jeremy Allaire predicted its USDC stablecoin could soon surpass PayPal by settlement value.

Coinsmart. Beste Bitcoin-Börse in Europa
Source: https://cointelegraph.com/news/usdt-usdc-and-busd-represent-93-of-stablecoin-market-cap

Continue Reading
Blockchain5 days ago

XRP Price Analysis: 08 April

Blockchain5 days ago

Tesla’s landlord accepts crypto; will Elon Musk pay rent in Bitcoin?

Blockchain5 days ago

$48B Asset Manager Millennium Management Dabbles With Bitcoin

Blockchain5 days ago

Bitcoin Miners Hit Jackpot as Hash Rate Peaks Again

Blockchain5 days ago

Binance Smart Chain Daily Transactions 200% More Than Ethereum’s

Blockchain5 days ago

Revolutionizing the crypto-market in India with CryptoBiz exchange

Blockchain5 days ago

Digital yuan campaign planned for contested island in the South China Sea

Blockchain5 days ago

Polkadot Price Analysis: 08 April

Blockchain5 days ago

America’s Second-Oldest Bank State Street to Enable Crypto Trading on its Platform

Blockchain5 days ago

Bitcoin exchanges just saw massive Tether stablecoin deposits

Blockchain5 days ago

Phemex Launches OTC Trading, Enables Crypto Purchase with Bank Transfers

Blockchain5 days ago

Man Gets 12 Years in Prison After Trying to Buy Lethal Chemical Weapon With Bitcoin

Blockchain5 days ago

Cardano’s Anti-Counterfeit Solution Sees First Successful Implemetation

Blockchain4 days ago

Ether price takes on Bitcoin — What’s behind the sharp rise in demand?

Blockchain5 days ago

What you should know about DOT, XLM, TRX, and FIL being in the buy zone

Blockchain5 days ago

Equilibrium raises $2.5M to secure support for Polkadot parachain bid

Blockchain4 days ago

Tron, BAT, VeChain Price Analysis: 08 April

Blockchain4 days ago

Uniswap Price Analysis: 08 April

Blockchain5 days ago

Kraken’s First Brink Grantee Will Fuel Bitcoin Rust Development

Blockchain5 days ago

New petition asks SEC chair nominee Gary Gensler to drop Ripple lawsuit

Trending