Search content
Sort by

Showing 16 of 16 results by BoofBitcoin
Post
Topic
Board Bitcoin Discussion
Merits 2 from 1 user
Topic OP
How do I destroy steel phrase plates?
by
BoofBitcoin
on 01/11/2020, 03:22:12 UTC
⭐ Merited by DdmrDdmr (2)
In an feat of stupidity I screwed up not one, not two, not three but four steel seed plates. One is a Coldbit and the others are Blockplates. The Coldbit I stamped a letter backwards, and the Blockplates I screwed up the position of punching the dots onto the grid. The end result is I now have 4 steel plates that have my seed phrase completed to various degrees, so now I need to know how do I go about destroying them?
Post
Topic
Board Development & Technical Discussion
Re: Best practice for storing small bits of arbitrary data on the blockchain?
by
BoofBitcoin
on 08/04/2020, 05:36:34 UTC
the only size limit is the block size, in other words you can inject a garbage data a little less than 1 MB in one transaction's output to the bitcoin blockchain. 20 byte (which is actually 40+OP_RETURN+push-byte size) is the standard rule that the bitcoin nodes are enforcing to reduce the chances of abuse. there is also transaction fees that will prevent such shenanigans to some extent.

the thing is that bitcoin is a payment system so it's "ledger" should only have to store payment data not arbitrary messages hence the "The best practice is don't."

Yeah I should have been more clear in that. By best practice I really meant in terms of encrypting and encoding to ensure the data is stored in a secure manner. In what manner is the 20 byte rule enforced? On a per transaction basis, the use case I am targeting would be somewhere around 1 to 2kb tops. But there may be anywhere between a few to a few hundred transactions per user.
Post
Topic
Board Development & Technical Discussion
Merits 2 from 1 user
Re: Best practice for storing small bits of arbitrary data on the blockchain?
by
BoofBitcoin
on 08/04/2020, 01:09:07 UTC
⭐ Merited by ETFbitcoin (2)
I mean there are probably a few bits you could scrape from the lock time value but that'll also be very limited and it'll have to be a block height that has already passed...

20 bytes is what would be needed to store unique identifiers on the chain afaik so it's what you're going to have to put up with... But why you think others should download whatever junk you dump on there confuses me... Try it once or twice don't use 12+ kb of space that no one else can use for anything...

