The Stack Overflow podcast is back! Listen to an interview with our new CEO.

Hot answers tagged

9

TCP and other stream based protocols do not have a 1-to-1 correlation of application level messages and IP packets. If you call send() 3 times, it might result in sending a single IP packet over the wire (eg, due to Nagle's algorithm which is enabled by default), it might get sent individually as 3 packets, as you would expect from a packet oriented protocol ...


8

A deanonymizing dust attack works by sending dust to large amounts of addresses. The assumption is that when people send transactions/perform consolidations in the future, dust from multiple addresses will be grouped into a single transaction, thus revealing many addresses controlled by a single entity, since the dust would be swept in a single tx. (this ...


6

Your address is a classical 1 (Pay-to-public-key-hash) address. Your friend has a newer Bech32 Pay-to-Witness-public-key-hash-type address. The block explorer you referenced is partially compatible with Bech32. Sometimes, it doesn't work. On the other hand, there's nothing that prevents you from looking at your friend's transactions using a different block ...


6

In Confidential Transactions (as used in Blockstream's Elements and Liquid), there are still identifiable UTXOs. The only change is that instead of the amount, a homomorphic commitment to the amount is stored. While not technically correct, you could see it as a form of encryption that is compatible with addition and subtraction. So if a+b=c+d then E(a)+E(b)...


4

To add to Raghav's answer: Practically, as a typical user, it can be difficult to deal with a dust attack. There is no way to stop or disallow the receiving of a transaction, so the user can only react to the attack after it has occurred. The good thing is, by taking the proper actions a user can easily and effectively mitigate against the attack. In a ...


3

Assume you are using a unique common address for each customer and at the end of the day/week/month you make payments to your employees, suppliers or partners. When making those payments, if those outgoing amounts exceed the amounts received from one customer, you will have to include inputs coming from other customers. If some of your customer addresses ...


3

Bitcoin is not yet built with a privacy layer, all transactions are public and immutable, meaning they are visible to everyone, everywhere, forever. If you wish to make a private transaction, you are better off using another blockchain like Monero, Zcash, or one of the many others focused on maintaining user privacy.


3

The paper you link to when used as advice rather than a scholarly investigation into the tradeoffs of different choices is outright bad advice. The attacks they give are largely generic and have little to do with tor itself, while use of tor provides non-trivial protection against many other vectors, and if used consistently and exclusively at least ...


3

Currently, best practices are to receive coins to an address only once - Any reasonably new wallet will generate a new receiving address for you if the previously displayed one has already received coins. However, there are scenarios where an address might receive coins multiple times, such as being a saved address on an exchange, stored with an automatic ...


3

I suggest we say channel balance instead of channel state (the state is encoded by a signed commitment TX and if it leaks you could loose your funds) As for the balance such a dilemma indeed exists. Indeed routing becomes more trial and error without public channel balances. Yet, there will probably be methods that allow to predict routes with higher ...


2

With option 2, most analyses will conclude that Alice owned A1, A2 and A3, because the transactions which spent them have no change address. Typically, you assume that the amount you have held in a TXO never exactly matches the amount you're making as a payment, so transactions usually have change outputs too. I think you have a little misunderstanding ...


2

Can this effectively be used to break/hide a Bitcoin transaction chain? No, the block explorers you've mentioned simply do not include code that is capable of decyphering the nonstandard transaction you've linked to. Importantly: Bitcoin transactions do not include a 'from address', instead they reference a valid unspent transaction output (UTXO) that ...


2

HD vs non-deterministic: "HD" means "hierarchical deterministic". "deterministic" means: all private keys are generated from a seed, "knowing the seed = knowing all the private keys", so that frequent backup is no longer needed. "hierarchical" means: you can manage multiple coins/accounts/address types with only one seed. Watch-only wallets are supposed ...


2

In lightning network payments are onion routed. The only thing a PSV could reveal is the previous and next hop, but they can not know the origin or the destination. They know it came from Alice, and went to Bob, but they do not know where Alice may have gotten it from, or where Bob may send it to.


2

Actually, the BOLT has been designed with very strong privacy properties with regard to watchtowers. You can give all your commitment tx id first halves to one watchtower and it still doesn't learn anything about the second halves, others txs or anything else about the state of the channel (or which channel it is watching at all), as long as the full ...


2

Using a mixer helps preserve your financial privacy. The question is: who are you protecting your privacy from? Bitcoin transactions are public record, so anybody can view any historical transaction at their leisure. So when considering your privacy, there are a few different situations worth exploring, for example: An unrelated third party is looking at ...


2

To add to Rene’s answer: The protocol design currently allows the probing of viable paths to leak just enough information to let you determine whether all channels along route provide adequate liquidity or not, without revealing the individual channel balances. Note though that one could use probing (receiver and sender controlled by same individual) with ...


2

...does this present a privacy risk? Privacy concerns can be boiled down to the following questions: what information am I giving up by engaging in this transaction? And who am I sacrificing this information to? When you engage with some counterparty to make a payment, they will gain knowledge about your involvement in the bitcoin transaction that includes ...


2

I am not sure if I get your question right. Please tell me if not and I shall iterate on my answer. First of all the lightning network indeed has a different privacy model only opening and closing of channels is stored to the redundant public ledger called blockchain. Once the channel is open even when routing is applied the payment itself is pretty private....


2

A funding transaction is one where some money is paid into a P2WSH transaction output, where the redeeemScript is a 2-of-2 multisig between the two participants. No other information is provided. Technically, even the redeemScript for the funding is not revealed until the funding transaction output is spent (channel closed), which makes it less obvious that ...


1

As per my understanding what you are proposing can be achieved with Schnorr signatures, which will be implemented with Taproot. Since Schnorr signatures permit key aggregation, you can construct a single public key (threshold public key) from multiple participant public keys, which in your case is N + initiator. When spending you can just combine the ...


1

But what if someone has a copy of (e.g. steals) the original file? How can I certify I was the original owner? If you want to use the bitcoin blockchain as timestamped proof that you had the idea (document) first, then you’d need to be the first one to submit the document for a time stamp. A timestamp doesn’t prove ownership of an idea, just possession of ...


1

The Lightning Network does not have the same problems as Bitcoin because all communication is done over an encrypted and authenticated protocol. Lightning Nodes are identified by their public keys, such that communication only occurs between somebody with the matching private key to the public key expected by the connection initiator, making MITM attacks not ...


1

Sidenote: bitcoins exist as unspent transaction outputs (UTXOs), so with this in mind the two options you outlined for Alice create two different situations: in situation 1, Alice will have one UTXO. In situation 2, Alice will have 3 UTXOs. The question you've asked involves an analysis of UTXOs, so I thought this was worth mentioning. Can someone ...


1

In a transaction bitcoin, there is not information on the recipient, right? Correct, the address/script that the payment is sent to does not have any user or wallet-identifying information included in it. How do services such as blockchain.com track information about a transaction, from which wallets have they started and to which wallets have they ...


1

Block explorers know some information about wallets because they belong to public entities with known addresses. Other wallets are known because Bitcoin wallets typically follow a spending pattern where it's very easy to link together outputs and inputs belonging to the same wallet. For example: in most transactions all inputs belong to the same wallet ...


1

your identity can be linked to bitcoins in more ways: exchange site can gather info about you (your IP address, ID, bank account, etc), your transactions are public through blockchain, your IP can get registered when you send BTC, your IP address can be registered when you visit BTC forums or any website/honeypot related to darknet markets (illegal ...


1

If you are running -onlynet=onion, there is no need to open any router ports. Perhaps I misunderstand your question. If your chain state is caught up, and bitcoind+Tor is properly configured, you should be serving data to other nodes, even behind an otherwise locked-down home router. What result do you get when running $ bitcoin-cli getpeerinfo | grep ...


1

The old wallet is unaffected, assuming it uses separate data files (e.g. when new wallet is on a different computer or is a different software product). The password is typically used to protect the program's critical data by encrypting it. It does not change the private-keys. In the case of Bitcoin core, the data files would be wallet.dat (where private ...


1

Generally, there is no information in a bitcoin transaction which indicates the amount being transacted between two parties. An outside observer can view the value of inputs and outputs, but the ownership of each output will be unknown to them. More specifically, the change output is often indistinguishable from the other outputs, so an outside observer may ...


Only top voted, non community-wiki answers of a minimum length are eligible