Connect with us

Blockchain

How Ethereum can scale with SNARKs 101

Republished by Plato

Published

on


The beginner guide I would have liked a few months ago before digging into this stuff

Marco De Rossi

What you’ll need:

  • a computer science background
  • the basics of Ethereum
  • the basics of calculus (constraints optimisation)

What you’ll get:

  • the basics of zero-knowledge SNARKs
  • the basics of Merkle trees
  • how Ethereum could scale to thousands of transactions per second thanks to SNARKs

SNARKs allow a Prover to prove to a Verifier that she/he has a solution W to the problem F with shared/known inputs X, without revealing W.

Finding the solution to the problem could require a huge amount of computational power and memory.

So the Verifier can basically be 100% sure that the Prover has worked properly (and found a solution), with neither re-doing the job by herself/himself to check the solution nor knowing the solution at all. It’s magic!

The process has 3 steps:

  • SETUP — The problem F (that need to be expressed as quadratic arithmetic program, see below) is prepared for SNARKs. This process is very high memory and computing intensive depending on the complexity of the problem (→ The number of inputs and constraints → The dimension of the matrix of the constraints satisfaction problem). The player who does the Setup (could be the Verifier itself) must be trusted by all parties, since the output of the Setup is used in the next phases. The setup is usually done using libsnark, a C++ library which is the most popular implementation for zkSNARKs.
  • PROVING — The Prover, who has a solution W for the problem F with shared inputs X (maybe she/he spent huge amounts of CPU and memory to find it!), uses libsnark and the output of the Setup phase to create a proof 𝚷. This process is definitely high memory and computing intensive (depending on the complexity of the problem, as above). The size of the output (i.e. proof 𝚷) is instead succinct and constant independently from the complexity of the problem. The Prover needs to trust who has done the Setup phase, since she/he uses its output…
  • VERIFYING — A Verifier — giving as input the output of the Setup phase, shared inputs X and proof 𝚷 – checks the proof. If the verification is successful, the Prover managed to prove to a Verifier that she/he has found the solution W to the problem F… without revealing W! The nice part is that not only the Proof is succinct and has always the same length.., the verification process is fast and not memory/computing intensive at all. Unlike the two previous phases… the verification can be easily done with a smartphone in milliseconds!

A good recap (source):

How can this happen? Well, it’s Merlin magic! If you want to get the maths behind this, start from here.

How can I transform my software to a quadratic arithmetic program?

As mentioned above, Setup phase’s problem F needs to be a quadratic arithmetic program. Rules of the game are tough:

  • Your software’s inputs should be numbers. Convert your stuff (arrays, strings, etc) to numbers. That’s trivial.
  • A “quadratically constrained system of equations” means:

where x is the n-dimensional vector of your inputs, m is the number of constraints (i.e. the number of equations of your system), C is the n-by-n coefficients Matrix and q is a n-dimensional coefficients vector. If you don’t like matrix and vectors, here is the n = 3 and m = 2 case (3 inputs, 2 constraints):

  • The implementation is an arithmetic circuit, which means that the outcome is Problem solved (the system is solved, i.e. all polynomials are equal to 0) or Problem not solved (all the other cases). In other words: “these inputs are/aren’t one of the solutions to this Problem”.
  • C₁, C₂, …, C𝚖, q₁, q₂, …, q𝚖 coefficients are the constraints of the system. This is basically what defines your software. Change them… and you’ll get another software! Getting back to how SNARKs work: C₁, C₂, …, C𝚖, q₁, q₂, …, q𝚖 are the input of the Setup phase. The output of the Setup phase (that you need for Proving and Verifying) is therefore strictly related to those C₁, C₂, …, C𝚖, q₁, q₂, …, q𝚖 and works only for that Problem. If you change them you’re defining another software/problem and you need to re-run the Setup phase! x₁, x₂, …, x𝗇 are the variables (i.e. what you have to guess to get a system’s solution). So when we say “Dear Prover, could you please find a secret solution W for problem F with shared/public inputs X” we mean for example “Dear Prover, can you find the x₁, x₂, …, x𝗇 values which solve the system with, for example, x₇ = 2393, x₅₂₆ = 5647?” You can do what you want with all x𝗇, except for x₇ and x₅₂₆, which are constrained to the shared/public inputs.

It’s a tough life but you can survive… If you need loops you can unfold them repeating the same operation many times. Or if you need for example x₁⁴ x₂⁵, you define a new input x₃ = x₁⁴ x₂⁵ and use x₃ in your constraints. It’s all about adding variables and constraints… Even for pretty simple softwares it’s easy to reach hundreds of millions or billions of inputs and constraints!

Want to know more? Read here. And also check out this basic code_to_r1cs.py from ethereum/research.

What’s a Merkle tree?

An hash function is a rule that maps an input of arbitrary size to an output of fixed size. We could invent a pretty useless hash function “Concatenate the first two with the last two letters” which transforms “Woody Allen” to “Woen” and “Paul McCartney” to “Paey”.