That's not really my problem to deal with. Its not that I think they should, its that I know they have no choice anyways. If the issue comes down to "Just don't do that, its not right" then its not a good argument because someone will eventually abuse that. Even worse, if what I want to do can scale it will be an application that multiple end users can take advantage of so it wouldn't even be just me. I love bitcoin but it does not progress without people testing the outer bounds of its capabilities. If it becomes a major problem like causing transaction fees to skyrocket then I guess people will have to figure out a solution to that instead of urging people to not stress test weaknesses within the system. Either way, I have something I want to do that uses bitcoin's blockchain, so I would like to see what happens for better or worse. Considering the resilient nature of bitcoin and the incredible amount of brilliant engineering that goes into bitcoin to resolve its shortcomings such as the lightning network, I figure worst case is bitcoin adapts. Best case is my use case has no significant impact.
Post
Topic
Board Development & Technical Discussion
Re: Best practice for storing small bits of arbitrary data on the blockchain?
by
BoofBitcoin
on 08/04/2020, 00:14:48 UTC
Are you sure it was the whitepaper? He published the title of a headline in the first block that was made (can't remember what it said now) if you open the first blk file bitcoin core downloads you can see what he wrote.

If you're after a way of storing data there are some solutions such as storj that link you up with people renting out hard drive space...

You can have other solutions as well such as only checking message that are from, to or contain a certain address... But you'd also have to check no one sabatages that so it might be better to just look at transactions FROM if you did try to go through with something like this.

In a reply that was posted here, someone linked a thread which links this url http://www.righto.com/2014/02/ascii-bernanke-wikileaks-photographs.html?m=1 that outlines a few examples of things being stored on bitcoin's blockchain. I am not interested in using other technologies or blockchains, just what is available within bitcoins limitations. Ideally I would want at most maybe 2 or 3 KB of storage per transaction, but if I was absolutely limited to 20 bytes I could still do a limited version of what I want to do.
Post
Topic
Board Development & Technical Discussion
Re: Best practice for storing small bits of arbitrary data on the blockchain?
by
BoofBitcoin
on 07/04/2020, 22:59:57 UTC

I was not aware of the 20 byte limit. That would also be problematic for storing text that you wanted to keep private or secure, since encryption could inflate the text so you would probably have to use some combo of encryption and encoding to get the job done it sounds like.

 I think the "bitcoin isnt made for this" begins to step into the ethical debate which isn't really my focus, but I also believe that as long as bitcoin allows for such a use case even though it wasn't intended for that it does not matter very much. Ultimately, if it becomes a problem for the bitcoin ecosystem as a whole then it will force a solution to be created or bitcoin will fail. Relying on everyone to abide by some ethical standard isn't a great practice so instead of saying "bitcoin should not be used for this" I think the argument should be focused around "If or when bitcoin is used for this..how do we solve for x?". In a way, relying on everyone to stick to what bitcoin should be used for means you're trusting humans to do behave a certain way which goes entirely against the grain of what bitcoin is about at its fundamental core, which is taking away the need to trust humans to behave a certain way.

Merging encoding and encryption functions is probably a good idea. As well as trying to symmetrically encrypt any private data, storing keys elsewhere...

Blockchain isn't designed for data storage. It can facilitate it but shouldn't be used directly for it... For the experienced - it's incredibly slow to access at least and for the novice it's just difficult to implement... Even not looking at the ethics of it it's still something that most consider.

I agree that ethics aside, it still has technical challenges because that's not what its intended to do but I think that's part of the fun. So far it seems the use case of data storage would be limited to an extremely small amount of data and there is a chance it is not fast. Given the limitations I think I can come up with something that would be functional. I have seen examples of things like the bitcoin whitepaper being embedded into a transaction, how is that done despite there being a 20 byte limit..or am I misunderstanding something?
Post
Topic
Board Development & Technical Discussion
Re: Best practice for storing small bits of arbitrary data on the blockchain?
by
BoofBitcoin
on 07/04/2020, 21:29:07 UTC
time to wheel out the old lad

https://i.imgur.com/AqlQXCa.jpg

I am not new to bitcoin, just the development and technical side. If anything, I am not interested in fixing anything with bitcoin. I am interested in abusing bitcoin with weird unintended use-cases. With the info I have learned so far, what I want to do may or may not be possible. Storing a max of 20 bytes of encrypted text data compressed I don't assume is an easy task.
Post
Topic
Board Development & Technical Discussion
Re: Best practice for storing small bits of arbitrary data on the blockchain?
by
BoofBitcoin
on 07/04/2020, 21:13:03 UTC
No matter what chain you use, you're almost certainly better trying to compress the data you want to store so it becomes cheaper.

I don't know about other chains but bitcoin only allows 20 bytes of optional universal data per transaction. Some encoding strategies like run length encoding or other methodologies can help maintain data in a way. Also storing text as an alphabet or alphanumeric characters can be stored in 5 bytes or 6 bytes respectively and can use sub versions of bytes to store even more.

But bitcoins blockchain isn't made for handling this and will just push fees up for everyone else...

I was not aware of the 20 byte limit. That would also be problematic for storing text that you wanted to keep private or secure, since encryption could inflate the text so you would probably have to use some combo of encryption and encoding to get the job done it sounds like.

 I think the "bitcoin isnt made for this" begins to step into the ethical debate which isn't really my focus, but I also believe that as long as bitcoin allows for such a use case even though it wasn't intended for that...it does not matter very much. Ultimately, if it becomes a problem for the bitcoin ecosystem as a whole then it will force a solution to be created or bitcoin will fail. Relying on everyone to abide by some ethical standard isn't a great practice so instead of saying "bitcoin should not be used for this" I think the argument should be focused around "If or when bitcoin is used for this..how do we solve for x?". In a way, relying on everyone to stick to what bitcoin should be used for means you're trusting humans to do behave a certain way which goes entirely against the grain of what bitcoin is about at its fundamental core, which is taking away the need to trust humans to behave a certain way.
Post
Topic
Board Development & Technical Discussion
Topic OP
Best practice for storing small bits of arbitrary data on the blockchain?
by
BoofBitcoin
on 07/04/2020, 19:26:44 UTC
As a thought experiment, I was wondering what would be the best way to securely store some data on the blockchain. The data itself as an example could be some text, maybe a few kilobytes. Lets say I don't want anyone to know what that text is and since its on the blockchain, anyone can find and access it so encryption would likely be required. Is there any sort of best practice for this scenario? Lets say a whole system was built around the idea of storing small bits of text on the blockchain in a secure manner, would it be something you trust? It would be something not far off from a company having a database of encrypted sensitive info but everyone having access to that database. Ethical debates of using bitcoin as an arbitrary store of data aside, I am just curious how in this sort of environment you could guarantee the security and privacy of that data.
Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: I want to get started with bitcoin script, what are some good resources?
by
BoofBitcoin
on 03/04/2020, 21:28:45 UTC
⭐ Merited by aliashraf (1)
OP,
For mastering bitcoin scripting language you need to check resources like this: https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch07.asciidoc

But for creating actual scripts tailored to your needs (like the hypothetical one @ETFbitcoin suggested) without coding it you have two options:

1)lame option: Ignore the mastering phase and just storyboard your requirements right here, waiting for someone to write down a script for you.

