# Chain Bonded Transactions ## TLDR - I'm partially retarded and this idea might be too - Secret mining is bad - Since real economic activity is the foundation of a chain's actual value, transactions directing mining efforts is highly desirable - Chain bonded transactions (CBTs) simply include a field declaring which chain they see as currently legitimate - CBTs would effectively isolate secret chains from conducting real economic activity - This creates an imperative to identify and prune secret mining branches which are those of N-2 or greater - Transaction batons created after solving one block to be included in the next may further complement CBTs ## Background I am not particularly smart or well versed in blockchain technology. Having said that, I don't see why the following wouldn't work. But I'm also not the best person to assess its potential for working. Hopefully you are the best person and hopefully it does work (but don't count on it). ## The Problem With Secret Mining The primary problem with secret mining is inefficiency and waste. While honest miners work on top of the best information available to them, their efforts are easily misapplied due to information asymmetry. Honest network participants share information freely for the benefit of the network. Secret mining participants withhold information until it's personally beneficial. This means that large fractions of work are wasted on oblivious orphan chains, effectively downgrading overall network security. Furthermore, the secret miners are able to exploit information asymmetry to selectively throttle or accelerate efforts to achieve higher internal efficiency. A secondary problem is difficulty evasion. If all mining effort was focused on solving the same block, block times would reduce and difficulty would increase. When miners are able to selectively reveal their efforts, entire orphaned chains are excluded in the difficulty adjustment while failed secret chains remain unknown. The inability to accurately adjust difficulty is a key exploit that allows secret miners to direct substantially fewer resources than if they were competing honestly in public. A final problem is one of fairness. Entire chains have been relegated to obscurity due to private pre-mining efforts where fair public participation was impossible. The issue can be quite principled such that even a very brief period of private mining can destroy a chain's reputation. Secret mining can almost be viewed as a form of ongoing private mining except that it lures honest miners to participate, thus leeching network security in a self reinforcing doom loop. The natural Schelling point in the long run is unfortunately to join until such point that network security is completely compromised and the value of the chain erodes into nothingness. For these reasons, secret mining cannot be tolerated. What follows is an isolation and ostracization strategy. ## Real Economic Value The only real value of a chain is the economic activity that it represents. That is in fact it's *raison d'ĂȘtre*. Speculative value may change depending on a variety of reasons, but if you removed economic activity it's value would rapidly approach zero. Curiously, transaction activity is rarely if ever considered in consensus algorithms. That might be a big red flag, but the following will explore how transactions can help to provide constant affirmation in order to direct mining activity while isolating secret miners from public participation. ## Implementating CBTs A chain bonded transaction (CBT) is simply a regular transaction with an additional bonding field for supplying the first several characters of a current or previous block hash. * Wallets would monitor the network and set the bonding field to N-1 or possibly longer based on user preference or the presence of competing valid public blocks. * Nodes would be discouraged from relaying transactions with unknown block hashes in their bonding field and instead return an error requesting the missing block information. * New blocks would be invalid if they included transactions with bonding hashes that don't appear on the chain within a certain window (possibly as short as 1 or 2 blocks back or as long as the difficulty adjustment window). ## Secret Miner Isolation With CBTs in place, only the very first block of a secretly mined chain can contain real economic transactions. That means the real economic value of a secret chain is effectively zero if it continues to mine secretly beyond a single block. A secret miner may attempt to fake economic activity, however this would only damn it further. This is because both hiding or broadcasting blocks provide additional evidence of deception. Hiding transactions from the network would show an incongruence between the contents of the secret chain and real network activity. On the other hand, attempting to broadcast fake economic activity would reveal the existence of unknown block hashes throwing errors and initiating requests for block data. Failing to provide matching block data would result in peer disconnects Whether a secret chain includes fake transactions or simply mines empty blocks, CBTs prevent them from including real economic transactions circulation in the public network. As such, CBTs remove all pretences surrounding the legitimacy of secretly minded blocks. Either you participate honestly with the network or become economically isolated on the sidelines. ## Pruning Imperative Once isolated from the network by CBTs, the value of secretly mined chains becomes exactly zero. Furthermore, the value of replacing real economic chain activity in exchange for the zero value secret chain results in a net negative proposition. As a result, it becomes an actual imperative to prevent secret chains from displacing the activities of publicly mined blocks. By addressing this albeit self-induced short term imperative, the longer term prisoner's dilemma between honest and secret miners is avoided altogether. ## Pruning Strategies While the longest-chain rule passively orphans slower blocks/chains, a more active system of rejection is necessary to prune secret chains. Because of CBTs, under normal circumstances the vast majority of transaction activity will be anchored to N-1 block height. As a result, any proposed chain reorganization of N-2 or greater, where the progression of the chain was not actively shared, can simply be dismissed and ignored by the network for failing to stay in sync with publicly broadcasted transaction activity. In the reduced likelihood that a secretly mined chain does emerge, an active measure to acknowledge it's existence could be beneficial to newly activated network nodes. This could be achieved by either: 1. keeping and sharing a blacklist of invalid branch root hashes until they are no longer in contention for longest chain. 2. publishing the invalid branch root hash directly on the chain in the next block. Either of these options should allow newly activated nodes to rapidly come into sync with the public network while ignoring active pest chains. Of course, the mere presence of a pruning system likely ensures it never needs to be used, however it certainly would be entertaining watch a secret mining pool try to keep pace with a main chain that simply doesn't care how much work it sinks into its siloed existence. ## Transaction Baton With CBTs in place, it may be desirable to adopt an additional layer of convention by broadcasting a special transaction immediately after solving a block. This transaction would behave like a relay race baton passed forward from one block to the next by setting the chain bonding field to N (the current block hash) and including some block info from the previous block in the tx_extra field. By mandating the inclusion of a transaction baton for the next block to be valid, secret miners are placed into a further predicament. If they choose not to broadcast a baton, it further indicts their non-participation when they eventually reveal their private work to the public network. Alternatively, if a secret miner does broadcast a baton, receiving nodes would throw an error and respond with a request for the missing block information. If the secret miner fails to respond with the corresponding block, they would face disconnection as a faulty or malicious node.