A Merkle tree is a data structure where every parent is the hash of its two sons. At the top you find the Root, which is the hash of the two sons of level 1. At the bottom, every leaf is the hash of an external input.

Using our fictionary “Woody Allen”→”Woen” hash function:

When a leaf changes, the modification is propagated up to the Root. If ANTHONY changes, also ANNY (leaf), CENY and CECO (Root) change. Whichever leaf changes, the Root changes too.

You don’t need the entire tree to recalculate the Root. In our example, if ANTHONY changes and you know both JACO and CECILY, you can easily recalculate the Root even if you completely ignore JAMES, MARCO, JAES and MACO. For huge trees this saves a lot of time!

So what?

Merkle trees are great for data integrity checks. Usually: you know which is the valid Root, and you check that the received data matches that Root. For example: a trusted party who can’t give you the entire data set of the first names of people on Earth (no time, no bandwidth or maybe she/he hasn’t the data at all) gives you only the Root (e.g. “CECO”). Afterwords: you receive millions of first names, with reference to the leaf number, by thousands of untrusted parties. Well, since you have the correct Root you can check who you can rely on, who is giving you fake data…

Merkle trees are part of your life too! When you’re downloading a 3GB Torrent file, your file is divided in millions of little chunks. The hash of every chunk is stored in a leaf. Since you know which is the valid Root of the tree, every time you receive a chunk of the file by somebody, you can check if it’s correct. If it’s not, you can ask the same chunk to somebody else.

You can do that even if you haven’t download yet the entire tree/all the leaves: if you know that the Root is CECO and you trust JACO… when you receive the chunk ANTHONY you can verify it even if you haven’t downloaded yet the chunks MARCO and JAMES.

Why Merkle trees are useful in distributed ledger technology is straightforward: you use consensus protocols (slow, expensive) only for reaching consensus on the Root. Then the untrusted nodes of the network can efficiently and directly share data… and can sleep safe and sound thanks to integrity checks with the Root.

When God asked Ethereum to choose 2 superpowers among Security, Scalability and Decentralization… Ethereum sacrificed Scalability. Actually there is no strong cap on “transactions per second”: the cap concerns the amount of gas of each block — which is, simplifying, the amount of operations that I can do in each block. This limit is 8 million gas. That could mean many “tiny” transactions (no data attached to the transactions, no operations to be executed on that data) or few large transactions. It’s up to Ethereum’s nodes, which submit transactions, and to Ethereum’s miners, who include in the block the transactions which pay more.

A block is mined every ~15 seconds. That means ~32 million gas per minute, which is definitely not enough if we want Ethereum’s dapps to go mainstream.

By the way: stop with those tedious comparisons between Ethereum and Visa. A centralized system will always be faster than Ethereum… by design! They do different stuff and you need them in different situations. If you don’t need decentralization and a trust-less environment… of course you should choose Visa. In short: the fact that your blender spins faster than your washing machine doesn’t mean you’ll clean your trousers in a blender!

Let’s put the puzzle together! Imagine you could “compress” many tiny transactions in one large transaction thanks to SNARKs. If the gas spent by this large transaction is less than the sum of the gas spent by the tiny transactions, that means you’re saving gas.

And saving gas means:

  • Users spending less for transactions overall → This would be a push for the entire ecosystem
  • Being able to put more stuff in a block → Ethereum spinning faster than your blender!

How does it work?

There are users, a relayer (or more relayers) who aggregates transactions and a smart contract.

  1. Users willing to play this game send their Ether (or tokens) to a publicly audited smart contract. For every new player a new leaf in a Merkle tree is created. The leaf includes information about the Ether’s owner (her/his address, which is also the public key), amount of Ether and nonce (the transactions’ counter of that account, which is 0 when the leaf is added)
  2. When A wants to send Ether to B (they both need to have a leaf/account in the smart contract), A packs a transaction, which includes the address of the fromaccount, the to account, the nonce of the from account, the amount of Ether to be transferred and the signature of the transaction (signed with the private key of the “from” account, obviously). She/he then sends the packed transaction to the relayer.
  3. The relayer aggregates all the transactions received in a given time window (e.g. one hour), updates the Merkle tree with the new balances’ amounts and creates a SNARK proof which proves that all signatures and the new Merkle tree’s root are valid. The relayer finally sends the new state and the proof to the smart contract.
  4. The smart contract validates the Proof on-chain. If it’s valid it saves the Merkle tree root of the New state in the internal memory of the contract.

Basically, the Merkle tree root depicts the entire state of all the accounts. And you can’t change it (= steal money) unless you can prove the validity of the signatures whose transactions lead to the New state summarized by the new root you’re submitting.

In a nutshell: users have super fast and almost free transactions, like on Coinbase, without needing to trust the relayer, who can’t do anything, unlike on Coinbase, without your signature.

It’s a non custodial side chain whose state is summarized by a Merkle tree root.

Let’s connect what we learnt above about SNARKs with what we just discussed about scaling. There are different ways to do that. I’ll compare 2 recipes: Vitalik’s version and barryWhiteHat’s version.

The SETUP is done by…

