Bitcoin Forum
May 04, 2024, 09:46:15 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: I got an idea: THROW AWAY THE BLOCKCHAIN  (Read 374 times)
tonf (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
December 14, 2017, 06:18:53 PM
Last edit: December 15, 2017, 04:15:11 AM by tonf
 #1

Ok tell me what you guys think about this:

Let us say a coin's blockchain is ridiculously huge or will be. Can the protocol have an implementation where some predetermined block will be the genesis block of a brand new blockchain?

Like say that for every 1,000,000 blocks, for example, the miners put all new trannies on hold for just a sec, then gather all the existing unspent outputs in the entire blockchain together and mine a humongous genesis block for a brand new blockchain. After that they keep mining blocks like normal on the new blockchain. You don't need the old blockchain anymore, you can just throw it away.
1714815975
Hero Member
*
Offline Offline

Posts: 1714815975

View Profile Personal Message (Offline)

Ignore
1714815975
Reply with quote  #2

1714815975
Report to moderator
1714815975
Hero Member
*
Offline Offline

Posts: 1714815975

View Profile Personal Message (Offline)

Ignore
1714815975
Reply with quote  #2

1714815975
Report to moderator
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714815975
Hero Member
*
Offline Offline

Posts: 1714815975

View Profile Personal Message (Offline)

Ignore
1714815975
Reply with quote  #2

1714815975
Report to moderator
Jet Cash
Legendary
*
Offline Offline

Activity: 2702
Merit: 2456


https://JetCash.com


View Profile WWW
December 14, 2017, 06:40:01 PM
Merited by ABCbits (1)
 #2

Alterntively, you could use the existing software to run a pruned node.

Offgrid campers allow you to enjoy life and preserve your health and wealth.
Save old Cars - my project to save old cars from scrapage schemes, and to reduce the sale of new cars.
My new Bitcoin transfer address is - bc1q9gtz8e40en6glgxwk4eujuau2fk5wxrprs6fys
Anti-Cen
Member
**
Offline Offline

Activity: 210
Merit: 26

High fees = low BTC price


View Profile
December 14, 2017, 06:45:52 PM
 #3

Maybe we are saying the same thing when i say they need to archive out all the old data and create a type of snap-shot of the leader

This will buy some breathing space and involve closing BTC down for a couple of days hopefully without crashing the price.

Better bite the bullet soon because i am hearing about some transactions that are taking days to complete but mine with Coinbase
only take a second because these coins are not in the block-chain and belong to a pool and logic says to me that they are all
counterfeit but this speed comes at a great cost in exchange rates and fees.

Longer term, using this breathing space i think they need to start again from scratch and maybe take some of what IOTA has done with
Tangle plus what has been learned so far and get back to free transactions and a system that will scale and keep away from having to
batch the job using Lightning network else things will get too complicated when they try to unwind BTC1/2  for a network that is head of the game.

Mining is CPU-wars and Intel, AMD like it nearly as much as big oil likes miners wasting electricity. Is this what mankind has come too.
Anti-Cen
Member
**
Offline Offline

Activity: 210
Merit: 26

High fees = low BTC price


View Profile
December 14, 2017, 07:01:22 PM
 #4

Alterntively, you could use the existing software to run a pruned node.

I must say the $95 does look cheap for the name and was i in this market then I think i would take you up on the deal

Years ago i was buying new domain names thinking I would get rich quick but only really managed to sell one that made me £400 profit to offset
the loss on my £1000 gamble and the reason was they kept bringing out more and more top level domain names.

Point is that's just what is happening with all these alt-tokens

Many people might not know this and just repeat what someone else has told them but if you scan google search results using 36,000 search's and then
scan these sites looking for new domain names that are not being held as parked domains and you also excluded all domains that do a 302 redirect to
another domain then you are left with a number of domains that are really being used and that number for the total in the world is around 2.5 million
even if we have a billion domain name registrations.

 

Mining is CPU-wars and Intel, AMD like it nearly as much as big oil likes miners wasting electricity. Is this what mankind has come too.
tonf (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
December 14, 2017, 07:19:50 PM
 #5

Apparently there are about 25,000,000 bitcoin addresses that have a balance.

A miner can tally up all those balances, make them into genesis transactions to those same addresses, add a nonce to hit the appropriate target, mine it like normal (except for the size). Difficulty might have to be adjusted since they would be hashing a huge amount of data. Or they could maybe split it up and make many genesis blocks. Consensus would be a lot of work, but not that much. End result would be a brand new blockchain, same addresses, same balances. Don't even need the old blockchain, pruned or not.

I'm thinking though along the lines of an altcoin where that is scheduled in from the start, like every 100,000 blocks or something before it gets out of hand.
nc50lc
Legendary
*
Offline Offline

Activity: 2408
Merit: 5587


Self-proclaimed Genius


View Profile
December 15, 2017, 07:23:06 AM
Last edit: December 16, 2017, 06:08:46 AM by nc50lc
 #6

This will not be called Cryptography at all.
Use what is available and adapt to it.

Bitcoin evolved from "everybody must be able to run the node" to a competition driven by economy.

@Anti-Cen:
The thing you said about bitcoin to altcoins same with the domains, that's just how it is and that how "money-driven" things progress.
Tell me, is there something wrong with it? People just brand things/happenings/actions: good or bad, we can't do much about it.

There are Google, Facebook and useful domains, in digital currencies these are equal to Bitcoin and *others.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
ranochigo
Legendary
*
Offline Offline

Activity: 2954
Merit: 4165


View Profile
December 16, 2017, 08:54:34 AM
 #7

Let us say a coin's blockchain is ridiculously huge or will be. Can the protocol have an implementation where some predetermined block will be the genesis block of a brand new blockchain?

Like say that for every 1,000,000 blocks, for example, the miners put all new trannies on hold for just a sec, then gather all the existing unspent outputs in the entire blockchain together and mine a humongous genesis block for a brand new blockchain. After that they keep mining blocks like normal on the new blockchain. You don't need the old blockchain anymore, you can just throw it away.
No. It doesn't work that easily. The whole point of blockchain is to have a ledger where its fully transparent. What if you throw away the blockchain at block height 1,000,000 but I made a purchase for a house at block 950,000? Who can prove that I paid? In addition, what would be in that 1,000,000 block? What if a miner with sufficient mining power attempts to attack the Blockchain and change block 1,000,000?
Better bite the bullet soon because i am hearing about some transactions that are taking days to complete but mine with Coinbase
only take a second because these coins are not in the block-chain and belong to a pool and logic says to me that they are all
counterfeit but this speed comes at a great cost in exchange rates and fees.
Is your coinbase transaction: verifiable? Transparent?
A miner can tally up all those balances, make them into genesis transactions to those same addresses, add a nonce to hit the appropriate target, mine it like normal (except for the size). Difficulty might have to be adjusted since they would be hashing a huge amount of data. Or they could maybe split it up and make many genesis blocks. Consensus would be a lot of work, but not that much. End result would be a brand new blockchain, same addresses, same balances. Don't even need the old blockchain, pruned or not.
It isn't that simple. The whole point of Blockchain is for everyone to see the transactions in the address. If you're removing it fully, then we're better off going back to the traditional banking system.

Difficulty doesn't have to be adjusted. Even if I were to be mining a 1MB block and another miner were to be mining a 1kb block, the difficulty of producing a block is the same. Miners are hashing the block header, not the transactions individually.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
ir.hn
Member
**
Offline Offline

Activity: 322
Merit: 54

Consensus is Constitution


View Profile
December 17, 2017, 03:29:24 AM
 #8

Apparently there are about 25,000,000 bitcoin addresses that have a balance.

A miner can tally up all those balances, make them into genesis transactions to those same addresses, add a nonce to hit the appropriate target, mine it like normal (except for the size). Difficulty might have to be adjusted since they would be hashing a huge amount of data. Or they could maybe split it up and make many genesis blocks. Consensus would be a lot of work, but not that much. End result would be a brand new blockchain, same addresses, same balances. Don't even need the old blockchain, pruned or not.

I'm thinking though along the lines of an altcoin where that is scheduled in from the start, like every 100,000 blocks or something before it gets out of hand.

Problem is this event, the mining of the new genesis block, would be RIPE for attack.  Its like saying "all of fort knox gold is going to be moved on such and such a date".  All the thieves set their alarms.  Getting those first 6 confirmations will be key and if the same player can get all six then he could rewrite the history of the entire blockchain.

Good thinking though, keep up the thought process.  Good work.

tonf (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
December 17, 2017, 03:33:22 AM
 #9

Quote
The whole point of blockchain is to have a ledger where its fully transparent. What if you throw away the blockchain at block height 1,000,000 but I made a purchase for a house at block 950,000? Who can prove that I paid?

Ok you don't really know that a house was bought, or that person x paid person y amount x on a certain tx, in order to keep on transacting and for the network to keep functioning. It's a genesis block on a whole new blockchain, just like the first one. So it still works. If you need to prove something that happened before the new genesis block, then you can parse the old blockchain. I guess there should be "official" copies somehow, and maybe me saying "throw away" was just colorful (and accurate) hyperbole used to show how liberating it would be for 99.9% of everybody.

Quote
In addition, what would be in that 1,000,000 block? What if a miner with sufficient mining power attempts to attack the Blockchain and change block 1,000,000?

In the 1,000,000 block it would be the coinbase issuing the balance of every address that has a balance. I'm thinking attacks by miners have same obstacles as any other block.



Quote
The whole point of Blockchain is for everyone to see the transactions in the address. If you're removing it fully, then we're better off going back to the traditional banking system.

We are definitely not better off going to the traditional banking system.
While I disagree that "for everyone to see the transactions in the address" is the whole point of a blockchain, I do agree that it is a feature of them. But if you have a valid genesis block with values assigned to addresses and you don't care about the history, then you wouldn't need to care about the old blockchain. If you do care, the point is solved by the fact the old blockchain is perusable and still pertains to the addresses in the new blockchain.


Quote
Difficulty doesn't have to be adjusted. Even if I were to be mining a 1MB block and another miner were to be mining a 1kb block, the difficulty of producing a block is the same. Miners are hashing the block header, not the transactions individually.

Ah i did not know that. But it does seem like there has got to be some computational overhead somewhere with the 25,000,000+ addresses getting coins from the coinbase. If not, then all the better!
tonf (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
December 17, 2017, 03:42:55 AM
 #10

Quote
Problem is this event, the mining of the new genesis block, would be RIPE for attack.  Its like saying "all of fort knox gold is going to be moved on such and such a date".  All the thieves set their alarms.  Getting those first 6 confirmations will be key and if the same player can get all six then he could rewrite the history of the entire blockchain.


Maybe this can be solved with a hash related in a strong way to the old blockchain and all the new coinbase outputs, all incorporated into the new block? Like the mother of all merkle trees would have to built. Maybe the consensus function for to validate this particular block would have to be very special and robust.
 
ir.hn
Member
**
Offline Offline

Activity: 322
Merit: 54

Consensus is Constitution


View Profile
December 17, 2017, 03:54:42 AM
Last edit: December 17, 2017, 04:06:19 AM by ir.hn
 #11

Quote
Problem is this event, the mining of the new genesis block, would be RIPE for attack.  Its like saying "all of fort knox gold is going to be moved on such and such a date".  All the thieves set their alarms.  Getting those first 6 confirmations will be key and if the same player can get all six then he could rewrite the history of the entire blockchain.


Maybe this can be solved with a hash related in a strong way to the old blockchain and all the new coinbase outputs, all incorporated into the new block? Like the mother of all merkle trees would have to built. Maybe the consensus function for to validate this particular block would have to be very special and robust.
  

Maybe.  Yes it would have to have an entirely new set of confirmation protocol.  Like require 1000 confirmations or something.  You may be on to something.  But it would be a real huge event and wow what a spectacle to get people interested in bitcoin Wink.

It may take weeks or months to confirm this block!  Grin  Depending on how many people are trying to attack it.

Lots of people propose compressing the blockchain; what you are proposing here is the only real way to accomplish that.  But man it is kinda risky!  But exciting and I think it deserves serious consideration.

Taras
Legendary
*
Offline Offline

Activity: 1386
Merit: 1053


Please do not PM me loan requests!


View Profile WWW
December 17, 2017, 04:29:22 AM
 #12

Quote
The whole point of blockchain is to have a ledger where its fully transparent. What if you throw away the blockchain at block height 1,000,000 but I made a purchase for a house at block 950,000? Who can prove that I paid?

Ok you don't really know that a house was bought, or that person x paid person y amount x on a certain tx, in order to keep on transacting and for the network to keep functioning. It's a genesis block on a whole new blockchain, just like the first one. So it still works. If you need to prove something that happened before the new genesis block, then you can parse the old blockchain. I guess there should be "official" copies somehow, and maybe me saying "throw away" was just colorful (and accurate) hyperbole used to show how liberating it would be for 99.9% of everybody.
How will new nodes verifying the first block of the new chain know what all the starting balances are? They can't just check the last chain because they aren't going to download a copy of it in the first place. What if someone makes a first block of a new chain giving themselves a million extra coins? How will the nodes know that they are or aren't rightfully entitled to those coins without seeing transaction history?
ir.hn
Member
**
Offline Offline

Activity: 322
Merit: 54

Consensus is Constitution


View Profile
December 17, 2017, 06:04:41 AM
 #13

Quote
The whole point of blockchain is to have a ledger where its fully transparent. What if you throw away the blockchain at block height 1,000,000 but I made a purchase for a house at block 950,000? Who can prove that I paid?

Ok you don't really know that a house was bought, or that person x paid person y amount x on a certain tx, in order to keep on transacting and for the network to keep functioning. It's a genesis block on a whole new blockchain, just like the first one. So it still works. If you need to prove something that happened before the new genesis block, then you can parse the old blockchain. I guess there should be "official" copies somehow, and maybe me saying "throw away" was just colorful (and accurate) hyperbole used to show how liberating it would be for 99.9% of everybody.
How will new nodes verifying the first block of the new chain know what all the starting balances are? They can't just check the last chain because they aren't going to download a copy of it in the first place. What if someone makes a first block of a new chain giving themselves a million extra coins? How will the nodes know that they are or aren't rightfully entitled to those coins without seeing transaction history?

That's right you wouldn't be able to reference the old chain at all anymore after the new genesis block is confirmed.  But you could require a very high number of confirmations required on the genesis block to be accepted that way the whole blockchain has the opportunity to vote on the validity of the new genesis block and hence the compression of the blockchain.

ranochigo
Legendary
*
Offline Offline

Activity: 2954
Merit: 4165


View Profile
December 17, 2017, 06:32:21 AM
 #14

Ok you don't really know that a house was bought, or that person x paid person y amount x on a certain tx, in order to keep on transacting and for the network to keep functioning. It's a genesis block on a whole new blockchain, just like the first one. So it still works. If you need to prove something that happened before the new genesis block, then you can parse the old blockchain. I guess there should be "official" copies somehow, and maybe me saying "throw away" was just colorful (and accurate) hyperbole used to show how liberating it would be for 99.9% of everybody.
Blockchain has to be as distributed as possible. It's easy to attack a few nodes/places to effective deny anyone access of the information and it gets harder the more nodes there is. Who is to keep the official copy? What guarantee is there that they're not working in cahoots with the government/any rogue entity?
In the 1,000,000 block it would be the coinbase issuing the balance of every address that has a balance. I'm thinking attacks by miners have same obstacles as any other block.
It has to be hard coded into the client for which everyone runs for it to be irreversible. Even with that, it would cause problem with the consensus.

We are definitely not better off going to the traditional banking system.
While I disagree that "for everyone to see the transactions in the address" is the whole point of a blockchain, I do agree that it is a feature of them. But if you have a valid genesis block with values assigned to addresses and you don't care about the history, then you wouldn't need to care about the old blockchain. If you do care, the point is solved by the fact the old blockchain is perusable and still pertains to the addresses in the new blockchain.
It is. Transparency is one of the fundamental feature of Blockchain. To be fair, when you are loading the client for the first time, you cannot assume that the genesis block that you've received is legitimate. Each client has to individually verify that the balance of each and every of the address is exactly what it says in the new genesis block. We can't remove the trustless part in Bitcoin.

Ah i did not know that. But it does seem like there has got to be some computational overhead somewhere with the 25,000,000+ addresses getting coins from the coinbase. If not, then all the better!
Yeah, with the propagation and the verification. Most node would crash, considering most are ran in VPS and Raspberry Pis.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
Taras
Legendary
*
Offline Offline

Activity: 1386
Merit: 1053


Please do not PM me loan requests!


View Profile WWW
December 17, 2017, 08:26:21 AM
 #15

Quote
The whole point of blockchain is to have a ledger where its fully transparent. What if you throw away the blockchain at block height 1,000,000 but I made a purchase for a house at block 950,000? Who can prove that I paid?

Ok you don't really know that a house was bought, or that person x paid person y amount x on a certain tx, in order to keep on transacting and for the network to keep functioning. It's a genesis block on a whole new blockchain, just like the first one. So it still works. If you need to prove something that happened before the new genesis block, then you can parse the old blockchain. I guess there should be "official" copies somehow, and maybe me saying "throw away" was just colorful (and accurate) hyperbole used to show how liberating it would be for 99.9% of everybody.
How will new nodes verifying the first block of the new chain know what all the starting balances are? They can't just check the last chain because they aren't going to download a copy of it in the first place. What if someone makes a first block of a new chain giving themselves a million extra coins? How will the nodes know that they are or aren't rightfully entitled to those coins without seeing transaction history?

That's right you wouldn't be able to reference the old chain at all anymore after the new genesis block is confirmed.  But you could require a very high number of confirmations required on the genesis block to be accepted that way the whole blockchain has the opportunity to vote on the validity of the new genesis block and hence the compression of the blockchain.

If it were done that way, in theory you could discard blocks continuously as they reach that very high number of confirmations, instead of waiting to make a new chain from scratch. Then the outputs created in the discarded block that haven't been spent yet would go in the new one as part of the generation transaction.
ir.hn
Member
**
Offline Offline

Activity: 322
Merit: 54

Consensus is Constitution


View Profile
December 17, 2017, 02:40:42 PM
Last edit: December 17, 2017, 03:29:32 PM by ir.hn
 #16

Quote
The whole point of blockchain is to have a ledger where its fully transparent. What if you throw away the blockchain at block height 1,000,000 but I made a purchase for a house at block 950,000? Who can prove that I paid?

Ok you don't really know that a house was bought, or that person x paid person y amount x on a certain tx, in order to keep on transacting and for the network to keep functioning. It's a genesis block on a whole new blockchain, just like the first one. So it still works. If you need to prove something that happened before the new genesis block, then you can parse the old blockchain. I guess there should be "official" copies somehow, and maybe me saying "throw away" was just colorful (and accurate) hyperbole used to show how liberating it would be for 99.9% of everybody.
How will new nodes verifying the first block of the new chain know what all the starting balances are? They can't just check the last chain because they aren't going to download a copy of it in the first place. What if someone makes a first block of a new chain giving themselves a million extra coins? How will the nodes know that they are or aren't rightfully entitled to those coins without seeing transaction history?

That's right you wouldn't be able to reference the old chain at all anymore after the new genesis block is confirmed.  But you could require a very high number of confirmations required on the genesis block to be accepted that way the whole blockchain has the opportunity to vote on the validity of the new genesis block and hence the compression of the blockchain.

If it were done that way, in theory you could discard blocks continuously as they reach that very high number of confirmations, instead of waiting to make a new chain from scratch. Then the outputs created in the discarded block that haven't been spent yet would go in the new one as part of the generation transaction.

I think that would work.  We could call it a "Parsed Blockchain", a node would discard the history of a transaction chain, or at least the signature/witness data after some arbitrarily determined number of confirmations.  The only question I have is lets say a transaction is fraudulent, do the first few confirmations pretty much increase the odds that other nodes don't catch it?  The question is; is there a "first mover advantage" to getting the first few confirmations even if ultimately 1000 are needed to prune it?

Someone could still run a "Historical Node" which doesn't confirm transactions but maintains a full, un-parsed, history of the blockchain so it can be searched for posterity.

KaliLinux
Hero Member
*****
Offline Offline

Activity: 1344
Merit: 565


View Profile WWW
December 17, 2017, 06:53:20 PM
 #17

Ok tell me what you guys think about this:

Let us say a coin's blockchain is ridiculously huge or will be. Can the protocol have an implementation where some predetermined block will be the genesis block of a brand new blockchain?

Like say that for every 1,000,000 blocks, for example, the miners put all new trannies on hold for just a sec, then gather all the existing unspent outputs in the entire blockchain together and mine a humongous genesis block for a brand new blockchain. After that they keep mining blocks like normal on the new blockchain. You don't need the old blockchain anymore, you can just throw it away.

Is that much simple in practical?  It may not be possible as the blocks are connected each other only by matching with digital signature. Finally where will be our transactions history for future reference because now a day we started dealing with shopping and other things what we are doing with fiat.
Someone may not required their old transaction but why do people who are dealing with huge. Archive process will not work here.
Taras
Legendary
*
Offline Offline

Activity: 1386
Merit: 1053


Please do not PM me loan requests!


View Profile WWW
December 17, 2017, 07:46:15 PM
 #18

I think that would work.  We could call it a "Parsed Blockchain", a node would discard the history of a transaction chain, or at least the signature/witness data after some arbitrarily determined number of confirmations.  The only question I have is lets say a transaction is fraudulent, do the first few confirmations pretty much increase the odds that other nodes don't catch it?  The question is; is there a "first mover advantage" to getting the first few confirmations even if ultimately 1000 are needed to prune it?
You could say, replace the blocks after 1000 confirmations, but don't actually delete them until 2000. That way everyone can see that your generation transaction has all the same outputs as the transactions 1000 blocks ago, and by the time the old blocks are deleted this one will be deeply confirmed.

The "first mover advantage" doesn't matter if it's a valid transaction. If it's valid, it can be confirmed, and the blockchain is not a judge of if a key was stolen or used by the wrong person. It is only a judge of the keys, and getting rid of old blocks isn't going to change anything about that - if you steal a bitcoin key, and get a transaction confirmed paying you the stolen money, there's already basically nothing anyone can do but ask for it back.

A new challenge is that the transaction ID of those outputs that get transferred over is going to change. Some programs are going to have a hard time keeping track of that. Also, a transaction signed 2000 blocks ago but not broadcast is suddenly invalid and has to be recreated from scratch.

Someone could still run a "Historical Node" which doesn't confirm transactions but maintains a full, un-parsed, history of the blockchain so it can be searched for posterity.
This kind of already exists in bitcoin - you can choose to "prune" the blockchain on your client, meaning delete blocks after so many confirmations, but keep track of the unspent outputs in those blocks. Then the other nodes still keep a full copy as normal and you can still function as a wallet.
khaled0111
Legendary
*
Offline Offline

Activity: 2520
Merit: 2853


Top Crypto Casino


View Profile WWW
December 17, 2017, 09:13:06 PM
 #19

Besides the technical problems you will face, you will have to convince the community (miners) to adopt your solution.
Moreover, your idea completely contradict the concept of blockchain where each block is related to the previous one.
May I also ask where will you save the old blockchain (you can't just throw it away)? It must be saved somewhere (to know if a wallet have enough funds) and thus there will be no more decentralization.
This will make the network more vulnerable.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
ir.hn
Member
**
Offline Offline

Activity: 322
Merit: 54

Consensus is Constitution


View Profile
December 17, 2017, 11:45:18 PM
 #20

I think that would work.  We could call it a "Parsed Blockchain", a node would discard the history of a transaction chain, or at least the signature/witness data after some arbitrarily determined number of confirmations.  The only question I have is lets say a transaction is fraudulent, do the first few confirmations pretty much increase the odds that other nodes don't catch it?  The question is; is there a "first mover advantage" to getting the first few confirmations even if ultimately 1000 are needed to prune it?
You could say, replace the blocks after 1000 confirmations, but don't actually delete them until 2000. That way everyone can see that your generation transaction has all the same outputs as the transactions 1000 blocks ago, and by the time the old blocks are deleted this one will be deeply confirmed.

The "first mover advantage" doesn't matter if it's a valid transaction. If it's valid, it can be confirmed, and the blockchain is not a judge of if a key was stolen or used by the wrong person. It is only a judge of the keys, and getting rid of old blocks isn't going to change anything about that - if you steal a bitcoin key, and get a transaction confirmed paying you the stolen money, there's already basically nothing anyone can do but ask for it back.

A new challenge is that the transaction ID of those outputs that get transferred over is going to change. Some programs are going to have a hard time keeping track of that. Also, a transaction signed 2000 blocks ago but not broadcast is suddenly invalid and has to be recreated from scratch.

Someone could still run a "Historical Node" which doesn't confirm transactions but maintains a full, un-parsed, history of the blockchain so it can be searched for posterity.
This kind of already exists in bitcoin - you can choose to "prune" the blockchain on your client, meaning delete blocks after so many confirmations, but keep track of the unspent outputs in those blocks. Then the other nodes still keep a full copy as normal and you can still function as a wallet.

I guess the thought could be that we reverse the current order.  Instead of the miners keeping the whole blockchain and pruned nodes compressing it, the miners would be running on a compressed blockchain and some nodes would be preserving it to be searched with block explorers (which block explorers I predict will be the next google once we start leveraging op_return more).

I have a question, say a miner figures out that a transaction was fraudulent yet it has been fully confirmed.  Could that miner alter that transaction in the future to reflect his view of reality and would other miners have the choice to accept his edit?

Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!