Bitcoin Forum
May 10, 2024, 04:30:16 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Store the blockchain in transactions  (Read 687 times)
TheHat (OP)
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
February 14, 2016, 06:11:36 PM
 #1

I propose storing the blockchain blocks within transactions.  I created a patent process for any asset and discussed at http://hlygrail.com how to use the algorithm for [Suspicious link removed]pression.

The bottom line is each block could be stored in a transaction by encrypting the block with a transaction address and storing the hash of the encrypted block in an OP_RETURN.

In 244 bytes you could store an encrypted block reference in the blockchain and the "block" could be stored and duplicated in any location.  If you ever need the block because an old address showed up in a new transaction, you could pull the block from any storage and verify the block with the "block transaction address and OP_RETURN" before using and processing the new transaction.

In this form, an active miner would store 398000 "transactions" linking to verifiable blocks or copies of blocks, instead of 398000 "blocks".  You could still use pruning but you would not need to in this case because the entire block data with un-pruned transactions would be available and verifiable.

Check the website for more detail.  Of course UTXO, block index, recent blocks and active blocks would still be in the mining computer.  This process would allow anyone to hold blocks and access data even without having a full node.   It would also open mining to a larger base by using normally unused computer assets to run verified software for pieces of mining code.
1715358616
Hero Member
*
Offline Offline

Posts: 1715358616

View Profile Personal Message (Offline)

Ignore
1715358616
Reply with quote  #2

1715358616
Report to moderator
1715358616
Hero Member
*
Offline Offline

Posts: 1715358616

View Profile Personal Message (Offline)

Ignore
1715358616
Reply with quote  #2

1715358616
Report to moderator
1715358616
Hero Member
*
Offline Offline

Posts: 1715358616

View Profile Personal Message (Offline)

Ignore
1715358616
Reply with quote  #2

1715358616
Report to moderator
TalkImg was created especially for hosting images on bitcointalk.org: try it next time you want to post an image
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715358616
Hero Member
*
Offline Offline

Posts: 1715358616

View Profile Personal Message (Offline)

Ignore
1715358616
Reply with quote  #2

1715358616
Report to moderator
1715358616
Hero Member
*
Offline Offline

Posts: 1715358616

View Profile Personal Message (Offline)

Ignore
1715358616
Reply with quote  #2

1715358616
Report to moderator
1715358616
Hero Member
*
Offline Offline

Posts: 1715358616

View Profile Personal Message (Offline)

Ignore
1715358616
Reply with quote  #2

1715358616
Report to moderator
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3388
Merit: 6635


Just writing some code


View Profile WWW
February 14, 2016, 07:45:43 PM
 #2

There are many problems with this proposal. First of all, storing a block inside another block means that there is no space inside the other block, so it is pointless. You would be filling the entire block with just one of an old block. The only thing it does is just duplicate the data that full nodes need to store.

I propose storing the blockchain blocks within transactions.  I created a patent process for any asset and discussed at http://hlygrail.com how to use the algorithm for [Suspicious link removed]pression.

The bottom line is each block could be stored in a transaction by encrypting the block with a transaction address and storing the hash of the encrypted block in an OP_RETURN.
Encryption does not compress, and by encrypting it, you are preventing other people from being able to access the block data. Storing the hash also doesn't help because the hash cannot be reversed to get the data that you need.

In 244 bytes you could store an encrypted block reference in the blockchain and the "block" could be stored and duplicated in any location.  If you ever need the block because an old address showed up in a new transaction, you could pull the block from any storage and verify the block with the "block transaction address and OP_RETURN" before using and processing the new transaction.

In this form, an active miner would store 398000 "transactions" linking to verifiable blocks or copies of blocks, instead of 398000 "blocks".  You could still use pruning but you would not need to in this case because the entire block data with un-pruned transactions would be available and verifiable.

Check the website for more detail.  Of course UTXO, block index, recent blocks and active blocks would still be in the mining computer.  This process would allow anyone to hold blocks and access data even without having a full node.   It would also open mining to a larger base by using normally unused computer assets to run verified software for pieces of mining code.
So you aren't actually storing the blocks, just data to validate the blocks. The problem is that then how would you know what transaction is holding the data to check the validity of the block? You would have to get the entire blockchain and scan it to find that transaction.

Also, what is the point of encrypting the block?

Pages: [1]
  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!