Privacy in Bitcoin Transactions: Exploring Confidential Transactions

20 replies 295 views
Posts: 38 · Reputation: 19
#1Aug 8, 2018, 12:28 PM
I've been playing around with this new ring signature thing for a bigger project, and it’s called Confidential Transactions. It’s a pretty neat feature that keeps the amounts hidden from anyone except the people involved in the transaction.
2 Reply Quote Share
Posts: 60 · Reputation: 38
#2Aug 8, 2018, 01:21 PM
Shouldn't this be under the altcoin section? 😂 But honestly, I’m intrigued. Some of it goes over my head, but it’s definitely worth a look. Kudos for stepping out of the BTC box!
4 Reply Quote Share
HumbleGuruFull Member
Posts: 11 · Reputation: 765
#3Aug 8, 2018, 07:03 PM
This really sounds like a solid sidechain idea. Love how CT could change the data visibility game for Bitcoin. You get the public transaction info for integrity, but the private stuff stays private, and it doesn’t bloat the chain.
5 Reply Quote Share
r3al_5ageFull Member
Posts: 1 · Reputation: 411
#4Aug 8, 2018, 07:28 PM
If this goes live, are we gonna see two types of Bitcoin on exchanges? Like standard BTC at one price and these privacy coins at a lower price? OP, would you risk putting your BTC through that sidechain?
2 Reply Quote Share
lonefarmNewbie
Posts: 4 · Reputation: 36
#5Aug 8, 2018, 09:52 PM
Yeah, tracking taint goes against what money should be. Just moving funds to a sidechain and back doesn’t really mix things up if you can still trace the transactions.
2 Reply Quote Share
LuckyRavenSenior Member
Posts: 2 · Reputation: 1011
#6Aug 9, 2018, 12:16 AM
I gotta say I’m impressed. Your decision to implement that ring signature method makes a lot more sense now.
4 Reply Quote Share
Posts: 38 · Reputation: 19
#7Aug 9, 2018, 02:12 AM
I don’t think you realize how this makes CoinJoins and CoinSwaps way more private. You can join with anyone anytime, no need for matching values. CoinJoin protects metadata, but it lacks content privacy. CT fills that gap perfectly.
6 Reply Quote Share
Posts: 2 · Reputation: 35
#8Aug 9, 2018, 08:18 AM
Is the exponent encrypted too? Can you explain how you handle amounts with different exponents?
1 Reply Quote Share
nonce_alphaSenior Member
Posts: 2 · Reputation: 1159
#9Aug 9, 2018, 01:53 PM
This might sound a bit anti-privacy, but do you have a screenshot of the GUI for confidential transactions? I haven’t really looked into Elements yet.
4 Reply Quote Share
Posts: 38 · Reputation: 19
#10Aug 9, 2018, 10:58 PM
There’s not much to see, honestly. You just have an address, send coins, and the amounts are hidden from view. It feels like using testnet. You can see more details in the CLI.
2 Reply Quote Share
lonefarmNewbie
Posts: 4 · Reputation: 36
#11Aug 10, 2018, 01:13 AM
So addresses are made up of the blinded key and some public key flags. But wait, doesn’t this compromise privacy? It seems like it could be tracked.
3 Reply Quote Share
Posts: 38 · Reputation: 19
#12Aug 10, 2018, 04:19 AM
Not really, it doesn’t show up on the network. Sure, it’s not perfect, but it’s a temporary solution and doesn’t mess with consensus. We can fix the blinding key situation later.
4 Reply Quote Share
Posts: 2 · Reputation: 35
#13Aug 10, 2018, 09:18 AM
Most transactions will likely be under 42.9 BTC, so most will have exponent zero. But yeah, if you use a different exponent, it could stand out. Just a heads up for anyone using CT.
4 Reply Quote Share
laser23Senior Member
Posts: 3 · Reputation: 1064
#14Aug 10, 2018, 10:40 AM
So, if it hides the amounts, does that mean CoinJoin is off the table? We can’t let transaction links between parties be visible even if the amounts are hidden.
2 Reply Quote Share
lonefarmNewbie
Posts: 4 · Reputation: 36
#15Aug 10, 2018, 11:29 AM
The outputs look random, but you can still handle them like regular CoinJoin outputs. Just keep the output value and proof together. You can add fees together too.
3 Reply Quote Share
laser23Senior Member
Posts: 3 · Reputation: 1064
#16Aug 10, 2018, 12:03 PM
I’m confused. CoinJoin rearranges inputs to keep output values the same. If input values are hidden, how does that work? I need time to wrap my head around this.
2 Reply Quote Share
lonefarmNewbie
Posts: 4 · Reputation: 36
#17Aug 10, 2018, 06:03 PM
It does work! Inputs don’t need range proofs. The CoinJoin can mix inputs as long as they fit the sighash. Outputs can be summed and proven equal to inputs.
3 Reply Quote Share
Posts: 38 · Reputation: 19
#18Aug 11, 2018, 01:48 AM
Inputs don’t carry an exponent. The exponent is for the range proof, not the values. Right now, changing the exponent is a config file thing.
2 Reply Quote Share
nonce_alphaSenior Member
Posts: 2 · Reputation: 1159
#19Aug 11, 2018, 03:08 AM
Will this ever be part of Bitcoin core, or will it stick to sidechains? It sounds like a big innovation.
3 Reply Quote Share
Posts: 60 · Reputation: 38
#20Aug 11, 2018, 03:22 AM
It adds real confidentiality now, but I’m curious what it’ll take to integrate it into core. It seems unlikely for now.
1 Reply Quote Share

Related topics