What you need to know
On Sunday 28th July 2019, “Operation Data Blast” will commence on the live Bitcoin SV mainnet public network. Hundreds of Bitcoin Society members will be coordinating efforts to upload meaningful media onto Bitcoin’s public blockchain. The 12 hour window will commence late Sunday evening UTC, around Sunday lunchtime in the Americas, early hours of Monday morning of the 29th in Eurasia and around Monday lunchtime in Asia Pacific. The large window will give people from all around the world the opportunity to take part in what will most likely be a record breaking sequence of concurrent large blocks.
Before the event, I wanted to highlight some tips and tricks with you, help you understand a few perils, pitfalls and limitations whilst illustrating how you can actively take part yourself, effectively and safely.
Before we get to some of the more technical and legal stuff, the first question many will be asking is, why?
Why is this happening?
Bitcoin isn’t where it should be after a decade. Being usurped by various entities with nefarious intent has created forks of the original protocol and the carefully orchestrated manipulation by these bad actors have destroyed many of the key tenets of Bitcoin, whilst coercing bucket-shop crypto exchanges to capture the trading Tickers of Bitcoin (XBT and BTC) by centrally governed entities whose objective is to command and hobble the Bitcoin protocol via the hostile takeover of protocol development.
Having the governance model of the codebase locked and controlled at the whim of business interests that were secondary to the intended design of Satoshi Nakamoto, Bitcoin was turned into a non-scaleable, high fee market with little to no utility. These and many other more damaging deletions and insertions became the very antithesis of what Bitcoin was designed to be.
The crazy crypto markets, wash trading, money laundering, scam ICO’s (also known as…ICO’s, and now IEO’s) and the whole swathe of “blockchain innovations” happening on permissioned ledgers or glorified mesh networks no more scalable than an Excel spreadsheet gave birth to not only a sea of opportunistic nonsense but downright evil and disgusting operations such as Silk Road and Hydra.
Bitcoin has lost 4–5 years of progress and the most powerful and impactful parts of Bitcoin’s computation and recursive abilities were either broken, turned-off, deprecated, altered or completely removed. The essential parts of Bitcoin’s original design was strongly eluded to, or in many cases quite literally described in detail in Satoshi’s whitepaper, which accurately describes his creation, intentions, processes and application.
The opcodes in Bitcoin were originally designed to be the most economical, low-level use of Forth-like predicate functionality. Small operations that can form a Turing complete, procedural, imperative, stack-based programming language that can be used with full recursion to compute anything you can think of in a transactional, ultra small-world network system. The clever mixing of game theoretic Stackelberg competition, recursive computation, Mandala network specialised service layers, settled upon an immutable public Merkel tree of truth.
This “Truth Machine” not only offers transactional accountability but lawful, immutable data storage that allows rights ownership, honesty and data integrity in 4 dimensions of space and time, which records changes in state by adding a parent/child tree of a timestamped subset of changes. An immutable history of data. Ownership, rights, records, shares, commodities and much, much more, all secured by Proof-of-Work.
So, the crux of the question as to “why” is entangled in this complex history of coercion and subterfuge. More than 50% of the world has now heard about Bitcoin and less than 2% has ever used it. The vast majority currently think that BTC is Bitcoin, as they don’t know any better! Why should they, the shiny professional looking exchanges say so, so why would they doubt it?
If you hear a lie often enough, to the uninitiated, why would you question the status quo of the vox populi? Bitcoin is not a socialist tool in any guise whatsoever, whether it be some anarcho-capitalists wet dream of sticking one finger up at the banks or other such erroneous and ill researched suppositions.
Bitcoin is a ledger of truth and Bitcoin SV reverts all of Satoshi Nakamoto’s original protocol back to version 0.1. Sure there were a few minor glitches that required code improvements but the protocol itself had many years of careful design both technically, economically, practically and mathematically to be born a fully fledged adult; mature enough at birth to subsume and improve upon many issues with the internet protocol as well as modern macroeconomic theory.
Bitcoin takes data and turns that into a transaction of useful information. Bitcoin’s network effect, topology and accountability offers a better internet design with a money protocol built in. Rather than the Googles, YouTubes and Facebooks of this world taking your “free” service and monetising your data, with Bitcoin, you can own and monetize your own data. In a meritocracy, the better service you provide is directly proportional to the quality and demand of your information. Information is data, valued.
With this in mind, “Operation Data Blast” is the swan song, a last hurrah to those who spent so much time and effort into diminishing the integrity and genius of Satoshi Nakamoto’s creation. It’s giving ‘the bird’ to those who restricted Bitcoin to 1MB blocks, servicing a paltry 7 transactions per second to line the pockets of those interests whose only wish was corruption, anonymity, control, destruction and power.
Correlating with the penultimate protocol upgrade named “Quasar”, Bitcoin is well on track to being fully back to it’s original protocol, a process which culminates in the final protocol upgrade, named “Genesis”, in February of 2020. All limitations will be removed as per its original design; effectively unlocking unbounded iterative scaling opportunities in years to come.
Why are you uploading media?
With the Quasar protocol upgrade, max block size has been upped from a 128MB cap to a much larger 2GB. It’s not as simple as changing a number in Bitcoin’s code, there has been 10 years worth of iterative tinkering which has to be carefully unpicked and reversed in a manner that is backwards compatible. No spendable transaction in Bitcoin’s history can be made ”unspendable”, even if the goal is to revert to the original protocol.
Media in Bitcoin is human decipherable content. All media MIME types, applications, documents and extensions are supported by a growing pool of applications and services being enabled on top of Bitcoin, forming the Metanet. Uploading media is not only a test of Bitcoin’s network at greater scale but the low level services that support it.
Human readable content by definition is much more complex than a simple payment transaction with different overheads. Ten thousand 250 byte payment transactions propagates over the network very differently to three thousand concatenated 900KB transactions. This process is to put this new upgrade to the test by “spamming” the network with large data sets to see what information can be gained from a network propagation perspective, comparing results from the test environment with the live environment.
Isn’t this test dangerous?
No, not at all. We have already verified the code on testnet and against the STN (Scaling Test Network) with multiple concurrent 2GB blocks being mined using the current Quasar iteration codebase to its upper hard cap limits. More useful information will be gathered now upon mainnet (the public Bitcoin blockchain). Upon its launch on Wednesday 24th July, 2019, the ‘Satoshi Shotgun’ was ‘fired’ to create many hundreds of thousands of microtransactions to test transactional throughput benchmarks. This resulted in a record breaking 147.5MB block being created.
‘Operation Data Blast’ is specifically media focussed. Media creates large transactional strings filled with op_return data and other annotations and requests. It creates ‘fat transactions’ which can fill blocks to a larger capacity with much fewer transactional throughput compared to simple payment transactions. This is more of a test of the Metanet plumbing, the low level services and APIs that have come online to support rich media on Bitcoin over the last 6 months.
What media can I upload?
Pretty much any containers widely support by today’s internet. Video, audio, images, documents and rich text. Things like mp3 audio, mp4 video, jpegs, gifs and pdfs. Many of the Metanet services have built-in media players and content viewers. This also includes CAD design formats, 4K and 8K video streaming formats, Adobe Illustrator and Premiere Pro .ai and .pro projects and various 3D design containers.
Cool, so I can upload anything then?
No. Bitcoin is an immutable public ledger. In law, ‘Proof of keys’, is not ‘Proof of ownership’. You mast have full rights to what you upload.
You cannot upload anything under copyright, unless you own that copyright. You cannot upload a movie, your favourite music video, or favourite book (unless you wrote it). Music, movies and publishings are licenced by their respective industry and royalties apply. It is illegal to reproduce, distribute or store any content without implicit written consent.
To be safe, only original content created by you can be archived by you. Be mindful of images that contain people you don’t know who may not approve. No podcasts by other people, even if you’re in it, unless you have permission. The rule of thumb is to be sensible and be considerate to others and you won’t go far wrong.
So, what is good to upload?
Something that means something to you. Yes, we’re stress testing the Bitcoin network but we’re not spamming it with nonsense to fill up blocks to prove a point. This exercise isn’t a means to an end, it’s onboarding people to actually use its utility in a meaningful way.
Elon Musk could have tested the maiden voyage of the Falcon Heavy rocket by loading 20 tonnes of concrete ballast as its cargo. No, he made a statement by inspiring others in placing his cherished, first off the production line Tesla Roadster with a mannequin in the driver’s seat, dressed as an astronaut. Everybody knows who ‘Starman’ is because the act of inspiration was indelibly scorched into your brain by a sense of wonder and amazement.
Upload something you’re proud of. Something you’ve achieved. Something you love. Add part of you that will be included in the creation of a record breaking block that will inspire a generation. This will spark ideas in application developers to build the next generation of Metanet applications that you haven’t even dreamed of yet, all better than what we have right now.
Upload something you’d be happy for your grandchildren to discover when they look you up after you’ve gone. An idea you’ve written down, wedding photos, a baby’s first word, your toddler’s first step, a painting you made, an old love letter, your beloved pet, your award winning pumpkin, photos of your military service, your first car, your first home, your beautiful garden, an award you’ve received, your first holiday snaps, a memorial to your ancestors.
Whatever you choose, make it meaningful. If you treasure it, it has value to you. You will become a custodian of your little slice of Bitcoin and you will value the importance of others doing the same as businesses and enterprises add their value to it too, over time.
Sounds awesome, how do I contribute?
Uploading media to Bitcoin is as easy as dragging a file from your desktop to another folder. It’s a simple drag and drop that requires a simple swipe of the Money Button. Most of the popular upload platforms use Money Button to automate the process, so make sure you’re already signed in with a few dollars funded in your account. If you don’t have a Money Button account just yet, you’ve really been missing out on all the cool new stuff happening on Bitcoin. Hop on over to Money Button at moneybutton.com and set up an account. It takes just a few minutes to get up and running.
To fund your Money Button, simply click the red circle at the top left hand side of the page, where is says “Add Money” and you’ll be presented with your wallet address and a QR code. Either scan your QR code on you phone with your Handcash, CentBee or RelayX mobile wallet, or if on PC, use the red button to copy your Money Button wallet address to your clipboard where you can enter it into your ‘send’ address in you favourite BSV compatible desktop wallet.
Money Button utilises Bitcoin’s SPV protocol, so from clicking send to being funded and spendable in Money Button takes no more than a few seconds.
So, you’re logged into Money Button and you have a few dollars in your account and now you’re good to go. The first port of call to add some cherished media to the Bitcoin blockchain is add.bico.media
You’ll notice on this page there is a one click upload ‘beta’ version too. We’ll talk more about that later. You’ll also notice it states that there is currently a 310MB file limit for uploads. If this is your first time attempting this I recommend trying something small in size first until you get the hang of it. For a first attempt, try to keep documents under 15MB and images and video under 40MB.
UTXO Speed Limit
Currently in Bitcoin there is a UTXO (Unspent Transaction Output) limit in the Bitcoin SV node software as part of a suite of flood protection measures. These limits will be lifted in the road to “Genesis” as Bitcoin is reverted back to its original design in February 2020. Multiple Money Button swipes over a short space of time can cause errors. This isn’t an issue with Money Button, it’s an issue with hitting the 25 transactions limit per block, built into the node software. Fortunately, there is a workaround for this issue.
Splitting your UTXO set into multiple subsets allows you to swipe away happily for hours. Money Button has a built-in UTXO splitter that breaks up your UTXO pool into multiple shards. Doing this will prevent your uploads being blocked by hitting ceiling limits. For most situations, splitting your UTXO set into 20 pieces is ample for most uploads under 40MB. It usually costs no more than around 1 cent to do this, so it’s good practice for the next 6 months if you want to get “swipe happy”.
Media uploads are split into multiple Bitcoin transactions, each currently requiring a swipe. This can get tedious but the first time you do it is so much fun. The message carrier and OP_RETURN outputs do currently have a maximum string length in terms of bytes, so monolithic files are broken down into smaller data strings. The last swipe you do is called a ‘concat file’. This joins (concatenates) the individual transactions you’ve uploaded and orders them.
The Bitcoin transaction ID of this ‘concat file’ is used in a similar way as a DNS server maps a web address to an IP address. Using _unwriter’s B://cat protocol, many Bitcoin enabled media players and file browsers are supported in this way to natively view what you just uploaded.
After upload you’ll be presented with a MURL (Metanet Uniform Resource Locator) that looks something like this:
Don’t forget to copy this address somewhere safe. I recommend creating a text document in your desktop folder with an annotation as to the name of the uploaded file. Currently, there isn’t a mature, publically available Bitcoin media indexing service yet, so having a Google like search engine in realty is a few months away, but many people are working on this right now and there are already limited functionality examples online. Bitcoin developers who are interested in building such a service will do very well by starting with _unwriter’s D:// and Meta protocols to get building quickly.
With this in mind, try also to name your file something logical before you upload it. Instead of uploading img00126.jpg of your cat, try and name it Joe-Bloggs-Cat.jpg. Additionally, all Metanet browsers, file explorers and media services support white space in the nomenclature, so you can actually upload Joe Bloggs Cat.jpg without hyphens or underscores.
Different countries around the world support different default date formats, so using a YYYYMMDD format to designate a date helps tremendously with ordering and indexing in the future. By starting a file with 20190728-Cat.jpg ordering by date is so much easier later on without having to inspect the EXIF data. Remember that in many cases split files will have their creation and last edited dates overridden. This won’t be a problem next year when files can be uploaded wholly without disrupting an image’s EXIF data. It’s something you may wish to bear in mind.
Lastly on this subject, your file name will be generally used by default as the file header for your content. There are a few early build repositories, libraries and lists of books and videos cataloguing these, such as Symre and Metahandle, so name your content in a human readable form if you can.
Also, add the media extension to your upload when you copy it down for your own reference. Adding .jpg .png .mp3 or .pdf to your transaction ID will help all media players discover what you are trying to preview on the blockchain. Not all players currently support undesignated media but it’s getting there and will be the norm by the end of the year. So, my previous file would be copied down like this:
Using a URL shortener like Bitly can really help create a logical, memorable and shareable link to your content. Additionally, you can then track the hits on your link too, so you have an overview as to how many people have viewed your content.
What about larger files?
When you’re comfortable doing this, you may wish to try other upload options of greater size. For this, try add.bico.media/beta/ which saves multiple Money Button swipes. A great alternative is the on-chain application, Bottle Upload, which can be found here.
Both apps work great with heightened levels of automation. Bico Beta has an option to also use Money Button and both services have local Bitcoin SV wallet generators. You can select your files first and they will both calculate the BSV required in advance. You can then fund your wallet as normal and both wallets will auto split your UTXOs into the required amount of shards to complete the upload.
WARNING: Before funding your wallet, both applications have a button to reveal your WIF key. WIF is a (Wallet Import Format) private key. Please ensure you have revealed and copied your private key and stored it in a file somewhere safe.
Generally you can shut your browser and your wallet address is presented to you each time you return. Due to PC updates and restarts, changing browser settings, upgrading browser, clearing cache or during an incomplete upload or a browser crash, I have lost my wallet address on two separate occasions on two different uploading applications during testing for various unrelated and unsuspected reasons.
Let my stupidity be a lesson to you all. I should and do know better. Remember, not your keys, not your Bitcoin. At least if you have a problem before uploading but after your wallet is funded, you can always setup your wallet again should any of the above reasons cause your wallet to disappear from your screen for any reason or if a new address is accidentally generated.
Bico Beta has a WIF import box if you click ‘Let me use my old one’ after you’ve selected a file for upload. This way you can use a previously used and funded address.
If this happens in Bottle Upload and a new wallet address is created for you but you had previously funded another one, you can copy and paste the new WIF with your own. You WIF key is stored locally, so you can use Google Chrome Development Tools to change it.
Right-click on the page and select ‘Inspect’. Then click the ‘Application’ tab and navigate over to the bottom left hand side where it says ‘Storage’, there will be a dropdown menu named ‘Local Storage’. Expand the dropdown to reveal ‘bico.media’. This will reveal your active private key. Under the box that says ‘Value’, you will see displayed the private key. Double click this private key string and you can paste the one you saved earlier. Refreshing the page will then fetch your old wallet and your last balance should be displayed.
What are the limits?
Using either of these to upload a single file around the stated 310MB will be tricky. Although the Bico application is currently hard coded to a max file size, in reality it’s currently a bit lower than that. The backbone to both of these services uses the BitIndex real-time Bitcoin API. With files over 200MB the required UTXO splits forms a raw transaction output string that is currently too large to be handled by BitIndex in its current format. We are planning to brainstorm a workshop on Tuesday 30th July, 2019, and we think we know how to remove this bottleneck but unfortunately it won’t be ready in time for Operation Data Blast.
This bottleneck was only recently discovered after my stress testing the absolute limits of these services. The cause has now been identified and I’ll be working with the teams from BitIndex, Bottle Upload and Bico Media to document, test, improve and iterate new releases where all parties understand and implement any necessary improvements.
In essence there is an issue known as a ‘race condition’ whereby UTXOs become stale. This is an application implementation issue that requires tweaking rather than being any issue with Bitcoin. It should be a fairly easy issue to overcome but getting everyone singing from the same song sheet takes a little time.
My short term aim over the next 2 weeks is to be able to one-swipe upload a 750MB video file and I think this is an achievable timeframe that will make CD sized uploads possible by the end of August. I will help to mature this process with all parties until DVD sized one click uploads are as easy as drag, drop and swipe. If I can get to this stage by November at the latest, I’ll be happy that we’ll be prepared enough to take the next steps before the Genesis upgrade in February of 2020.
I want to really push the limits!
Great, me too!
I don’t take “it can’t be done” for an answer. After chatting about the problems with Derek Moore, it seems there is a way to still upload large video files.
The following method is really not for novices but if you love a challenge then by all means try it for extra kudos. You can use ffmpeg to split your video files into segments and generate M3U8 files for the playlist. You can then upload the video pieces in smaller segments. You then add the bico.media MURLs of the uploaded files to the M3U8 file and upload that transaction ID as the MURL reference.
I make it sound easy don’t I? Well, it’s not without peril as you can reference the wrong paths to the wrong file segment quite easily and end up with video sement playing in the wrong order. Hat’s off to you if you can do this first time without messing one of the steps up. Who’s up for the challenge?
I know Derek has already achieved this feat and I understand that Bico Media is working towards the automation of this process, which will be a game changer.
How else can I help?
If this all sounds a bit geeky and somewhat difficult there are many other ways you can contribute to Operation Data Blast. Have you tried WeatherSV?
WeatherSV is a Bitcoin powered weather app that gathers and records essential weather data immutably onto the blockchain. Take a look to see if your area has a channel, if not, why not consider opening one? It’s really easy. I’ve already created 60+ channels. You get big transactional bang-for-buck volume too, as the channel constantly posts live data to the blockchain, so please consider trying it out.
Twetch is a twitter-like Bitcoin only social application. If you already have an account, great! You can contribute by saying something meaningful. Why not make a list of your top 10 favourite twitter posts, the more likes they have on twitter the more chance others will like them too. It’s a two-way street on Twetch, you get paid directly into your Money Button account when someone comments or likes your post. Try and post content that’s meaningful to your audience but remain true to yourself. Be yourself, tell a joke, ask a riddle or better still, if you have nothing of interest to say to the world, like a comment that inspires you or comment on other people’s posts and interact with them. Play around with the mime generators! They are so much fun to create, the more outrageous the better.
Just play. Play around with your favourite Bitcoin apps. Why not log into your HandCash wallet and ping everyone in your contacts a penny. Why not search for your favorite BSV twitter folk and find out their HandCash $handle or RelayX 1handle and ping them a penny to say hi?
Why not go over to bico.media and swipe the tip button? It’s really easy, let me show you here.
Did you see it? When you realise this video on the Bitcoin blockchain, required a button swipe to upload the video about the button swipe of the video on the Bitcoin blockchain, so you could see the video of the button swipe streamed from the Bitcoin blockchain, it kinda messes with your head!
Bitcoin could always do this, it’s such a shame it was suppressed for so long. If you just want to watch and enjoy the show the best place to watch how all of this all pans out over the next 24 hours will be exciting to witness.
How can I learn more about Bitcoin?
Straight from the horse’s mouth. Satoshi Nakamoto himself is the best person to learn about Bitcoin from. All of Dr. Craig Wright’s recent posts reside at craigwright.net. Before you do that, read the original whitepaper by Satoshi Nakamoto (Dr. Craig Wright) over here.
Examples of recent on-chain media.
8K Hyperlapse — Soul, South Korea https://jolonf.github.io/bcat-client-stream/play.html?tx=d0f3ac782995b81ffce5de06668076c47ee9ca3a925d2ebfa3e6e7649050c182
Peter Schiff on Bitcoin SV, on Bitcoin SV: https://bico.media/f9a8dd0c37987cd393caddcafc90cf834afaa52f2af961f5cfc7677847061f9c.mp4
Us: The Who, What & Why of Mankind: https://bico.media/79ab7cb99187e4aec1e976e5bdc7e985b7851337f67f94ed669bfe75e9622cf2.pdf