smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
April 26, 2015, 10:18:01 PM |
|
I don't think 64 GB of storage is gonna cut it. Long term, pruning. Full nodes needs all blockchain on disk. No place for "pruning". Did you see the latest commit on pruning? Allows you to specify max disk usage and it prunes old blocks.. validates by reindexing which downloads all chain then prunes. You check it out? I wonder what the point is if youhave todownload the full chain anyway why prune? The main bottleneck is the lenghty sync time not storage space. That's not really full node it is more like a "full" node (I've also seen the former called archive nodes). You can't serve blocks to other users if you don't store them. I also noticed that it has logic to stop sending blocks requested that have been pruned. So there is assumption that there are full nodes out there to give you the block that others have pruned.
Exactly.
|
|
|
|
sidhujag
Legendary
Offline
Activity: 2044
Merit: 1005
|
|
April 26, 2015, 10:29:30 PM |
|
I don't think 64 GB of storage is gonna cut it. Long term, pruning. Full nodes needs all blockchain on disk. No place for "pruning". Did you see the latest commit on pruning? Allows you to specify max disk usage and it prunes old blocks.. validates by reindexing which downloads all chain then prunes. You check it out? I wonder what the point is if youhave todownload the full chain anyway why prune? The main bottleneck is the lenghty sync time not storage space. That's not really full node it is more like a "full" node (I've also seen the former called archive nodes). You can't serve blocks to other users if you don't store them. I also noticed that it has logic to stop sending blocks requested that have been pruned. So there is assumption that there are full nodes out there to give you the block that others have pruned.
Exactly. What is the purpose? Is there a way to validate the chain in a way that would allow for pruned or compressed blocks? If you need full chain to validate then doesnt really serve a useful purpose imo.
|
|
|
|
Meuh6879
Legendary
Offline
Activity: 1512
Merit: 1012
|
|
April 26, 2015, 10:31:31 PM |
|
why talk about node ... in a gold thread ?
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
April 26, 2015, 10:32:48 PM |
|
I don't think 64 GB of storage is gonna cut it. Long term, pruning. Full nodes needs all blockchain on disk. No place for "pruning". Did you see the latest commit on pruning? Allows you to specify max disk usage and it prunes old blocks.. validates by reindexing which downloads all chain then prunes. You check it out? I wonder what the point is if youhave todownload the full chain anyway why prune? The main bottleneck is the lenghty sync time not storage space. That's not really full node it is more like a "full" node (I've also seen the former called archive nodes). You can't serve blocks to other users if you don't store them. I also noticed that it has logic to stop sending blocks requested that have been pruned. So there is assumption that there are full nodes out there to give you the block that others have pruned.
Exactly. What is the purpose? Is there a way to validate the chain in a way that would allow for pruned or compressed blocks? If you need full chain to validate then doesnt really serve a useful purpose imo. You can still validate and forward new blocks and transactions.
|
|
|
|
cypherdoc (OP)
Legendary
Offline
Activity: 1764
Merit: 1002
|
|
April 26, 2015, 10:33:01 PM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
|
|
|
|
sidhujag
Legendary
Offline
Activity: 2044
Merit: 1005
|
|
April 26, 2015, 10:39:10 PM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space.
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
April 26, 2015, 10:41:47 PM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model.
|
|
|
|
cypherdoc (OP)
Legendary
Offline
Activity: 1764
Merit: 1002
|
|
April 26, 2015, 10:50:09 PM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. No, you do download the entire block chain at first to independently verify. Only them do you delete all but the last 200 or so blocks.
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
April 26, 2015, 11:06:03 PM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. No, you do download the entire block chain at first to independently verify. Only them do you delete all but the last 200 or so blocks. That's exactly what I said cyperdoc.
|
|
|
|
cypherdoc (OP)
Legendary
Offline
Activity: 1764
Merit: 1002
|
|
April 26, 2015, 11:34:11 PM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. No, you do download the entire block chain at first to independently verify. Only them do you delete all but the last 200 or so blocks. That's exactly what I said cyperdoc. Then I didn't understand this part: "In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model."
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
April 27, 2015, 12:39:43 AM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. No, you do download the entire block chain at first to independently verify. Only them do you delete all but the last 200 or so blocks. That's exactly what I said cyperdoc. Then I didn't understand this part: "In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model." By "prune syncing" I meant reduce the amount of bandwidth needed for syncing so that it doesn't grow arbitrarily with the length of the chain. That doesn't exist currently.
|
|
|
|
justusranvier
Legendary
Offline
Activity: 1400
Merit: 1013
|
|
April 27, 2015, 12:52:13 AM |
|
By "prune syncing" I meant reduce the amount of bandwidth needed for syncing so that it doesn't grow arbitrarily with the length of the chain. That doesn't exist currently. I think that a yet-to-be-invented zero knowledge proof could probably achieve this eventually.
|
|
|
|
sidhujag
Legendary
Offline
Activity: 2044
Merit: 1005
|
|
April 27, 2015, 12:53:21 AM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. With spv you only get headers and maybe coinbase tx correct? So you wont be able to import your pvt key and get your txs in spv mode..
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
April 27, 2015, 12:55:13 AM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. With spv you only get headers and maybe coinbase tx correct? So you wont be able to import your pvt key and get your txs in spv mode.. No you tell the server the addresses you are interested in and it gives you those tx. However, since you don't see the other tx you can't be sure that the tx you receive actually represent a valid chain of custody back to a coinbase (unless you trust the miners).
|
|
|
|
sidhujag
Legendary
Offline
Activity: 2044
Merit: 1005
|
|
April 27, 2015, 01:18:40 AM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. With spv you only get headers and maybe coinbase tx correct? So you wont be able to import your pvt key and get your txs in spv mode.. No you tell the server the addresses you are interested in and it gives you those tx. However, since you don't see the other tx you can't be sure that the tx you receive actually represent a valid chain of custody back to a coinbase (unless you trust the miners). Ahh i see so essentialy those that dont want to sync fully can download a lite wallet which gets blocks via spv mode via a trusted node( ssl rpc).. so pruning doesnt really come into play here? If you prune then you wont be able to get your tx if trusted node pruned that block. So spv solves the blockchain sync time and pruning solves what? Being able to store on small flash disks running to relay transactions?
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
April 27, 2015, 01:23:19 AM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. With spv you only get headers and maybe coinbase tx correct? So you wont be able to import your pvt key and get your txs in spv mode.. No you tell the server the addresses you are interested in and it gives you those tx. However, since you don't see the other tx you can't be sure that the tx you receive actually represent a valid chain of custody back to a coinbase (unless you trust the miners). Ahh i see so essentialy those that dont want to sync fully can download a lite wallet which gets blocks via spv mode via a trusted node( ssl rpc).. so pruning doesnt really come into play here? If you prune then you wont be able to get your tx if trusted node pruned that block. So spv solves the blockchain sync time and pruning solves what? Being able to store on small flash disks running to relay transactions? SPV solves being able to create and receive transactions without the bandwidth requirements of a node. Pruning solves being able to run a node that validates and relays transactions (and can even mine!) without storing the entire blockchain. They can even serve SPV clients, because they have all of the unspent transactions, and that's all SPV clients would ever want. These nodes just can't sync new nodes though (at least not by themselves) since they don't have all the old blocks to share.
|
|
|
|
sidhujag
Legendary
Offline
Activity: 2044
Merit: 1005
|
|
April 27, 2015, 01:31:01 AM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. With spv you only get headers and maybe coinbase tx correct? So you wont be able to import your pvt key and get your txs in spv mode.. No you tell the server the addresses you are interested in and it gives you those tx. However, since you don't see the other tx you can't be sure that the tx you receive actually represent a valid chain of custody back to a coinbase (unless you trust the miners). Ahh i see so essentialy those that dont want to sync fully can download a lite wallet which gets blocks via spv mode via a trusted node( ssl rpc).. so pruning doesnt really come into play here? If you prune then you wont be able to get your tx if trusted node pruned that block. So spv solves the blockchain sync time and pruning solves what? Being able to store on small flash disks running to relay transactions? SPV solves being able to create and receive transactions without the bandwidth requirements of a node. Pruning solves being able to run a node that validates and relays transactions (and can even mine!) without storing the entire blockchain. They can even serve SPV clients, because they have all of the unspent transactions, and that's all SPV clients would ever want. These nodes just can't sync new nodes though (at least not by themselves) since they don't have all the old blocks to share. By unspent I assume you mean the ones in mempool. But how would one import their wallet key into an spv thin client backed by a pruned node and get correct balance? It needs tx that have been pruned?
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
April 27, 2015, 01:36:55 AM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. With spv you only get headers and maybe coinbase tx correct? So you wont be able to import your pvt key and get your txs in spv mode.. No you tell the server the addresses you are interested in and it gives you those tx. However, since you don't see the other tx you can't be sure that the tx you receive actually represent a valid chain of custody back to a coinbase (unless you trust the miners). Ahh i see so essentialy those that dont want to sync fully can download a lite wallet which gets blocks via spv mode via a trusted node( ssl rpc).. so pruning doesnt really come into play here? If you prune then you wont be able to get your tx if trusted node pruned that block. So spv solves the blockchain sync time and pruning solves what? Being able to store on small flash disks running to relay transactions? SPV solves being able to create and receive transactions without the bandwidth requirements of a node. Pruning solves being able to run a node that validates and relays transactions (and can even mine!) without storing the entire blockchain. They can even serve SPV clients, because they have all of the unspent transactions, and that's all SPV clients would ever want. These nodes just can't sync new nodes though (at least not by themselves) since they don't have all the old blocks to share. By unspent I assume you mean the ones in mempool. No mempool is unconfirmed. Unspent is means unspent. Meaning not already spent and you could therefore spend them. The total of your unspent outputs equals your balance. But how would one import their wallet key into an spv thin client backed by a pruned node and get correct balance? It needs tx that have been pruned?
Wallet imports the private key and derives a public address. Address is sent to a node, which finds all the unspent transactions for that address and returns them. You might not get old transactions (if pruned), but you will get any and all coins that are available for spending, which add up to the correct balance.
|
|
|
|
sidhujag
Legendary
Offline
Activity: 2044
Merit: 1005
|
|
April 27, 2015, 01:47:49 AM |
|
My understanding is you download the whole blockchain first for verificatio, then delete all but around the last 200 or so blocks. It works off the UTXO set.
In the case of the compute stick, you could use a separate SSD to initialize the blockchain, then disconnect it. Sticking these things in every nook and cranny could be a real problem for those against Bitcoin.
So for basically to allow for p2p tx and block relaying around the globe thru smaller mediums. The main use case I woulda thought is to reduce time for new nodes to sync up.. Since we know the price of hd is falling faster then the need for that space. The pruning stuff does not reduce sync time at all, though the recent headers-first and syncing improvements do. In order to prune syncing you have to relax the idea of independent verification and rely on someone else telling you that the part of the chain you are seeing is valid (as with SPV nodes). That's a major change to the Bitcoin trust model. With spv you only get headers and maybe coinbase tx correct? So you wont be able to import your pvt key and get your txs in spv mode.. No you tell the server the addresses you are interested in and it gives you those tx. However, since you don't see the other tx you can't be sure that the tx you receive actually represent a valid chain of custody back to a coinbase (unless you trust the miners). Ahh i see so essentialy those that dont want to sync fully can download a lite wallet which gets blocks via spv mode via a trusted node( ssl rpc).. so pruning doesnt really come into play here? If you prune then you wont be able to get your tx if trusted node pruned that block. So spv solves the blockchain sync time and pruning solves what? Being able to store on small flash disks running to relay transactions? SPV solves being able to create and receive transactions without the bandwidth requirements of a node. Pruning solves being able to run a node that validates and relays transactions (and can even mine!) without storing the entire blockchain. They can even serve SPV clients, because they have all of the unspent transactions, and that's all SPV clients would ever want. These nodes just can't sync new nodes though (at least not by themselves) since they don't have all the old blocks to share. By unspent I assume you mean the ones in mempool. No mempool is unconfirmed. Unspent is means unspent. Meaning not already spent and you could therefore spend them. The total of your unspent outputs equals your balance. But how would one import their wallet key into an spv thin client backed by a pruned node and get correct balance? It needs tx that have been pruned?
Wallet imports the private key and derives a public address. Address is sent to a node, which finds all the unspent transactions for that address and returns them. You might not get old transactions (if pruned), but you will get any and all coins that are available for spending, which add up to the correct balance. cool thanks, but I thought unspent outputs would be derived from transactions which would no longer exist in the "backend" node. How does it know the unspent balance without tallying up all of the transactions it was involved in?
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
April 27, 2015, 01:51:09 AM |
|
cool thanks, but I thought unspent outputs would be derived from transactions which would no longer exist in the "backend" node. How does it know the unspent balance without tallying up all of the transactions it was involved in?
The way pruning works is the node still receives all transactions as before. The ones that get spent, it throws away. So the ones left are the ones it keeps in its database. Those are the unspent ones. This requires much less storage.
|
|
|
|
|