Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: BrotherCreamy on November 21, 2022, 03:00:55 AM



Title: Scaling Bitcoin with Inherited IDs
Post by: BrotherCreamy on November 21, 2022, 03:00:55 AM
Hi guys,

In a previous thread (https://bitcointalk.org/index.php?topic=5414686.0 (https://bitcointalk.org/index.php?topic=5414686.0)), I discussed with people ways that Bitcoin might be able to scale to billions of users (which cannot be addressed by LN or similar L2s).

Since then, I've come across this paper "Scaling Bitcoin with Inherited IDs" (https://github.com/JohnLaw2/btc-iids/blob/main/iids14.pdf (https://github.com/JohnLaw2/btc-iids/blob/main/iids14.pdf)) by John Law, in which he describes a change to Bitcoin which he calls "Inherited IDs", which would in theory allow Bitcoin to scale effectively to many more users than currently.

I'm too silly to understand the theoretical impact of this idea, so I was hoping someone could elucidate it for me.

It seems like it might have merit, but I can't be certain if it's snake oil or not.

What do you guys think?


Title: Re: Scaling Bitcoin with Inherited IDs
Post by: NotATether on November 21, 2022, 05:31:39 AM
You probably figured out what the IIDs are: Instead of having a transaction specified as 343207abc972491:0 (first output of some random tx), you would specify in terms of the transaction that created the input used in 343207abc972491. Or the previous transaction, or its previous transaction, and so on.


Four different L2 protocols are proposed in that paper, but they all require the concept of IIDs to be implemented in Bitcoin protocol. Three of them create multi-party channels (2Stage is more like vanilla LN), and the concept is strikingly similar to the Settlements idea I formulated in the other thread.


Title: Re: Scaling Bitcoin with Inherited IDs
Post by: BrotherCreamy on November 21, 2022, 06:14:35 AM
You probably figured out what the IIDs are: Instead of having a transaction specified as 343207abc972491:0 (first output of some random tx), you would specify in terms of the transaction that created the input used in 343207abc972491. Or the previous transaction, or its previous transaction, and so on.


Four different L2 protocols are proposed in that paper, but they all require the concept of IIDs to be implemented in Bitcoin protocol. Three of them create multi-party channels (2Stage is more like vanilla LN), and the concept is strikingly similar to the Settlements idea I formulated in the other thread.


Except one would assume there is a good reason for wanting to change the Bitcoin protocol.
Does your idea require similar changes, or do you claim to be able to do the same thing but without the protocol changes?

Do you think IIDs are necessary for scaling - why or why not?

I can see how IIDs work, but I am unsure about the implications for scaling.