Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Merkle Token Inc. on April 02, 2022, 06:22:41 PM



Title: Making Bitcoin and its Forks Turing Complete
Post by: Merkle Token Inc. on April 02, 2022, 06:22:41 PM
No its not a scam like the folks at r/bitcoin thought and banned me. lol Yes we are using a token to raise funds to develop and build a community around the idea. This is needed when you build decentralized systems. There are no profits to be made in the center of such systems. There needs to be a way to fund this project so we chose that route. Merkle Token inc. is registered in the state of South Dakota. Feel free to look us up in the state's business search. Our goal at Merkle is to educate the community about how decentralized internet/data storage is happening now and how it works.
See the research paper on our website from Augustana college on how P2SH is used for data insertion into bitcoin block chain and others. Just scroll to the bottom of this page: https://merkleweb3.com/whitepaper

The protocol we are helping to deliver can make any BTC fork turing complete...Not April Fools..

here is a turing machine on bitcoin testnet http://bitfossil.com/133f45cce88ab2d0ded541c60e7785aa4260b6df5982e8bb2fbbf1e19f9f9bdd/index.html

Yes that website is poor but its simply a hosted index of decentralized data. The user interface we are building with nonprofits will be the portal to this new internet experience. Feel free to ask questions. Im not a programmer i am the President of Merkle Token Inc. So i will be relaying technical information and it may take me time to get answers from the programmers but I will get them for you.



Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: Merkle Token Inc. on April 02, 2022, 06:34:34 PM
Using the 0.16.3


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: gmaxwell on April 02, 2022, 11:31:51 PM
Bitcoin script is purposefully not turing complete-- it's not an accident, in fact it's extremely easy to be accidentally turing complete.  Turing completeness provides no value for this application and creates additional risks.  Helping someone make a bitcoin clone turing complete is like 'helping' them have an infinite coin supply.

There are plenty of limitation in script that are make it less useful, but lack of turing completeness in the script language is not among them.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: n0nce on April 03, 2022, 01:30:32 AM
Bitcoin script is purposefully not turing complete-- it's not an accident, in fact it's extremely easy to be accidentally turing complete.  Turing completeness provides no value for this application and creates additional risks.  Helping someone make a bitcoin clone turing complete is like 'helping' them have an infinite coin supply.

There are plenty of limitation in script that are make it less useful, but lack of turing completeness in the script language is not among them.
This has always been my impression, as well. And as we've seen in the past, opcodes have even been disabled to increase security since they weren't completely secure.
There are some words which existed in very early versions of Bitcoin but were removed out of concern that the client might have a bug in their implementation.

To further quote the Bitcoin Wiki, functionality can also always be added if really needed, through OP_NOPx.
New opcodes can be added by means of a carefully designed and executed softfork using OP_NOP1-OP_NOP10.

So I think we've got the mechanisms that Bitcoin needs, already in place.

It's almost as if most of the 'Ethereum hacks' were actually hacks of badly written programs ('contracts') in their (supposedly) Turing-complete programming language.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 05:02:02 AM
Bitcoin script is purposefully not turing complete-- it's not an accident, in fact it's extremely easy to be accidentally turing complete.  Turing completeness provides no value for this application and creates additional risks.  Helping someone make a bitcoin clone turing complete is like 'helping' them have an infinite coin supply.

There are plenty of limitation in script that are make it less useful, but lack of turing completeness in the script language is not among them.


it is purposefully permissionless.  nothing prevents me from making bitcoin turing complete.

#nothing, it has been since 2014

consider playing some #bitcoin bong ball while you think about it...  ;D

http://bitfossil.com/743908c7b0dd89b68956987a3f8ddc3c1d4316452659bff71d241dbb0813fd46/bong-ball.html

<3 #embii


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: garlonicon on April 03, 2022, 06:49:15 AM
Quote
functionality can also always be added if really needed, through OP_NOPx
It is even better than that: they can be added in a TapScript, just by replacing OP_SUCCESS. Then, you will have them in the same position. And I guess that opcodes like OP_SUBSTR or OP_CAT could be activated, because they seems to be useful in some protocols.

Quote
nothing prevents me from making bitcoin turing complete
Using OP_RETURN to push data on bitcoin and getting Turing completeness outside is a different thing that making Bitcoin Turing complete by itself.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: tromp on April 03, 2022, 07:14:28 AM
Helping someone make a bitcoin clone turing complete is like 'helping' them have an infinite coin supply.

Do you mean an uncapped supply?
If so, that's not the best example; since a tail emission can be quite useful [1] [2].
I agree that soft total supply should be capped.

