Author

Topic: A Visual Explanation of Subchains -- Secure 0-conf and massively scale Bitcoin (Read 761 times)

hero member
Activity: 718
Merit: 545
Isn't this the same as P2Pool ?

Miners search for easier blocks (weak target), each building on the last, until someone finds a block that satisfies the actual network difficulty (strong target).

The sending of only the 'delta' per block is interesting..
legendary
Activity: 4410
Merit: 4766

That should not matter much as there is no progress anyway. Adding more transactions to the block can also be a method to allow a new round of nonces.


There are other things though that can happen, e.g. what if 5 weak blocks of 250KByte are found before the next 1MB full block? With the variance its certainly possible. Are there no limits for the weak blocks? Are they set at the average rate they are found?

yea the new round of nonces is where i said it resets the hashing.. which is bad for trying to get a strong hash if you keep resetting at weak hashes.

and there are other things i came across that im still throwing into scenarios. but if 5 weakblocks are found while the miners are solving the previous main block.. they simply grab 4 and leave 1 for the next block..
just the same as having 1.25mb of tx data in mempool.. they just grab 1mb and leave 0.25 for the next block
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
the problem i see is that every time the weak hash is found. more tx data is added and the hashing has to start again. which would make strong hashing very hard to achieve if it keeps needing to change data every couple minutes.. effectively starting from scratch from the hashing point of view

bitcoin mining does not instantly add tx's.. there is a lag of one blocklength(~10mins). where the tx's sit in the mempool and get preselected as to which tx's should be allowed in the very next block.

once one block is solved the large lump of pre-selected txdata is then hashed, never changing until a hash solution is found.
-snip-

That should not matter much as there is no progress anyway. Adding more transactions to the block can also be a method to allow a new round of nonces.


There are other things though that can happen, e.g. what if 5 weak blocks of 250KByte are found before the next 1MB full block? With the variance its certainly possible. Are there no limits for the weak blocks? Are they set at the average rate they are found?

See franky1's answer below, I will read the pdf before asking further questions.
legendary
Activity: 4410
Merit: 4766
the problem i see is that every time the weak hash is found. more tx data is added and the hashing has to start again. which would make strong hashing very hard to achieve if it keeps needing to change data every couple minutes.. effectively starting from scratch from the hashing point of view

bitcoin mining does not instantly add tx's.. there is a lag of one blocklength(~10mins). where the tx's sit in the mempool and get preselected as to which tx's should be allowed in the very next block.

once one block is solved the large lump of pre-selected txdata is then hashed, never changing until a hash solution is found.

thats why i cant invision weakblocks being hashed instantly while miners are hashing that same everchanging data to get a strong solution..

i think it would work better if the weak blocks were dealt with separately and when a main block is solved the miners grab whatever amount of solved weakblocks there are to then hash out a fixed dataload of weakblocks until a strong solution is found
legendary
Activity: 1988
Merit: 1012
Beyond Imagination
If I understand it correctly, it split the broadcasting of the block data into 4 small pieces so that they don't arrive at the same time. So instead of one block which is 1MB, you have 4 weak blocks, each 250KB, broadcasted at 2.5 minutes interval

The question is, if both node A and node B mined a weak block at the same time, I suppose that they would continuously build on their own subchain while ignore the other's subchain, at the same time, they need to keep other's subchain just in case a new full block is mined from that chain. And I think a smaller block interval will dramatically increase the orphan rate due to lower difficulty (Who has the orphan rate data of litecoin?), so there will be several different subchains coexisting before the full block is mined

I think IBLT is a cleaner approach since it does not have such small check points



legendary
Activity: 2478
Merit: 1362
Brilliant addition for comprehension.
legendary
Activity: 4410
Merit: 4766
my limited understanding is:
transactions are hashed together as clusters (weak blocks) before then being incorporated into the main blockchain blocks.

that way while miners are hashing the main blockchain block, the pool is organising the transactions (clusters/subchain/weakblocks) ready for the next block
that way transactions can effectively be locked into the memory pool which could help reduce malleability attacks
also by hashing the transactions it pre-validates the transactions and so when the blocks are solved, the system knows the tx's are valid and thus other pools can just stale their attempts as soon as they see a winner because they know there wont be any invalids found in the winning block.. and its this staling other attempts instead of pushing on which will reduce orphans because the fight is over as soon as a first block is solved. rather than another pool continuing to solve a block and then both competing.

im more excited about the effective locking in of transactions into the 'weak blocks' as that will reduce peoples fear of accepting tx's that have not yet been confirmed by the main blockchain. as these 'weak blocks' are a pre-checked.

think of it as debiting funds out (locked in, making them unable to be used twice) before they are then credited to the recipient(confirmed on blockchain)

and yes by pre-checking tx's, miners dont have to worry as much about other miners having bad data, so can easily stop mining(stale) when a block is solved by someone else as they trust it has been checked. thus reducing orphans by not continuing mining even after a block has been solved.
legendary
Activity: 1162
Merit: 1007
this is an incentive for miners right? to reduce orphan block?

Correct.  It allows miners to build larger blocks and process more transactions per second (to claim more fees) without increasing their orphaning risk.  

Quote
or it carry anything useful for the average joe?

Assuming the block size limit is also raised, it will help to keep fees down.  It also adds measurable security to zero-confirm transactions that have been verified in a subchain.  

Quote
on reddit they say that it will not require neither an hard fork or soft fork, this is good it's basically there, need consensus only

Yes, it requires neither a hard nor soft fork; however, it is only useful if a significant fraction of the network hash power participates.  
legendary
Activity: 1162
Merit: 1007
Please could you explain the difference between a weak target and a strong target.

If you watch the animation carefully, you'll see that to hit the weak target requires two fewer leading zeroes.  This makes the weak target four times easier to hit than the strong target (in this example).  How much easier the weak target is to hit control how many small gray circles (weak blocks) you'll get per large purple circle (strong block) in Fig. 2.
legendary
Activity: 2814
Merit: 2472
https://JetCash.com
Please could you explain the difference between a weak target and a strong target.
legendary
Activity: 3248
Merit: 1070
this is an incentive for miners right? to reduce orphan block? or it carry anything useful for the average joe?

on reddit they say that it will not require neither an hard fork or soft fork, this is good it's basically there, need consensus only
legendary
Activity: 1162
Merit: 1007
A Visual Explanation of Subchains

Subchains are a practical application of "weak blocks," which add security to zero-confirmation transactions and permit massive scaling of Bitcoin.




Fig. 1.  Each time a block that satisfies the weak target is found, the subchain is extended.   When a block satisfying the strong target is found, the subchain is closed, becoming a strong block, and a new subchain begins.




Fig. 2.  Miners cooperate to build subchains in order to process more transactions and claim more fees without incurring additional orphaning risk.  This illustration visualizes "idealized" ¼-difficulty subchains (also referred to as 4x subchains).  In practice, each strong block may contain more or less than four weak blocks, due to randomness.




Fig. 3.  Miners build subchains layer by layer (a – c), where each layer corresponds to the solution of a weak block.  To propagate blocks (weak or strong), miners need only send their Δ-block and a reference to the subchain’s tip (f), reducing the quantity of transmitted bytes.  When a nonce that satisfies the strong target is found, the subchain is closed thereby becoming a strong block (d), and miners begin working on a new subchain (e).


For further reading, please refer to "Reduce Orphaning Risk and Improve Zero-Confirmation Security With Subchains."
Jump to: