View the old version here
The blockchain is the complete "database" of every transaction that has ever occurred for a cryptocurrency. Every full node (which is the downloaded software) has an identical copy of this database. New transactions are added to this database through "blocks", which are created by miners. When a block is created, it includes a reference of the previous block that was created. The previous block includes a reference of the block before that, and so on. This was how the term "blockchain" was coined.
On TxStreet.com, when a block is mined, the traffic light will turn green and a bus/block will leave for the blockchain.
Segwit was added to the Bitcoin (BTC) protocol in 2017 as a "soft fork" with backwards compatibility. The main function of segwit is removing the signature data (witness) from transactions and storing them in a separate area of the block that legacy nodes (nodes running bitcoin software from before segwit) cannot see. Segwit also removes the block size limit of 1mb (1,000,000 bytes), and replaces it with a "weight limit" of 4mwu (4,000,000 weight units), giving bitcoin a slight increase in transaction throughput, if utilized. However, it is not a simple 4x increase because the way in which the weight limit operates is complex.
Since segwit was a soft fork, both legacy nodes and segwit nodes can continue to operate on the same network. Both legacy transactions and segwit transactions can be relayed by all nodes. However, segwit transactions cannot be validated by legacy nodes, since they do not have access to the signature data, and have to assume that they are valid transactions. The main difference is how each node interprets and stores the data from each transaction.
When a segwit node receives a legacy transaction, it simply multiplies the size of that transaction in bytes by 4 and includes it in the block weight. Since the block weight is measured as 4x bigger than the block size, this means that if 100% of the transactions in a block were legacy transactions, it would be both 1mb and 4mwu at the same time, with a 0% transaction throughput increase. The increase comes from segwit transactions, which have their raw transaction data and signatures separated. The signature is added to the block weight at a rate of 1 byte to 1 weight unit, and the signatures are then easily accessible by segwit nodes. The rest of the transaction data again, has it's size in bytes multiplied by 4 and added to the block weight. So if 100% of the transactions in a block were segwit transactions, it would be larger than 1mb, but still would not come close to 4mb. Depending on the size of the raw transaction data, it would most likely be between 2-3mb.
When a legacy node receives a segwit transaction, it receives a smaller version of that transaction because the witness data (signatures) have been stripped. In the same scenario above, when 100% of the transactions in a block were segwit transactions, and the block was between 2-3mb, legacy nodes would still only receive 1mb of that data, because it is only the raw transaction data. This is how segwit achieves backwards compatibility with the 1mb block size limit. Legacy nodes have no knowledge or understanding of segwit, which means that a block with 100% legacy transactions, and 100% segwit transactions would look nearly identical. The only difference is that the legacy transactions would still have their signatures attached.
It is important to clarify that a block can have a mixture of both legacy and segwit transactions, and this is the case now in almost every block.
The mempool is a list or "pool" of transactions currently waiting to be confirmed on the Bitcoin network. These transactions are stored in each node's memory until they are confirmed and stored in a block on the blockchain. Each node is responsible for maintaining it's own mempool, which means some nodes may have a slightly different list of transactions in their mempool than others. However, the list is more or less the same across the network. When a block is found by a miner, they choose transactions from the mempool to include in the block. They can choose any number of transactions as long as the total size of the transactions included is less than the block size limit (or total weight less is than the weight limit on BTC). Miners are incentivized to pick transactions with the highest fee attached, because they get to claim these fees along with the block reward.
On TxStreet.com, the mempool is visualized with people. Each person represents one transaction in the mempool waiting to get to the blockchain.
The block time is the average time between blocks that are found by miners. This average is 10 minutes for both Bitcoin Cash and Bitcoin, and ~15 seconds for Ethereum. In practice, individual block times will vary above and below these times. Sometimes to a great extent.
The block time is enforced by the network through "difficulty", which is a measure of how difficult it is for miners to find a hash in order to create a block.
The block size limit is the maximum size that a block can be in order to be accepted by the network. The more transactions that are included in a block, the larger it gets. Therefore, the lower the block size limit is for a block, the fewer transactions it can hold. This also means a lower transaction throughput for the network.
On TxStreet.com, the block size limit is visualized by the size of the buses.
Transaction fees are fees attached to transactions by the sender. These fees can only be collected by a miner after it has been included in a block, which is what incentivizes the miner to do so.
The median transaction fee directly correlates to supply and demand. If there is a large number of transactions and the block size limit is too small to include all of those transactions into a block, senders will "outbid" each other for a spot in the next block by increasing their transaction fee, and effectively incentivizing the miners to choose their transaction over someone else's. This is usually done automatically by the wallet software. If there is a lot of transactions, and the block size limit is large enough to include them all, the average transaction fee will not increase, because there is enough supply to fulfill the demand.
The Txpool is a list or "pool" of transactions waiting to be confirmed on the Ethereum Network. These transactions are stored in each node's memory until they are confirmed and stored in a block on the blockchain. Each node is responsible for maintaining it's own txpool, which means some nodes may have a slightly different list of transactions in their txpool than others. However, the list is more or less the same across the network. When a block is found by a miner, they choose transactions from the txpool to include in the block. They can choose any number of transactions as long as the total gasUsed of the transactions included is less than the block gas limit. Miners are incentivized to pick transactions with the highest fee attached, because they get to claim these fees along with the block reward.
On TxStreet.com, the txpool is visualized with people. Each person represents one transaction in the mempool waiting to get to the blockchain.
"Mempool Count" measures the total number of pending transactions in the mempool on the TxStreet Bitcoin/Bitcoin Cash node.
"Mempool Size" measures the sum of the size (Megabytes) of the pending transactions in the mempool on the TxStreet Bitcoin/Bitcoin Cash node.
"Median Estimated Fee (USD)" measures the median fee in USD from new and unique transactions broadcasted within the last 5 minutes.
"Median Estimated Fee (Sat/Byte)" measures the median fee in Satoshis per Byte (vByte for BTC) from new and unique transactions broadcasted within the last 5 minutes.
"Bytes Per Second" measures the sum of the size (Bytes or vBytes for BTC) of each new and unique transaction broadcasted within the last 5 minutes. This number is then divided by 300 to reach an average "per second" result.
"Broadcasted Tx/Sec" measures the number of new and unique transactions broadcasted within the last 5 minutes. This number is then divided by 300 to reach an average "per second" result.
"Confirmed Tx/Sec" measures rate of confirmed transactions per second over the past hour.
"Txpool Count" measures the total number of "pending" and "queued" transactions in the txpool on the TxStreet Ethereum node.
"Median Estimated Fee (USD)" measures the median fee from new and unique transactions broadcasted within the last 5 minutes. Since Ethereum gas fees are not exact until after the transaction is confirmed, this gas is first divided by "Median Tx Gas Used/Limit" for transactions with a gasLimit greater than 42000. This is why this number is an estimate and not exact.
"Median Gas Price" measures the median gasPrice from new and unique transactions broadcasted within the last 5 minutes.
"Last Block" is the difference in time from now and the timestamp attached to the last block. The timestamp is generated by miners and is not exact, which is why the measurement may be higher than the truth.
"Median Txs Per Block" measures the median number of transactions included in each block over the last hour.
"Block Gas Limit" is the maximum amount of gas that a block is allowed to contain, using the sum of the gas used by all transactions in that block. The maximum gas limit is voted on by miners of the Ethereum Network.
"Median Block Gas" measures the median gas used by a block (sum of the gas used by all transactions in that block) over the last hour.
"Median Block Size" measures the median data used by a block (in megabytes) over the last hour.
"Median Tx Gas Used/Limit". First, the average (gasUsed / gas) of each transaction greater than 21000 gas in a recently mined block is obtained. This average is appended to a list of averages (no more than 500 in length), from which the final median result is reached.
"Average Block Time" measures the average time between mined blocks over the last 250 blocks.