The guy who starts the project, who also creates the smart contract. The more auditable it is, the better.You should trust her/him… it’s a trusted setup!

The smart contract saves…

2 Merkle roots (bytes32 values): the first tree contains accounts’ addresses (public signatures), the second accounts’ balances and nonces

PROVING is done by…

The relayer

The relayer sends to the smart contract…

  • the 2 Merkle roots of the New state (addresses tree and balances+nonces tree)
  • the list of transactions, without signatures. “Each transaction costs 68 gas per byte. Hence, for a regular transfer, we can expect the marginal cost to be 68 * 3 (from) + 68 * 3 (to) + 68 * 1 (fee) + 68 * 4 + 4 * 2 (amount) + 68 * 2 (nonce), or 892 gas”

PROVING process’s known inputs are…

  • the 2 Old state Merkle roots
  • the 2 New state Merkle roots
  • transactions list

PROVING process proves that…

Given

  • the 2 Old state Merkle roots (already stored in the contract)
  • the 2 New state Merkle roots (sent in the aggr. transaction)
  • the transactions list (sent in the aggr. transaction)

… the relayer has valid signatures to move from state with 2 Old roots to state with 2 New roots with those transactions.

VERIFYING is done by…

The smart contract (coded in solidity, vyper, as you like!)

VERIFYING process’s known inputs are…

The same PROVING’s process known inputs, clearly…!

Limits to scalability

Every aggregated transaction uses 650k gas for SNARK verification (fixed cost) plus ~900 gas of marginal cost per transaction (It costs to send data!). So using the entire block the relayer can aggregate at most:

which means ~544 tx per second

barryWhiteHat’s version

The SETUP is done by…

The guy who starts the project.

The smart contract saves…

1 Merkle root with the current State. Every leaf is the hashed state of an account.

Want to create an account?

state = AccountState(pubkey, balance, nonce)
state.index = self._tree.append(state.hash())

PROVING is done by…

The relayer

The relayer sends to the smart contract…

  • proof 𝚷
  • the New state Merkle root
  • proof 𝚷

PROVING process’s known inputs are…

  • the Old state Merkle root
  • the New state Merkle root

PROVING process proves that…

Given

  • the Old Merkle root (already stored in the contract)
  • the New Merkle root (senti in the aggr. transaction)

… the relayer has a list of transactions with valid signatures to move from state with Old root to state with New root

VERIFYING is done by…

The smart contract (coded in solidity, vyper, as you like!)

VERIFYING process’s known inputs are…

The same PROVING’s process known inputs, clearly…!

Limits to scalability

The relayer is not sending transactions’ data to the smart contract (which is costly), so the limit is actually the amount of gas to verify the SNARK proof.

Mentioning Howard Wu’s work about running SNARK’s PROVING phase on distributed systems, barryWhiteHat optimistically states that is possible to confirm 16666 transactions in a huge SNARK (1 billion constraints!).

barryWhiteHat also thinks it’s possible to verify proof 𝚷 on-chain with 500k gas, which means that you can put 16 SNARKs (8 million/500k) per block, which is ~1.07 SNARKs per seconds… which means ~17,832 tx per second (16,666 * 1.07).

To infinity and beyond

  • All that glitters is not gold / 1. The amount of computing power and memory that you need in the Proving phase can be literally shocking. Especially in barryWhiteHat’s version, where part of the complexity is moved off-chain. barry writes “On a laptop with 7 GB of ram and 20 GB of swap space it struggles to aggregate 20 transactions per second”. Well, if the goal is 17,832 tx per second… LOL. This introduces non trivial parallel computation challenges. But if the average $ cost per transaction is far cheaper than the ordinary no-SNARKs option… the game is worth the candle.
  • All that glitters is not gold / 2. There is a relevant data availability issue! Since only the tree’s root is saved in the contract, you must be sure that an entire version of the tree (or, it’s the same, the entire transactions history) is always available. If data is not available the relayer, even with valid signed transactions, can’t do anything because she/he can’t prove Old State → Transactions → New State.
  • In order the relayer to be trustless and Ethers in the contract to have the same value of Ethers outside (liquidity problem)… users should be able to withdraw money from the smart contract when they want, without relying on a (specific) relayer. How? This is not in the scope of this 101 post, but you can read about this in the enclosed links.
  • Want to understand more about how the current State (addresses, balances and nonces) can be handled with a Merkle tree? Adding a leaf, updating a leaf, etc? Check out this library (test file here) which uses this underlying module. Thanks HarryR!
  • Want to setup your personal Ethereum-SNARKs environment? Let’s start off-chain with C++ (Setup, Proving, Verifying) here. Then you can move to Ethereum (don’t forget, only the Verification is done on-chain!) with Zokrates (repo, the documentation to get started with).
  • How about using RSA accumulators instead of Merkle trees? Google “rsa accumulators ethereum” to start…

Enjoy!

Twitter @marco_derossi

Source: https://tokeneconomy.co/how-ethereum-can-scale-with-snarks-101-5b06ff048bb7?source=rss—-fbbd350c08fc—4

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