I suppose this thread is getting out the rails by falling into the old "
To fork or not to fork? This is the question!" story, which cellard is an expert in it
The fact is no matter how and what bitcoin whales want it to be, forks happen and sooner or later we need to have current bitcoin retired as the former legitimate chain and the community should converge on an improved version. You just can't stop evolution from happening, ok?
For now, I'm trying to save this thread, rolling back to the original technical discussion and sharing an interesting idea with you guys meanwhile, please focus:
so lets say there is a transaction Tx1 and it is in the other half of the "data" in node Type B. and say i run node Type A. if someone pays me by spending Tx1, i do not have it in my database (blockchain) so how can i know it is a valid translation? am i supposed to assume that it is valid on faith?! or am i supposed to connect to another node and ask if the transaction is valid and then trust that other node to tell me the truth? how would you prevent fraud?
What op proposes, as correctly have been categorized by other posters in the thread is a special version of
sharding.
Although it is an open research field, it is a MUST for bitcoin. Projecting scaling problem to second layer protocols (like LN) is the worst idea because, you can't simulate bitcoin on top of bitcoin as a #2 layer, it is absurd. Going to second layer won't happen unless by giving up about some essential feature of bitcoin or at least being
tolerant about centralization and censorship threats, compromising
the cause.
So, this is it, our destiny, we need an scalable
blockchain solution and as of now, we got just sharding.
Back to Pooya objection, it occurs when a transaction that is supposed to be processed in a partition/shard is trying to access an unspent output from another shard. I think there may be a workaround for this:
Suppose in a sharding based on transaction partitioning that uses a simple mod operation where
txid mod N determines the transaction's partition number in an N shards network, we put a constraint on transactions such that wallets are highly de-incentivized/not-allowed to make a transaction from
heterogeneous outputs, i.e. outputs from transactions in multiple shards.
Now we have this transaction tx1 with its outputs belonging to transactions that are maintained on a same shard, the problem would be to which shard the transaction itself belongs? The trick is adding a nonce field to the transaction format and make
the wallet client software to perform like N/2 hashes (a very small amount of
work) to find a proper nonce that makes
txid mod N such that it fits to
the same shard as its output. For coinbase transaction, the same measure should be taken by miners.
It looks somewhat scary, being
too partitioned but I'm working on it as it looks very promising to me.