2)Try writing down simple scripts tailored to your need and incrementally add more twists to it

In either case, you will come with something like this:
Code:
 IF
    IF
      2
    ELSE
      <60 days> CHECKSEQUENCEVERIFY DROP
      <MyPubkey> CHECKSIGVERIFY
      1
    ENDIF
    <Pubkey1> <Pubkey2> <Pubkey3> 3 CHECKMULTISIG
  ELSE
    <90 days> CHECKSEQUENCEVERIFY DROP
    <MyPubkey> CHECKSIG
  ENDIF
In this 'simple' script, I send funds to an address which is redeemable with 2 of 3 authorized members of a directing board or something, however, after  60 days if the board doesn't reach required 2 votes, one authorized member can join me to reclaim the funds and after 90 days I can do it by myself.

Now that the script is ready, you need the public keys to put in the placeholders and a map. What map? One that tells you the value of each opcode presented in the script. here you could find one: https://en.bitcoin.it/wiki/Script
After replacing public keys in the script you might decide to calculate its sha256 hash and ripemd160.

You can use libbitcoin-explorer (bx) to get rid of mapping and doing both hashes.  as follows:
Code:
echo {SCRIPT}| bx script-encode | bx sha256 | bx ripemd160
The result would be the hash of your script and it can be used as the destination of a simple P2SH transaction but you and other people who wish to access the funds in the future should have access to the original script. reclaiming complex scripts is another story.



The link you provided has an incredible amount of detail, more than I have seen from other places so far. I did not realize Andreas offered this book for free to read so now I am motivated to give it a read. I have also thought about it and I am pretty sure that I need to learn how to create a raw transaction if I want to create a transaction with a script in it so I think I am slowly getting on the right path. Thanks for the info, its extremely helpful. No worries about me taking the lazy approach, to a fault I am a very DIY type person because I don't trust other people to do it to my standards.
Post
Topic
Board Development & Technical Discussion
Re: I want to get started with bitcoin script, what are some good resources?
by
BoofBitcoin
on 03/04/2020, 19:30:18 UTC
My end goal is I want to learn to create a script that can handle an escrow like service, where 2 parties can agree or disagree that the agreement is to satisfaction and if there is a disagreement then a third party can step in and mediate.
Not wanting to dull your thirst for knowledge... but isn't that sort of escrow scenario already handled by a simple 2-of-3 multisig wallet setup? Huh