[1] https://john-tromp.medium.com/a-case-for-using-soft-total-supply-1169a188d153
[2] https://www.cs.princeton.edu/~arvindn/publications/mining_CCS.pdf


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 07:18:17 AM
Quote
functionality can also always be added if really needed, through OP_NOPx
It is even better than that: they can be added in a TapScript, just by replacing OP_SUCCESS. Then, you will have them in the same position. And I guess that opcodes like OP_SUBSTR or OP_CAT could be activated, because they seems to be useful in some protocols.

Quote
nothing prevents me from making bitcoin turing complete
Using OP_RETURN to push data on bitcoin and getting Turing completeness outside is a different thing that making Bitcoin Turing complete by itself.

#true

apertus.io is the special sauce that allows bitcoin and many altcoins to be part of a decentralized global turing machine that runs by trust alone.  no gas required

<3 #embii


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: garlonicon on April 03, 2022, 08:07:12 AM
Quote
Do you mean an uncapped supply?
It can be done in a soft-fork way by adding zero satoshis, but it will make things worse.

Quote
since a tail emission can be quite useful
I guess Bitcoin will rather die than increase this 21 million coin limit. The only change that should be done to the supply is increasing coin precision and introducing millisatoshis or smaller units on-chain when needed. I think we will never have more coins than 21 million, if anything, maybe we could have infinite halvings to get closer to that value, but I doubt it.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: ABCbits on April 03, 2022, 12:18:09 PM
Since no one mentioned it yet, i'd like to mention that Rootstock (RSK) exist. It's Bitcoin sidechain which support smart contract with merged mining to Bitcoin network.

it is purposefully permissionless.  nothing prevents me from making bitcoin turing complete.

#nothing, it has been since 2014

consider playing some #bitcoin bong ball while you think about it...  ;D

http://bitfossil.com/743908c7b0dd89b68956987a3f8ddc3c1d4316452659bff71d241dbb0813fd46/bong-ball.html

<3 #embii

Technically you don't make Bitcoin turing complete. Did you actually put some source code on Bitcoin blockchain by splitting it every 20 bytes on each address and create website to parse the transaction and compile/run the source code?


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: Merkle Token Inc. on April 03, 2022, 12:25:54 PM
Apertus is not a chain or a clone it is a protocol/machine that allows the chains to be used in a way that makes them turing complete. Decentralized Etherium. Glad to see you here EMBII.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 08:16:31 PM
Since no one mentioned it yet, i'd like to mention that Rootstock (RSK) exist. It's Bitcoin sidechain which support smart contract with merged mining to Bitcoin network.

it is purposefully permissionless.  nothing prevents me from making bitcoin turing complete.

#nothing, it has been since 2014

consider playing some #bitcoin bong ball while you think about it...  ;D

http://bitfossil.com/743908c7b0dd89b68956987a3f8ddc3c1d4316452659bff71d241dbb0813fd46/bong-ball.html

<3 #embii

Technically you don't make Bitcoin turing complete. Did you actually put some source code on Bitcoin blockchain by splitting it every 20 bytes on each address and create website to parse the transaction and compile/run the source code?


bitfossill is a simple free text search \ web front end for apertus.io

an apertus.io monitor is running on the bitfossill webserver... this monitors the bitcoin MEMPOOL and many other altcoin MEMPOOLS in realtime for data archived in the apertus.io format.  bong-ball is a fully embedded game that can be played with nothing but apertus.io and a fully synched bitcoin blockchain a traditional webserver is not required.

the entire game is embeded within bitcoin transactions as you have mentioned..it is a complete HTML5 website that references jquery which was also archived on bitcoin earlier using the same software....it is a demonstration of code reuse and application deployment...apertus.io creates a master root index of all archived data that can be referenced in future applications like so <script src="../f5e8166c30fd080f9c5f0ab79a57b058e0d31364f8064f39badddff2675f754b/jquery.min.js"></script> 

bitfossill's purpose is to let you search and access the data using traditional web browsers.



Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 08:56:35 PM
below is a web link to the JQUERY source that i immutably archived on bitcoin.... it can be used forever in future bitcoin prod \ or testnet applications for #free as well as in any altcoins that support bitcoin 0.10.0 - 0.16.3 RPC commands.. you will need a full bitcoin wallet and full wallets for any of the altcoins you would like to use to reference bitcoin source code or vice-versa...

http://bitfossil.com/f5e8166c30fd080f9c5f0ab79a57b058e0d31364f8064f39badddff2675f754b/index.htm (http://bitfossil.com/f5e8166c30fd080f9c5f0ab79a57b058e0d31364f8064f39badddff2675f754b/index.htm)


