SapphireSpire (OP)
Jr. Member
Offline
Activity: 49
Merit: 38
|
|
July 23, 2017, 04:53:12 PM Last edit: January 11, 2024, 04:23:33 AM by SapphireSpire |
|
nothing to see
|
|
|
|
monsterer2
|
|
July 23, 2017, 05:42:19 PM |
|
How do you deal with individual transactions getting included in multiple separate blocks in the 1st stage of mining?
In the proceeding levels, how do you deal with the inevitable increase in forking due to the lower difficulty?
|
|
|
|
monsterer2
|
|
July 23, 2017, 06:17:19 PM |
|
How do you deal with individual transactions getting included in multiple separate blocks in the 1st stage of mining?
In the proceeding levels, how do you deal with the inevitable increase in forking due to the lower difficulty? Part of each stage of mining is the exclusion of elements that contain the same transaction data. Detail is everything. Exclusion how?
|
|
|
|
monsterer2
|
|
July 23, 2017, 08:32:11 PM |
|
Not exclude, quarantine. Starting with the 2nd level, all but one instance of every transaction in a superblock will have to be quarantined so that only one instance can be spent.
Is there not the pathological case where this is physically impossible? level 1 blocks, containing transactions A,B,C: [A, B] [B, C] [C, A] Chose the subset which doesn't duplicate transactions.
|
|
|
|
alani123
Legendary
Offline
Activity: 2534
Merit: 1496
|
|
July 23, 2017, 09:59:07 PM |
|
This would be better developed in an altcoin or testnet other than into Bitcoin itself in my honest opinion. I believe that Bitcoin has reached far enough as is for there to be such fundamental changes.
|
| Duelbits | ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ | | TRY OUR UNIQUE GAMES! ◥ DICE ◥ MINES ◥ PLINKO ◥ DUEL POKER ◥ DICE DUELS | | | | █▀▀ █ █ █ █ █ █ █ █ █ █ █ █▄▄ | ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ | ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ | ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ | ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ | ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ ███ ▀▀▀ | | ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ KENONEW ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ | ▀▀█ █ █ █ █ █ █ █ █ █ █ █ ▄▄█ | | 10,000x MULTIPLIER | | ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ | | ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ |
[/tabl
|
|
|
monsterer2
|
|
July 24, 2017, 06:16:02 AM |
|
It's not possible to avoid duplicates in your example but any two of the three blocks will include all three transactions so I can exclude one of the three blocks and quarantine the second instance of any duplicate transaction in a table entry that points back to the first instance of that transaction.
For instance, if I exclude block 2, I get duplicate A transactions in blocks 1 and 3 so, I quarantine the 2nd transaction of block 3. ([b3, t2] -> [b1, t1])
But what if A spends C's outputs? Stage 2's block chaining then fails, producing an invalid overall ordering?
|
|
|
|
monsterer2
|
|
July 24, 2017, 01:44:25 PM |
|
It's not possible to avoid duplicates in your example but any two of the three blocks will include all three transactions so I can exclude one of the three blocks and quarantine the second instance of any duplicate transaction in a table entry that points back to the first instance of that transaction.
For instance, if I exclude block 2, I get duplicate A transactions in blocks 1 and 3 so, I quarantine the 2nd transaction of block 3. ([b3, t2] -> [b1, t1])
But what if A spends C's outputs? Stage 2's block chaining then fails, producing an invalid overall ordering? Well then you didn't sort them right, not my fault. You ask excellent questions though, I love your face. Assuming you can prune transactions and still end up with a valid sorting order - how do you address the increasing in forking resulting from the lower difficulty of stage 2 compared to bitcoin?
|
|
|
|
monsterer2
|
|
July 24, 2017, 05:46:54 PM |
|
Assuming you can prune transactions and still end up with a valid sorting order - how do you address the increasing in forking resulting from the lower difficulty of stage 2 compared to bitcoin? Forking doesn't happen until the last and most difficult level of mining, when the final level of superblocks are competing for inclusion on the superblockchain. Multiple chains of similar length may be competing and Bitcoin can handle it the same way it does now- by mining on the longest chain. What prevents forking of level 2 blocks?
|
|
|
|
|
monsterer2
|
|
July 25, 2017, 07:37:35 PM |
|
Each level 1 superblock, created by a level 2 miner, is just a short blockchain- a chain of regular blocks. Each level 2 superblock, created by a level 3 miner, is a chain of level 1 superblocks and is therefore a blockchain of blockchains. The subblocks of each superblock are different blockchains but they are not forks.
But multiple miners will create duplicate sets of subblocks because of the lower difficulty, and I can't see how this is different from forking. How do you arbitrate between them?
|
|
|
|
monsterer2
|
|
July 26, 2017, 05:59:49 AM |
|
Each level 1 superblock, created by a level 2 miner, is just a short blockchain- a chain of regular blocks. Each level 2 superblock, created by a level 3 miner, is a chain of level 1 superblocks and is therefore a blockchain of blockchains. The subblocks of each superblock are different blockchains but they are not forks.
But multiple miners will create duplicate sets of subblocks because of the lower difficulty, and I can't see how this is different from forking. How do you arbitrate between them? Miners will create duplicate superblocks (not subblocks) because they are working competitively, not because the difficulty is low. The blockchains in the subblocks aren't forks because they aren't linked. They exist in parallel rather than in series. You can think of them as different but equally valid versions of the same transaction history. In any case, the elimination of duplicate transactions is part of the mining process at every level. That's functionally the same as a fork. Forks are parallel, redundant work. In addition, there *will* be an increase in the amount of duplicate work (call that forking, or whatever) when you lower the difficulty, and this duplication reduces the security of the system as whole because you discard all but one set of duplicates.
|
|
|
|
monsterer2
|
|
July 26, 2017, 04:29:10 PM |
|
An increase in duplicate work but not forking. A cooperative mining scheme, like a mining pool, would eliminate duplicate work and be more energy efficient but it would also give a majority attacker total control over the mining process. Competitive mining is more secure and redundant work is unavoidable. A lower hash difficulty would be less secure in a single-level mining scheme but not in a multilevel mining scheme where the additional levels of mining work to secure the first.
In any mining scheme where you throw away work, the more work you throw away, the less secure the whole system. As far as I see it, your proposal reduces overall chain security because of the increase in redundant work.
|
|
|
|
monsterer2
|
|
July 28, 2017, 07:11:45 AM |
|
In any mining scheme where you throw away work, the more work you throw away, the less secure the whole system. As far as I see it, your proposal reduces overall chain security because of the increase in redundant work. Well you're wrong. All mining schemes throw away redundant work (e.g. orphaned blocks). The higher the transaction volume, the more work has to be done and the more redundant work has to be thrown out. The numbers increase but the proportions say the same. None of it has a negative impact on security. Yes, but you propose to *increase* the amount of work thrown away, because of the redundant data inside the sub-chains, compared to bitcoin. Moreover, you are making an incorrect assumption about higher transaction throughput always resulting in more redundant data; this is necessarily true for a pure blockchain, but if you use a different LCR scoring rule, and include orphans in the weighting, you don't throw work away. Read more here: https://bitcointalk.org/index.php?topic=1992827.0
|
|
|
|
monsterer2
|
|
August 02, 2017, 05:21:22 AM |
|
In my proposal, none of the blocks or chains in the superblockchain are thrown away so none of the work is wasted.
Miners will create duplicate superblocks (not subblocks) because they are working competitively, not because the difficulty is low. The blockchains in the subblocks aren't forks because they aren't linked. They exist in parallel rather than in series. You can think of them as different but equally valid versions of the same transaction history Each level 1 superblock, created by a level 2 miner, is just a short blockchain- a chain of regular blocks. 2nd level mining Level 1 blocks are ordered and processed into blockchains to create level 1 superblocks and duplicate transactions are deleted so that only one instance can be spent. The hash is a little more difficult and the mining reward is a little better. Seems from these quotes that: A) Difficulty is much lower in level 2 B) Miners will create duplicate level 2 chains C) All but one duplicate is discarded Explain why no extra PoW is thrown away compared to bitcoin?
|
|
|
|
|