I believe so, but I have bigger plans once I figure out some of the basics.
Post
Topic
Board Development & Technical Discussion
Re: I want to get started with bitcoin script, what are some good resources?
by
BoofBitcoin
on 03/04/2020, 05:59:22 UTC
Unfortunately I am not very familiar with C++. My end goal is I want to learn to create a script that can handle an escrow like service, where 2 parties can agree or disagree that the agreement is to satisfaction and if there is a disagreement then a third party can step in and mediate. Looks like I will have to do some more digging around to figure out how this stuff comes together to get executed on the blockchain as a transaction. I will try and poke around the source code and see what I can figure out. Thanks for the links.
Post
Topic
Board Development & Technical Discussion
Merits 6 from 4 users
Topic OP
I want to get started with bitcoin script, what are some good resources?
by
BoofBitcoin
on 02/04/2020, 21:09:45 UTC
⭐ Merited by ETFbitcoin (2) ,Quickseller (2) ,hugeblack (1) ,o_e_l_e_o (1)
I have been researching bitcoin script and to my surprise its not as difficult as I first assumed. The problem is every resource I have seen so far from googling around and looking at youtube videos only seem to cover the fundamentals but never really touches on other things like what is the process of serializing and executing my script as a transaction on the blockchain? Most guides cover stuff like what is a stack and how does Alice send bob bitcoin and what that transaction type look like. Suppose I create a timelocked script or multisig script, how do I execute that script live or on the testnet? Also, are there any development "best practices" I should be aware of, or a development environment that can streamline or optimize the process of development?
Post
Topic
Board Service Announcements
Re: [ANN] BitVPS: Accountless VPS Hosting for Bitcoin and other cryptocurrencies
by
BoofBitcoin
on 01/04/2020, 20:58:32 UTC
Your AUP (https://bitvps.com/aup) needs clarification. Bold are my questions and concerns with specific areas of your AUP.

Quote
Acceptable Use Policy

The following activities are strictly prohibited. Violation of this AUP may result in termination of your services:

- Spamming
- Intellectual Property and copyright enfringement enfringement is spelt infringement
- Obscene Speech or Materials What counts as obscene??
- Defamatory or Abusive Language Define abusive language
- Forging of Headers
- Distribution of Internet Viruses, Worms, Trojan Horses, or Other Destructive Activities
- Facilitating a Violation of this AUP
- Adult Material What types of "Adult material" Pornographic? Am I not allowed to host a blog about cigars or alcohol?
- Illegal Activities Illegal in what laws of what country? What is legal in one place may not be elsewhere. Visa Versa.
- DDOS
- Online Gambling
- HYIP or Ponzi Schemes
- Phishing
- Fraudulent Activities
- Child Pornography
- Misuse of system resources, such as, by employing programs that consume excessive network capacity, CPU cycles, or disk IO

The customer is 100% responsible for all data stored under his account / control.
By using our services you agree to abide by the laws of the region of service (server location) Is server location mentioned anywhere?.

Abuse tickets can be forwarded to support@bitvps.com

Your AUP raises a lot of concerns for me and honestly, I would strongly suggest you get with a lawyer to write up an AUP that is legally binding and goes into further detail on what is and is not allowed. You have grammatical errors and many areas that are not thought out very clearly.
Post
Topic
Board Development & Technical Discussion
Topic OP
[deleted]
by
BoofBitcoin
on 16/01/2020, 03:14:17 UTC
[deleted]
Post
Topic
Board Beginners & Help
Merits 1 from 1 user
Topic OP
[deleted]
by
BoofBitcoin
on 26/10/2019, 05:48:46 UTC
⭐ Merited by OgNasty (1)
[deleted]
Post
Topic
Board Beginners & Help
Merits 13 from 5 users
Topic OP
[deleted]
by
BoofBitcoin
on 24/10/2019, 02:54:03 UTC
⭐ Merited by Welsh (4) ,suchmoon (4) ,DdmrDdmr (2) ,LoyceV (2) ,o_e_l_e_o (1)
[deleted]