with apertus.io you can reference and include source files from bitcoin in an application that is deployed on litecoin, dogecoin, namecoin, datacoin, mazacoin....etc   apertus.io also enables direct private / public messaging as well as #keyword threads / searching on all compatible blockchains and their #free testnets.

There are 100s perhaps thousands of compatible blockchains.

consider it a censorship free complete decentralization of twitter. 

the moderators that removed my previous messages here cannot sensor #embii on the blockchains.

<3 #embii


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 09:07:55 PM
to follow #embii on the bitcoin blockchain (prod / testnet) simply search for #embii in any apertus.io browser connected to a fully synchronized bitcoin wallet.

PS: Once your bitcoin wallet is fully synchronized you can disable your internet and browse the blockchain offline in complete total privacy.

<3 #embii


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: n0nce on April 03, 2022, 09:17:58 PM
~
So you are just storing source code of programs on the blockchain? That's not making Bitcoin Turing complete, because the code is not running on Bitcoin, it's just stored on the blockchain. That's like saying my hard drive or GitHub are Turing complete, because I can store program code on them.

Nonetheless, I'm interested in better understanding how you are storing the data.

For instance, you have a JavaScript file stored in transaction 743908c7b0dd89b68956987a3f8ddc3c1d4316452659bff71d241dbb0813fd46.
It only contains normal transactions to apparently valid addresses, so the idea of using hex bytes as recipient addresses hasn't been done here, apparently.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 09:43:38 PM
~
So you are just storing source code of programs on the blockchain? That's not making Bitcoin Turing complete, because the code is not running on Bitcoin, it's just stored on the blockchain. That's like saying my hard drive or GitHub are Turing complete, because I can store program code on them.

Nonetheless, I'm interested in better understanding how you are storing the data.

For instance, you have a JavaScript file stored in transaction 743908c7b0dd89b68956987a3f8ddc3c1d4316452659bff71d241dbb0813fd46.
It only contains normal transactions to apparently valid addresses, so the idea of using hex bytes as recipient addresses hasn't been done here, apparently.

#true

bitcoin and all the altcoins are not turing complete without apertus.io  together they are a completely decentralized turing machine that uses signed transactions and trust to operate.

here is a great website that describes the process.
https://cirosantilli.com/cool-data-embedded-in-the-bitcoin-blockchain/atomsea-and-embii


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: n0nce on April 03, 2022, 10:08:51 PM
bitcoin and all the altcoins are not turing complete without apertus.io  together they are a completely decentralized turing machine that uses signed transactions and trust to operate.
That's where I strongly disagree with the definition, but alright.
Why trust, though?

here is a great website that describes the process.
https://cirosantilli.com/cool-data-embedded-in-the-bitcoin-blockchain/atomsea-and-embii
Okay, I will read it through more thoroughly, but from a quick scan and checking those transactions again, it appears that you do basically just split a file into many small chunks and send small amounts of BTC to invalid addresses that are actually those hex chunks. Then your program can read those out as raw bytes and put back together into program code, images or text (even audio files), is that right?

To be more exact, by 'sending to addresses' I mean that you encode data into the OP_PUSHBYTES_20 part of an output instead of putting a public key hash for which you actually have the preimage / private key. So they are unspendable / lost coins, right?

Do you have an estimate on current-day costs to deploy a file like this (sat/Byte or something like this)? I see your examples are almost 8 years old now; back then it was super cheap of course.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 10:24:39 PM
trust so monitors can execute programs or interpret application transactions as soon as they are deployed autonomously
trust so i don't execute a program that was designed to take over my machine or steal all of my bitcoin.   lol


here is an example of the current cost which is based on transaction size alone.  no gas fees required.

bitcoin is .21 cents per 20 bytes
doge is .14 cents per 20 bytes
litecoin is 0.0013 cents per 20 bytes
mazacoin is 0.0000000000000000? cents per 20 bytes lol




Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: n0nce on April 03, 2022, 10:30:39 PM
trust so monitors can execute programs or interpret application transactions as soon as they are deployed autonomously
trust so i don't execute a program that was designed to take over my machine or steal all of my bitcoin.   lol
Gotcha! Makes sense. So you blindly trust that if I put a program in there, it's not malicious or how do you know 'who to trust'?

here is an example of the current cost which is based on transaction size alone.  no gas fees required.

