Bitcoin Forum
April 30, 2024, 10:29:06 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 461 »
1  Bitcoin / Electrum / Re: For Electrum users. Stake your public key on: April 12, 2024, 02:04:28 AM
Although it is (currently) safe to post your public key, it is better not to do that, that is why we have Pay-to-Public-Key-Hash and not Public-Key, and for the same reason it is strongly recommended not to reuse addresses.

Therefore, instead of staking public key, we can use separate software, such as encrypting a message using Gpg4win or any of these programs https://www.openpgp.org/software/.
The security tradeoff, if implemented correctly wouldn't be worse than signing a message, or sending a transaction on the network. It isn't as much about the exposure of your public key since the security risk is still minimal but its more about the robustness of it.
2  Bitcoin / Development & Technical Discussion / Re: Looking for good fee estimation APIs on: April 11, 2024, 04:03:38 PM
I have always wondered how Bitcoin Core and other wallets/platforms calculate the average transaction fee from the last N (5?) blocks as well as the economical fee, high priority fee, etc.

Do they just look at the getblocktemplate and take the lowest fee paid by a transaction? Or maybe the one in the middle?

The raw mempool does contain information on both the fees and sizes of each transaction.

(No, I haven't looked into CBlockPolicyEstimator yet...)
By organizing transactions in their mempool into different fee buckets and see which transactions or buckets are being mined and use that with a time decay. This allows Core to estimate a confidence rate of fees for recommendation. This gist explains better than I can: https://gist.github.com/morcos/d3637f015bc4e607e1fd10d8351e9f41. The PR mentioned in that was merged in 0.15.0.

IIRC the rationale of not using mempool as an estimate was to provide a more conservative estimate. I think if you want to, it can be improved but with some tradeoff so I'm not sure if its worth it: https://github.com/bitcoin/bitcoin/issues/27995.

Anyhow, there is a trend with the fees, or at least a pattern in the frequency that people are sending transactions. It'll definitely be a fun ML project to take on.  Wink
3  Bitcoin / Electrum / Re: For Electrum users. Stake your public key on: April 11, 2024, 03:49:54 PM
Other tools have to have implemented ECIES in the same way Electrum does to be able to decode the Base64 and decrypt the encrypted message. Considering that there is no universal standard in Bitcoin world for it and I haven't seen this option in any other wallets, I don't think it is feasible to use other tools, they'll have to only use Electrum.
Also have to caveat that you shouldn't be using any random tool for this since there's no standard for this. In fact, the original implementation by jackjack had flaws which was only corrected in Electrum after release. It was not suitable for production and cryptography goes beyond simply just implementing it. Between using a well established standard like PGP and an implementation by wallets, I'd prefer PGP.

Not saying that Electrum is bad, but it does help that PGP is more widely established and researched on rather than the implementations by single wallets.
4  Bitcoin / Bitcoin Technical Support / Re: Absolute minimal node disk use configuration on: April 11, 2024, 12:26:20 PM
Quote
Even if RAM is extremely reliable and that the server is never shutdown, Core would still attempt to flush chainstate to disk as the IBD progresses. Hence, it is necessary for the disk to have sufficient space to accomodate the chainstate, no way around that.
I've synced a pruned node in /dev/shm in the past. Works fine Tongue
That's including swap I suppose. If you're trying to keep your chainstate in your RAM, then that's the expected behavior (flushing) which is quite different from using your ram as a tmpfs or ramdisk. If you're using /dev/shm as a ram disk, then you can only use half of the RAM, and you'll have to consider the different overheads as well. Likely would require over 32GB of ram, which would probably mean that it's going to be a couple of times more than just adding half a terabyte to your server.

5  Bitcoin / Bitcoin Technical Support / Re: Absolute minimal node disk use configuration on: April 11, 2024, 06:18:40 AM
Any failure in your RAM pretty much fucks up your computer. Luckily, it's rare for RAM to fail after it's properly installed.
Yeah, that's why mission critical configurations have ECC and not for normal consumers. Even a slight corruption in the chainstate would be bad.

Each time Bitcoin Core verifies a block, it reads/writes a lot to chainstate. If you're low on RAM, the disk will be the bottleneck.
Bitcoin Core only stores as much chainstate on the ram as you allow it. Keeping the entire chainstate on the RAM, permanently and not as a cache, would probably cause more problems than it solves.


Regardless, the behavior for the chainstate flushing during IBD of a pruned node should be that the flushing occurs everytime that the blocks are removed from disk. Even if RAM is extremely reliable and that the server is never shutdown, Core would still attempt to flush chainstate to disk as the IBD progresses. Hence, it is necessary for the disk to have sufficient space to accomodate the chainstate, no way around that.
6  Bitcoin / Bitcoin Technical Support / Re: Absolute minimal node disk use configuration on: April 11, 2024, 03:46:05 AM
I *think* that if you set the dbcache to a high enough value then it's just going to keep the entire chainstate in RAM and then only flush it to disk on program exit (which I know is not very helpful but maybe you can delete the folder when the program is finished. Caveat: I'm don't know if this will make Bitcoin Core complain.)
Storage is far cheaper than RAM, and note that since your entire chainstate is in RAM, any corruption to the RAM would result in a catastrophic failure and thus another reindex. I doubt it wouldn't try to reserve the space for chainstate on the disk at all times. So it'll be far easier to just get more storage.
7  Bitcoin / Electrum / Re: For Electrum users. Stake your public key on: April 11, 2024, 03:25:40 AM
No good reason why you should use this over PGP. PGP is specifically designed for secure encryption and decryption while this is just good enough, having PGP makes everything much more streamlined with its web of trust and the different features specific for such systems. PGP has more development and hardening as compared to this which uses ECIES and requires you to maintain a separate set of keys for encryption and decryption.
8  Bitcoin / Bitcoin Discussion / Re: Using testnet as a security option. on: April 09, 2024, 11:53:01 AM
Only flaw is that no one would use Testnet unless they are already using Bitcoin. Unless you're trying to fool some ridiculously incompetent adversary, this probably wouldn't work and would essentially be a confirmation that you use Bitcoin. Distraction won't work at all, and a decoy wallet that contains a small amount of Bitcoin would probably be a better idea.
9  Bitcoin / Development & Technical Discussion / Re: An unexpected backup system suggestion on: April 09, 2024, 08:21:07 AM
I dunno - the whole thing about security through obscurity is very fragile and it just takes one vulnerability to knock out the parts that you are using, whether it's by migrating to newer or different parts with a mitigation, or by a cyberattack in case you are not so lucky.

I feel like after seeing all these unpatchable hardware-level vulnerabilities such as Spectre and DMP (and to some extent the RowHammer family of exploits), we need to have more eyeballs looking at the design so that these kind of things are less likely to go unnoticed. Of course the examples I mention affecting CPUs that have no chance of getting open-sourced at all, but I really do think there's a chance for HSMs.

Just some food for thought.
CPUs don't really benefit that much from the entire concept of security by obscurity but they are proprietary because of the significant R&D and stuff that is going into the chips. Asking them to open source their chips would be quite unreasonable from a business perspective and probably would never happen.

I've got no doubt that HSMs already have their inhouse red team to try to attack and crack their own chips and it is unlikely for an adversary, say a state sponsored attacker at worst to be able to understand the inner-workings thoroughly enough to break the HSM. My take is that security by obscurity works, and that open sourcing stuff doesn't exactly benefit manufacturers from a business perspective, considering the amount of money on R&D and certifications as well as the potential threats by doing so. We've had plenty of vulnerabilities from open source codes and notably some of the more serious ones were not disclosed and secretly used to develop their own exploits. I have no doubt that this could happen if given the chance.
10  Bitcoin / Development & Technical Discussion / Re: An unexpected backup system suggestion on: April 09, 2024, 08:05:51 AM
What do you think it would take for a bunch of people or a consortium to come together to make a widely used open-source HSM specification?

I mean, I am aware of HSMs costing literally thousands of dollars to buy, the stand-alone devices at least. So there must be some sort of vested interest even for the corporations using these things to eliminate the costs, right?
Quite significant, I would expect. HSMs are very specialized chips and they are required to withstand various attacks from sidechannels, fault injections, tampering etc. Most of them are certified and hardware wallet manufacturers are generally more keen to use those that are available on the market, which is often proprietary and closed source as compared to open source ones, likely due to the track record and stuff.

They are obscure for a reason, which likely allows it to benefit from security from obscurity, which is especially important for devices which are required to be secure. You don't want people trying to probe around to see what makes it tick.
11  Bitcoin / Development & Technical Discussion / Re: An unexpected backup system suggestion on: April 09, 2024, 07:03:20 AM
I'm quite ignorant about hardware wallet design so pardon me, but can you give me some examples of some components that are completely proprietary? I'm guessing whatever HSM (hardware security module) is used in there firstly. But then again, if a module could be demonstrated to be provably secure - at least against modern-day attacks - what exactly is the point of not making all the parts deterministic like a software wallet?
HSM is probably one of the most notable one, but I think MCUs are generally not as guarded though I wouldn't doubt if they aren't willing to release schematics on these. These are deterministic (similar design and components are on every device), but given the obscure nature of it, you wouldn't know if any backdoors are already in the chip if you have zero access to the internals.

Hardware wallets are generally tamperproof which means that it would be difficult to exactly inspect each and every component in the device. Let's say you know exactly which components are on the device, which isn't quite difficult (a quick visual scan will do, xray can be used if you really want to be sure), then I don't see how this still wouldn't require the user trusting the manufacturer.
12  Bitcoin / Development & Technical Discussion / Re: An unexpected backup system suggestion on: April 09, 2024, 06:48:03 AM
The aim of a deterministic keys wallet is easy backup and recovery while still maintaining good security. Address re-use should by default be minimized. I don't want to deal with when to use new keys and manage change. I expect the wallet to do this for me properly.

Legacy wallets that used a key pool of unrelated random private keys had their particular issues. Only file backup was possible. Restore of an older version of a wallet could lead to loss of funds if the key pool missmatched from latest to restored version. Usage of signing devices like hardware wallets or air-gapped setups aren't easy if not impossible with a key pool of random private keys.
FWIW, hierarchical deterministic wallets like Bitcoin Core requires a new backup given a password change. Certain activities to the wallet will result in a refresh of the HD seed and thereby requiring a new backup. Mnemonics are designed to make it easier for people to write them down and read them.

What is there to not trust about a hardware wallet whose schemata, PCB designs and firmware are all publicly available and open source? That would be equivalent to a software wallet being open source in terms of checking the code.

It does require you to go out and learn a few things about circuit board design, but isn't that the case with learning a new programming language as well? In my opinion, it is worth going out to learn about those things since a special-purpose hardware wallet is more secure than even a secure software running on a generic computer.
Not saying that I agree with him but there are merits to this arguments. It's not a matter of inspecting the entire PCB with your naked eye or reading the codes. There's no way of knowing what exactly each chip is for and the entire design and layout of PCB, because certain components are designed to be a blackbox for security. In fact, it would be difficult to tell if your firmware is indeed flashed to the one that you've uploaded to the device.

Ok, yeah, Luke is a controversial figure, having stated that he doesn't trust hardware devices etc, but in my opinion, it's a good example of the "don't reinvent the wheel" narrative.
I think the issue is less about reinventing the wheel and more about knowing what you're doing and guarding against potential attack vectors. If you thoroughly understand and guard against what's potentially a threat, then I don't see how it would be bad since majority of them are a direct result of human error. Not trusting BIP39 is okay, or using GPG to encrypt every single WIF private key is fine too, but it's just a less efficient way and one that doesn't make much sense given the alternatives that we have.
13  Bitcoin / Bitcoin Discussion / Re: bitcoin mining without the coinbase block reward on: April 09, 2024, 02:22:59 AM
And it gets worse with solutions like the Lightning Network, which are helpful indeed in terms of sending txs at a very low fee, but (if successful) they would reduce demand for on-chain transactions..
This is not true. The fee market and the demand curve will always have a point of saturation where additional fees and demands doesn't increase the total revenue. Lightning network is absolutely needed to offload some of it on the second layer while still maintaining on-chain settlement.

It help indirectly because with less input cost for mining, Bitcoin miners will install more rigs, add more hashrate to the network, that makes the network more secured. It improves security.
The cost is related of the revenue of Bitcoin mining, and thereby if your revenue of the miner drops, then the cost to attain X% of the hashrate decreases proportionally. The simple logical way of thinking is that miners won't mine at a loss and a drop in revenue equates to either a scaledown in operation or a slower growth. Even if your efficiency of ASIC gets ridiculously high, the cost of them would be a key factor in whether Bitcoin gets attacked or not.

In addition, we go through this so-called renewal of ASICs when newer ASICs are released. Miners will not purchase them unless it makes sense, ROI is better than the current ASICs and that all of the scrap and cost overheads are accounted for.

Block size increase, increased in demand for blockspace, etc. These are the key factors to consider. If Bitcoin doesn't go mainstream by the time coinbase rewards goes to negligible, then it would be an issue.
14  Bitcoin / Bitcoin Technical Support / Re: How easy BTC could be susceptible to computer security threats? on: April 09, 2024, 02:05:44 AM
Your funds is only as safe as the device you store it in, i.e. if you store your funds in an airgapped wallet, it is safer that someone who stores theirs in an online machine. However, you must also know exactly what you are doing, so many people create their airgapped wallet in an unsafe environment and end up losing their funds. Opsec is also very important, as well as implementing extra layers of security, i.e. extending your seed phrase with a passphrase or setting up a multisig wallet.
Storage is important but so is the usage. You'd have to be sure to use your keys only in sanitized environment, and preferably separate from each other in the case of multisig or it'll negate the benefits. Extending your seed phrase would ensure that the adversary won't directly gain access to your wallet but it doesn't mean that you won't be susceptible to extortion or a $5 wrench attack. A good way to keep backups would be either in a safe or if you know what you're doing, hidden with steganography.
15  Bitcoin / Bitcoin Technical Support / Re: Full Node Behind StarLink ISP, CGNAT? on: April 09, 2024, 02:00:40 AM
You don't have to use IPV4 at all, and you can just portforward and point Bitcoin Core at the IPV6 address. Tor will also solve the problem with inbound connections without any issues, you just need an additional network layer ontop of the IPV4 that you have.
16  Bitcoin / Bitcoin Technical Support / Re: Absolute minimal node disk use configuration on: April 09, 2024, 01:56:51 AM
Most blockchain explorers offer a public API for users to query but that'll mean that you would have to trust their information to be accurate. If that fits your purpose, then you can try to use those: BlockCypher, SoChain for example. Caveat is that since you're not able to run your own node and verify the data, there is no way of knowing if they are accurate.
17  Bitcoin / Development & Technical Discussion / Re: Security of signing a message? on: March 18, 2024, 01:38:04 AM
Maybe this is a distinction I wasn't aware of.  I'd just be using the message signing tool from Trezor as seen here
https://blog.trezor.io/featurefriday-sign-verify-2c657af39b0c#:~:text=Click%20%E2%80%9CSign.%E2%80%9D,box%20on%20your%20computer%20screen.
Yeah, it's fine.
and (hopefully) not using any kind of transaction signing.  Maybe in the case of these hacks people were signing transactions rather than messages?  I guess I was just trying to make sure I could type anything into the "message" section using the sign message feature shown above on Trezor and it would be safe.  At the very least though I can avoid typing any kind of transaction hashes or programming language as it shouldn't be necessary and would raise red flags if they asked something like that to be the message.   
Ethereum works quite differently from Bitcoin. With Bitcoin, the message signing function is solely used for the message signing/verification purpose. It is very different from signing a transaction, you cannot just sign a transaction using the transaction ID. It's just common sense for people to not sign messages with content that they don't fully understand.

18  Bitcoin / Development & Technical Discussion / Re: Security of signing a message? on: March 17, 2024, 08:08:29 AM
I guess my question is I'm not sure exactly what signing a message is doing.  I always assumed it was just a way to broadcast a message to the network and it didn't actually allow for sending a transaction.  If you type the wrong thing or sign a message with a transaction hash does it have the power to compromise or send a transaction out of your wallet?
Transactions have a signature that ensures that the inputs can be spent and is valid. You should not sign any transactions that you cannot trust; but the way that the signature is generated is quite different. Bitcoin signed message has a very specific syntax, so long as you are using the message signing function (not transaction signing) then it would be fine.

If they ask me to sign a message with a transaction hash is that inherently dangerous?  
Is signing a message with just today's date dangerous?
No and yes. Nothing would happen if you sign a transaction ID using the message signing tool**, though there is really no reason why you should be doing so. Using the signed message tool for Bitcoin Core would guarantee an invalid signature if used. The transaction data isn't just the transaction hash and since the message prepends "Bitcoin Signed Message:", it wouldn't be valid for a transaction signature regardless.

I recommend including more details like the purpose and for whom, just to ensure that it can't be reused or otherwise misconstrued.

** I'm not familiar about the implementation of Ethereum's wallet but it is not an issue with Bitcoin wallets to my knowledge because the message signing is distinctively different from transaction signing.
19  Bitcoin / Bitcoin Technical Support / Re: Quantum Computing and Bitcoin private key on: March 12, 2024, 10:11:49 AM
Quantum computers are not going to be cheap that average people are going to have one for each. I doubt even millionaires [at-least for the first few decades] will have one for each. It's going to be highly expensive that only government funded agencies can afford it. So when a coin will move, they will not tell it stealing, they will call it breaking bitcoin's security.
Depends, we've seen loads of stuff happening on the computing clusters of quite a few university as well. Cost is only going to get cheaper, until the point where someone with malicious intentions have access to it. Besides, it would be a matter of time, and that is unless you think Bitcoin won't survive for that long.

Government sponsored attacks are not uncommon, just look at the APTs out there for example, and I wouldn't have a doubt that these gets stolen by a semi-big country to evade sanctions.

We can not ignore the fact that it's not going to happen too.

Quote
Bitcoin already has some built-in quantum resistance. If you only use Bitcoin addresses one time, which has always been the recommended practice, then your ECDSA public key is only ever revealed at the one time that you spend bitcoins sent to each address. A quantum computer would need to be able to break your key in the short time between when your transaction is first sent and when it gets into a block. It will likely be decades after a quantum computer first breaks a Bitcoin key before quantum computers become this fast
This is accurate. However, we aren't talking about these Bitcoin addresses in this scenario. Change address is quite commonly used now but P2PK and address reuse was quite prominent previously.  Counting P2PK keys and address reuse, we are looking at more than a million or two Bitcoins, and they aren't necessarily going to be moved before this happens.
20  Bitcoin / Development & Technical Discussion / Re: Bitcoin's Quantum Evolution on: March 11, 2024, 03:07:29 PM
On a side note, can someone remind whether address (which assumed to be owned by Satoshi) use P2PK or P2PKH? After all, P2PKH exist since Bitcoin 0.1.0.
Bitcoin-qt at that time used to mine block rewards to P2PK addresses, but transaction between wallets uses addresses.
Short answer, improve what we've done to make people move from legacy address (starts with either 1... or 3...) to Bech32/Bech32m address.
Legacy to Bech32 and Bech32m didn't gain traction earlier on because many exchanges either didn't recognize these addresses or were still generating legacy addresses. The general reluctance would probably be gone once they realize it's either getting your coins stolen or transfer to a new address.
SHA256 is the least of our worries. It's not particularily vulnerable to quantum computing and SHA256 ASICs are likely to outpace quantum computing even well after they've become capable of deriving private keys.

Also be aware that you're mixing apples and oranges. The 3 algorithms you mentioned are signature schemes whereas SHA256 is a hash function. Those are fundamentally different things used in fundamentally different manners.
FWIW, BHT algorithm lowers the complexity for collision finding, which can be dangerous if and only if it is feasible. Finding pre-image of SHA256 would be tougher and isn't a concern, specifically relating to mining. The speedup from doing so is not high enough, complexity should still be around 2^80, IIRC.
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 461 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!