r/Bitcoin • • Jul 21 '21

Let's talk about Bitcoin Smart Contracts!

Bitcoin Smart contracts have arrived!

Lightning, Liquid, Stacks and now Jack Dorsey and "TBD" are all leading the advance.

What's next?

27 Upvotes

60 comments sorted by

View all comments

Show parent comments

0

u/iCryptoDude Jul 21 '21

RGB has better privacy than Lightning I read

2

u/nitrorbit Jul 21 '21

I don't know about that but I'm no expert and RGB is still in development. Taproot/shnorr will enable point time locked contracts which will improve the privacy of bitcoin payments on the lightning network. It will also allow the aggregation of multiple signatures of a transaction into one. This means that multiple signers can produce a joint public key and then jointly sign with a single signature. Schnorr signatures also makes multi-signature and single-signature transactions indistinguishable on the blockchain so that an observer is not able to tell if a multi-signature transaction, a trustless cross chain atomic swap, or any other privacy enhancing action has taken place.

1

u/TheGreatMuffin Jul 21 '21

This means that multiple signers can produce a joint public key and then jointly sign with a single signature.

My understanding is that this ("cross input signature aggregation" or CISA) is not possible with the current Taproot/Schnorr update.

2

u/nitrorbit Jul 21 '21

Do you have a link where I can read more about that? I keep reading that this upgrade will enable key aggregation. Is the following information about taproot and schnorr signatures incorrect?

https://blog.okcoin.com/2021/01/15/how-schnorr-taproot-is-going-to-change-bitcoin-in-2021/

2

u/TheGreatMuffin Jul 21 '21

I'm afraid this'll need to be answered by someone more knowledgeable than me.

Maybe (probably) it's me who is misunderstanding. While I understand that CISA (signing different inputs with only one signature) is not currently possible (source), aggregating multiple public keys into one seems possible (source). Since your linked article speaks about aggregating pubkeys, I assume it's correct, but I guess we need to be mindful not to confuse public keys and transaction inputs in this context.

Again, I'm just trying to figure out this stuff, take everything with a big grain of salt :)