bitcoin is .21 cents per 20 bytes
doge is .14 cents per 20 bytes
litecoin is 0.0013 cents per 20 bytes
mazacoin is 0.0000000000000000? cents per 20 bytes lol
That's pretty fine. As far as I can tell, you did pay more for that pong game, but you could have gone lower, right.

But in essence, you're just putting data on the blockchain by using OP_PUSHBYTES_20 section as data section, correct?

Why do you keep mentioning gas fees? We're not in Ethereum land, nobody here cares about gas or even thinks about it, no need to mention it all the time. :)


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 10:46:31 PM
good i am tired of talking about gas as well....lol....this functionality was realized by hugpuddle.org before #ethereum..
we didn't think that an entirely new class of blockchains or gas was required to do these types of things.
we are releasing  0.4.0 this year designed for a larger much less technical audience.    (the world)  lol


trust is accomplished by signing a hash of the application transactions using bitcoin's or the altcoin's internal signing function and including the signature with the transaction... monitors perform the same function in reverse comparing the hash to the signature and if they match and if the address is a trusted source then the transaction is executed if it's executable......if there is no signature or if the signature doesn't match it is ignored..

<3 #embii


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: n0nce on April 03, 2022, 10:50:25 PM
good i am tired of talking about gas as well....lol....this functionality was realized by hugpuddle.org before #ethereum..
we didn't think that an entirely new class of blockchains or gas was required to do these types of things.
we are releasing  0.4.0 this year designed for a larger much less technical audience.    (the world)  lol


trust is accomplished by signing a hash of the application transactions using bitcoin's or the altcoin's internal signing function and including the signature with the transaction... monitors perform the same function in reverse comparing the hash to the signature and if they match and if the address is a trusted source then the transaction is executed if it's executable......if there is no signature or if the signature doesn't match it is ignored..

<3 #embii
Who decides who's a trusted source? Doesn't sound very 'decentralized' to me. I still like the idea, but if you have an entity that decides who can run a blockchain-'hosted' application on your server (also the very concept that there's a server), it is not decentralized.
But just let people upload & download data; they can execute software locally, if they want. I think hosting data is way more useful and needed in a world of censorship, than hosting software and providing a way to run it online, though.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 10:57:37 PM
you decide who to trust...YOU...only you...an organization could offload some of the trust functionality if you want them to....that choice is up to #you.... this is complete total decentralization.  power to the people....

<3 #embii


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 11:02:44 PM
there are no central servers... its just you and the blockchains you choose to support running on your own laptop.  apertus.io is not a blockchain..it's just a tiny application that runs on your own laptop.....i have 8 blockchains running on my laptop.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 11:14:04 PM
with 0.4.0 we are introducing NFT trading capabilities.

you .. yes YOU alone can list and trade NFT's on any compatible blockchain...without any company in the middle taking service fees with each sale. 

as a buyer i chose...me...it's my choice.. lol... to trust the NFT Creator's signature..and that's all that is required to ensure the integrity of the object they created as they trade through unlimited amount of owners. 

we simply walk a tree of signed transactions...    apertus.io 0.4.0 has a very simple realtime state engine that runs on your own laptop that keeps track of this making NFT ownership info and trading history easily query-able   


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 11:23:49 PM
here are some sample signed NFT transactions that i recently broadcasted on bitcoin testnet

MNT   Minting an object
http://bitfossil.com/218ef8312f7cdda81378069a28b15567e4ea4d054bd12b796b5ba3b26b47a115/index.htm

GIV  Transferring an object
http://bitfossil.com/06021ed4d0e379dfe2a2a9cd3bf3feaea249a892f4479d0fb989563aabdbb1b9/index.htm

LST listing an object for sale
http://bitfossil.com/cb59ba690b2e90173545508fdce65e5c1867308fb51b0dcc0be130aa7a6ace28/index.htm

BUY buying an object that was listed for sale
http://bitfossil.com/8c52a899696b0d81e802104d8829362a5b9e8138f2804fca3359972b53a4859f/index.htm

SWP delisting an object that was for sale...or changing the cost
http://bitfossil.com/3f1048c9bb2e32297aa601ea1a267f2125325528398d2c0756fadff87a294bf0/index.htm

BRN  permanently destroying an object
http://bitfossil.com/c6a7418b7b7e49ad55e3387e111f97509303fe4b694b119261cc7d388ded7cfe/index.htm


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 11:29:10 PM
bitfossil  filters the actual transaction files out for security reason   

[MNT]   is basically a tiny file called MNT with no extension

this testnet MNT example is actually linking to metadata that exists on the curecoin blockchain.  you would need both blockchains for it to be considered a valid transaction


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 03, 2022, 11:31:03 PM
this was fun.... back to work

<3 #embii



ohhh  one more thing...this is for the moderators.  ;D

http://bitfossil.com/5e9579b5054250ef319be9523f80ae1591217133616bdb9a02a1d3cc7d319b19/index.htm (http://bitfossil.com/5e9579b5054250ef319be9523f80ae1591217133616bdb9a02a1d3cc7d319b19/index.htm)

<3 #embii


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: n0nce on April 04, 2022, 01:14:23 AM
ohhh  one more thing...this is for the moderators.  ;D

http://bitfossil.com/5e9579b5054250ef319be9523f80ae1591217133616bdb9a02a1d3cc7d319b19/index.htm (http://bitfossil.com/5e9579b5054250ef319be9523f80ae1591217133616bdb9a02a1d3cc7d319b19/index.htm)

<3 #embii
Since you mention the moderators, please write what you want to say in a concise way and in single posts, not 10 after each other with a sentence each. This isn't an instant messenger.

Pinned here (https://bitcointalk.org/index.php?board=24.0), you can find:
32. Posting multiple posts in a row (excluding bumps and reserved posts by the thread starter) is not allowed.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: pooya87 on April 04, 2022, 02:30:50 AM
So in reality you are just creating UTXO bloat by spamming bitcoin blockchain with unspendable transactions and creating pointless burden for full nodes that have to load those UTXOs...


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 04, 2022, 04:48:13 AM
So in reality you are just creating UTXO bloat by spamming bitcoin blockchain with unspendable transactions and creating pointless burden for full nodes that have to load those UTXOs...

no, they are all valid transactions to users who just haven't been born yet. they are tiny gifts to the future that could eventually be spent.  perhaps when we have moon bases on io or when mars has breathable air again.  if they really are unspendable as you say...the action of burning bitcoin just makes it more scarce, increasing the overall value of the crypto that can still be traded.

you are welcome.


apertus.io transactions are not pointless spam, they are memories of loved ones, art, a historical record of humanities failures, hopes, fears and triumphs
on permissionless blockchains every person can and will decided for themselves how to allocate their own funds. what i have placed under bitcoin's protection will exist long after all of us are dead.


http://bitfossil.com/474b81dcdf6c85e762092799e2a96886f2165e825d17e7eca58f210c2a572ce2/index.htm


<3 #embii




Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: vjudeu on April 04, 2022, 07:14:41 AM
Quote
no, they are all valid transactions to users who just haven't been born yet
But you could just use OP_RETURN! Better: you could use OP_RETURN inside TapScript and just commit to the blockchain, instead of burning coins! There is no reason to burn anything, there is also no reason to bloat the chain. Another thing is that one commitment for the whole network would be cheaper than pushing every commitment for every user.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: n0nce on April 04, 2022, 07:24:58 AM
So in reality you are just creating UTXO bloat by spamming bitcoin blockchain with unspendable transactions and creating pointless burden for full nodes that have to load those UTXOs...

no, they are all valid transactions to users who just haven't been born yet. they are tiny gifts to the future that could eventually be spent.  perhaps when we have moon bases on io or when mars has breathable air again.
Translation to normal English: never.  ::)
Pooya is right on this one: These UTXOs will remain forever in the UTXO set which full nodes to have to maintain actively, so its size is artificially increased by people doing these types of experiments. Since you are still an extremely tiny minority, we don't see 'bad effects' of it yet, but if the idea catches on, I do see how this can eventually become an attack on Bitcoin.
You can find it in .bitcoin/chainstate.

https://statoshi.info:3000/d/000000009/unspent-transaction-output-set?orgId=1&viewPanel=8&refresh=10m
If we have a look, it's currently almost 5GB, but since we know that e.g. this project exists, it can never ever go down close to zero again, but will have a certain 'base' defined by the coins sent to addresses for which private keys are lost or never existed (such as in this application). Mathematically, they do exist, but you and I know these coins will never be spent.

apertus.io transactions are not pointless spam, they are memories of loved ones, art, a historical record of humanities failures, hopes, fears and triumphs
on permissionless blockchains every person can and will decided for themselves how to allocate their own funds. what i have placed under bitcoin's protection will exist long after all of us are dead.
It depends on how you define pointless spam. If you think of Bitcoin as a payment system, you could argue they are. Similarly to someone starting to write down large chunks of information on bank notes; it's not their primary purpose, but it does work if you split the data across enough bank notes. However, it can reduce the usability of the system, hence they will be replaced by the bank sooner or later. This is not possible in Bitcoin, though.
So if you were to upload a 5GB movie through this method, which according to you wouldn't even be very expensive (roughly $50,000), you could effectively double the UTXO set size. If someone were to splurge $5M on such an attack, the chainstate would increase not by 5GB but by 500GB and become too large for most nodes to continue operation. Am I missing something? Seems like a very powerful attack to me.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 04, 2022, 07:51:07 AM
Quote
no, they are all valid transactions to users who just haven't been born yet
But you could just use OP_RETURN! Better: you could use OP_RETURN inside TapScript and just commit to the blockchain, instead of burning coins! There is no reason to burn anything, there is also no reason to bloat the chain. Another thing is that one commitment for the whole network would be cheaper than pushing every commitment for every user.


using OP_RETURN to store data in blockchains actually creates far more bloat then the method we are describing here.

the maximum amount of OP_RETURN data currently supported by the network per transaction is 80 bytes.... i think.. :-\ it has been awhile since i checked.

by using a sendmany transaction i can fit somewhere up to 3K 20 byte chunks into a single transaction.

around 60K per transaction. (very rough estimate)  apertus.io's default bitcoin wallet settings currently cap the transaction size to 300 or 6K.. this is an adjustable setting. apertus.io is designed to work on 100's of other altcoins as well... not just bitcoin.

would you prefer i store a 60KB picture of my daughter's cat using 700 transactions or 1 transaction?   :D



<3 #embii


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: Stantcheva on April 04, 2022, 07:52:17 AM
Quote
no, they are all valid transactions to users who just haven't been born yet
But you could just use OP_RETURN! Better: you could use OP_RETURN inside TapScript and just commit to the blockchain, instead of burning coins! There is no reason to burn anything, there is also no reason to bloat the chain. Another thing is that one commitment for the whole network would be cheaper than pushing every commitment for every user.

this paper from ledger compares the efficiency and costs of P2FKH technology employed by apertus.io with other methods to insert data in bitcoin blockchain, hope this can provide some help;D
https://ledger.pitt.edu/ojs/ledger/article/view/101/93


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: embii on April 04, 2022, 08:22:23 AM
Quote
no, they are all valid transactions to users who just haven't been born yet
But you could just use OP_RETURN! Better: you could use OP_RETURN inside TapScript and just commit to the blockchain, instead of burning coins! There is no reason to burn anything, there is also no reason to bloat the chain. Another thing is that one commitment for the whole network would be cheaper than pushing every commitment for every user.

this paper from ledger compares the efficiency and costs of P2FKH technology employed by apertus.io with other methods to insert data in bitcoin blockchain, hope this can provide some help;D
https://ledger.pitt.edu/ojs/ledger/article/view/101/93


thank you!! it is a great research paper...

we chose P2FKH because it was the easiest to implement
because it was and still is a method accessible via a standard RPC command that a majority of the blockchains support.
because it is provably unprune-able... our goal @hugpuddle.org is #forever... like forever ever and ever.. ;D.

i am totally serious about bitcoin still being around when humans are exploring io and vacationing on mars.


the great #satoshi seemed to have no problems with storing our history on blockchains.

 “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.”  

<3 #embii




Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: n0nce on April 04, 2022, 08:50:19 AM
the great #satoshi seemed to have no problems with storing our history on blockchains.

 “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.”  
You do realise this had a very, very specific, useful and actually necessary purpose, though? Like, proving there was no pre-mine?
I'm not sure it's a good idea to store data on the blockchain by putting it into the UTXO set.
Using your numbers, Ripple and Greenpeace with their $5M anti-Bitcoin budget could have increased the UTXO set size to over 500GB over the course of roughly a year.
I understand that even if you don't put a tool out there that easily allows people to bloat like this, they can code it themselves. But it's still a pretty considerable attack vector if we see how much money is splurged on anti-Bitcoin campaigns these days.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: ABCbits on April 04, 2022, 09:46:28 AM
Quote
no, they are all valid transactions to users who just haven't been born yet
But you could just use OP_RETURN! Better: you could use OP_RETURN inside TapScript and just commit to the blockchain, instead of burning coins! There is no reason to burn anything, there is also no reason to bloat the chain. Another thing is that one commitment for the whole network would be cheaper than pushing every commitment for every user.
using OP_RETURN to store data in blockchains actually creates far more bloat then the method we are describing here.

the maximum amount of OP_RETURN data currently supported by the network per transaction is 80 bytes.... i think.. :-\ it has been awhile since i checked.

80 bytes limitation is only enforced by Bitcoin node though. If you're pool owner or can convince pool miner to add your transaction, OP_RETURN would create less bloat.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: vjudeu on April 04, 2022, 10:42:26 AM
Quote
using OP_RETURN to store data in blockchains actually creates far more bloat then the method we are describing here
Using many OP_RETURN outputs in a single TapScript creates far less bloat, while making funds spendable, because you have some tweaked public key and attached commitments. You don't need to store data on-chain, you only need to commit them to prove that they are connected with the chain. And you can do that without making any bloat, with zero additional on-chain bytes, just by tweaking your key, so it is cheaper.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: tromp on April 04, 2022, 02:50:42 PM
Quote
using OP_RETURN to store data in blockchains actually creates far more bloat then the method we are describing here
You don't need to store data on-chain, you only need to commit them to prove that they are connected with the chain.

Some applications *do* want to store, in order to publicly expose the data. Committing doesn't do that.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: pooya87 on April 05, 2022, 03:35:16 AM
would you prefer i store a 60KB picture of my daughter's cat using 700 transactions or 1 transaction?   :D
What we prefer is for bitcoin to be used as it was meant to, meaning as a payment system not a distributed database where arbitrary data is being stored.

The reason why OP_RETURN was introduced is to discourage exactly what you are doing (creating UTXO bloat) and the 80-byte limit is another discouragement telling you that bitcoin blockchain is not a place to store arbitrary data, even if you could.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: ABCbits on April 05, 2022, 12:01:11 PM
would you prefer i store a 60KB picture of my daughter's cat using 700 transactions or 1 transaction?   :D
What we prefer is for bitcoin to be used as it was meant to, meaning as a payment system not a distributed database where arbitrary data is being stored.

Exactly, there are different protocol (such as IPFS and BitTorrent) which is more suitable for distributed data sharing. Besides, it's more practical to use OP_RETURN to share hash of the IPFS/BitTorrent instead.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: Merkle Token Inc. on April 05, 2022, 04:24:14 PM
What do ya'll think about the idea of using test-nets or even something like datacoin to host websites? -TN is impermanent which is fine because websites will be updated anyway...


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: n0nce on April 05, 2022, 04:25:35 PM
What do ya'll think about the idea of using test-nets or even something like datacoin to host websites? -TN is impermanent which is fine because websites will be updated anyway...
Why not use https://nginx.org/en/?


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: garlonicon on April 05, 2022, 04:36:02 PM
Quote
What do ya'll think about the idea of using test-nets or even something like datacoin to host websites?
I think it is cheaper than using mainnet. But even then, there is no reason to spam some existing network, where you can create your own, and only commit to some existing network, just to reuse its Proof of Work and commit for no additional cost. So, you can create your own blockchain, with your own content, add any rules you want (that would be more suitable for hosting files than for moving coins, so coding and adjusting consensus rules would be easier). Then, you can just place "OP_RETURN <someHash>" in a TapScript commitment every sometimes to get Proof of Work protection from some chain. It will be definitely cheaper and still very secure, without creating spam on the chain you want to commit to.

Quote
-TN is impermanent which is fine because websites will be updated anyway...
I think one commitment every sometimes for the whole network is all you need. If you only want to attach to the Proof of Work, you don't have to push things on-chain, you only need to create a commitment, then you can adjust content on your side, and everyone will still be able to verify if your commitment is correct, so every participant of your network will be sure that the history was not modified, and that your history is protected by Proof of Work of the chain you commit to.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: midnightmagic on April 26, 2022, 10:53:29 PM
Since no one mentioned it yet, i'd like to mention that Rootstock (RSK) exist. It's Bitcoin sidechain which support smart contract with merged mining to Bitcoin network.

Rootstock is **not** a Bitcoin sidechain as per the sidechains whitepaper. It does **not** benefit from Bitcoin hashrate..


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: midnightmagic on April 26, 2022, 10:56:53 PM
the great #satoshi seemed to have no problems with storing our history on blockchains.

 “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.”  
You do realise this had a very, very specific, useful and actually necessary purpose, though? Like, proving there was no pre-mine?
I'm not sure it's a good idea to store data on the blockchain by putting it into the UTXO set.
Using your numbers, Ripple and Greenpeace with their $5M anti-Bitcoin budget could have increased the UTXO set size to over 500GB over the course of roughly a year.
I understand that even if you don't put a tool out there that easily allows people to bloat like this, they can code it themselves. But it's still a pretty considerable attack vector if we see how much money is splurged on anti-Bitcoin campaigns these days.

It was just a time-based anchor. It does not prove the lack of a pre-mine. The proof of no premine was something any miner at the time could prove for themselves just by winning blocks.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: pooya87 on April 27, 2022, 02:47:33 AM
Rootstock is **not** a Bitcoin sidechain as per the sidechains whitepaper. It does **not** benefit from Bitcoin hashrate.
That is the definition of a sidechain, a separate chain that has its own mining, own blockchain, own network and the only link it has to bitcoin is usually a 2 way peg. It isn't really using bitcoin or its blockchain to benefit from its hashrate. It just benefits from its name!

RSK is a Bitcoin sidechain, so it has its own network, and its own blockchain, but not its own token.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: tromp on April 27, 2022, 07:00:55 AM
Rootstock is **not** a Bitcoin sidechain as per the sidechains whitepaper. It does **not** benefit from Bitcoin hashrate.
That is the definition of a sidechain, a separate chain that has its own mining

RSK is a Bitcoin sidechain, so it has its own network, and its own blockchain, but not its own token.

A sidechain.borrows all coins from its host chain. So while it can not have its own block *subsidy*, it still has miners earning block rewards composed entirely of transaction fees.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: ABCbits on April 27, 2022, 09:05:55 AM
Since no one mentioned it yet, i'd like to mention that Rootstock (RSK) exist. It's Bitcoin sidechain which support smart contract with merged mining to Bitcoin network.

Rootstock is **not** a Bitcoin sidechain as per the sidechains whitepaper. It does **not** benefit from Bitcoin hashrate.


Did you even check RSK mining page[1]? It's clearly stated it utilize Bitcoin mining hashrate. The paper[1] even state it.

Satoshi consensus, based on proof-of-work, is the only consensus system that prevents the rewrite of blockchain history at a low cost. The academic community is advancing the knowledge and study of proof-of-stake as an alternative, but currently PoW provides the highest proven security. Merge mining is a technique that allows Bitcoin miners to mine other cryptocurrencies simultaneously with nearly zero marginal cost. The same mining infrastructure and setup they use to mine Bitcoins is reused to mine RSK simultaneously. This means that, as RSK rewards the miners with additional transaction fees, the incentive for merged mining becomes high.

[1] https://mining.rsk.co/ (https://mining.rsk.co/)
[2] https://www.rsk.co/Whitepapers/RSK-White-Paper-Updated.pdf (https://www.rsk.co/Whitepapers/RSK-White-Paper-Updated.pdf), page 15.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: pooya87 on April 28, 2022, 02:16:54 AM
A sidechain.borrows all coins from its host chain. So while it can not have its own block *subsidy*, it still has miners earning block rewards composed entirely of transaction fees.
It doesn't "borrow" coins, it pegs them to the host chain so it can have flexibility. It also has an entirely separate chain that can an entirely different consensus rules which means it could technically have block subsidy too although in a pegged coin it doesn't make much sense.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: n0nce on April 28, 2022, 07:54:15 AM
It was just a time-based anchor. It does not prove the lack of a pre-mine. The proof of no premine was something any miner at the time could prove for themselves just by winning blocks.
How would it be possible to pre-mine if the genesis block has some newspaper headline in it that satoshi couldn't know in advance?

Without this text, he could have invented Bitcoin 10 years earlier and created 10 years worth of blocks (all without publishing), then created the whitepaper and a genesis block (that his 'private' chain is also based on) and let people mine. He would then have been able to attack the network as long as the chain was shorter than his private one by publishing it.

But due to this text in the genesis block, we can be fairly sure he didn't start a private chain before that newspaper article got published.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: takuma sato on April 29, 2022, 07:18:30 PM
TC is just not safe and not a bright idea for a store of value, that is why no one with a brain is storing money on the Ethereum network. All these "im holding ETH long term" cryptonoobs will sooner or later pay the fee.


Title: Re: Making Bitcoin and its Forks Turing Complete
Post by: NotATether on May 04, 2022, 02:33:05 PM
the great #satoshi seemed to have no problems with storing our history on blockchains.

 The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.  
You do realise this had a very, very specific, useful and actually necessary purpose, though? Like, proving there was no pre-mine?
I'm not sure it's a good idea to store data on the blockchain by putting it into the UTXO set.
~

It was just a time-based anchor. It does not prove the lack of a pre-mine. The proof of no premine was something any miner at the time could prove for themselves just by winning blocks.


Not that a time-based anchor was ever necessary in the first place, as all bitcoin transactions are timestampped from the very beginning.


Also, it's prohibitively expensively to store arbitrary OP_RETURN data inside the blockchain as a result of the tx fees going over the roof in the years since then.