I’m a commentator for a tournament of nightmares. I’m not sure the participants are willing.
You’d think being a psychiatric ward for 38 months would be enough to deter a guy from ever going back to a sport that involves watching human beings at the height of their physical prowess beat the living shit out of each other. Sometimes regulated, sometimes not. But, here I am, fresh outta the loony bin and reading the most unusual advertising slogan I’d ever laid eyes on; “The most terrifying tournament has come around once again! Conquer your fears in theNFC*…* literally.” This was the business card that accompanied my black envelope as it was handed to me on the discharge ward by a well dressed and gangly fella with an uncomfortable wide smile. He didn’t say much of anything, just that his name was “Watson” before bowing and holding up the envelope. “Heh, like the butler, right?” I said, taking the envelope from his plasticine hands. His smile ripples across his face and he nods slowly, his perfect hair unmoving in the strong wind before he turns on his heel and walks back to the black sedan. The cold air chilled my bones, and I pulled the medical bracelet from my wrist, grimacing at the marks underneath before following Watson to the Sedan and hauling my luggage into the trunk before setting off, not knowing how I came to even be there in the first place. I guess right now, that doesn’t really matter. What matters is where I am now and what I’m doing. "blood strewn across the canvas, frayed brain matter sailing across my head and splattering against the wall, a woman standing in a pool of blood as the deformed creature twitches on the ground" My name is Sal “Motormouth” Sabotta, I’m a sports commentator by trade. Be it combat sports, pro wrestling, death-matches or martial arts tournament, I’ve done it all. I won’t lie; Work can be hard to come by. I’ve spent months struggling for rent and resorting to less tried-and-true commentary methods in order to survive. That has, at times, involved trying my hand at some of the more underground competitions; unregulated fights, sick, illegal games bet on by people on the dark web and worse… Things I’m not going to detail here. Things I’m not proud to have taken a hefty pay-check for from greasy, sweaty fucks in Armani tracksuits and stinking of cheap booze and coke all the way up to well-dressed bitcoin farmers in their 20s who probably own child slaves. In short, I’m no stranger to the grim underworld or the secrecies with which they conduct their work. I see money and an easy way to make it with my voice; I don’t ask questions. So when I received an email the day of my discharge from the hospital and I’m told “you’ll receive a letter from Mr. Watson, take it and follow the instructions to the venue. Pay up front as agreed.”, I don’t question it. Especially when the note is personalised, and the doctor says my medical fees were covered. We drove past numerous landscapes, vistas and neighbourhoods before veering off into an industrial estate and entering an underground tunnel. Half a mile in, Watson stops the car and peers back, smiling. He directs a thumb to the service door in the side tunnel and rubs his neck, a scar running from ear to ear. Was he a former fighter? Gangster? I sighed and got out, still in my medical gown and hauling ass to the door. It opened before I could reach out and a tall, muscular woman in her late 30s greeted me with a smile. She was imposing, powerful in her gait, a black eyepatch with several seals adorning the sides accompanying a thick scar down her face did nothing to stop her beauty. She wore a tank top with a black cloak with white fur on the tops and sleeves, a thick black chain clasp around the neck. I won’t lie; she looked badass. Terrifying, but badass. “‘Bout time ya showed up, Sabotta!” She grinned and put a cinderblock of a hand on my shoulder. I’m 5’10 and 180lbs, but she made me feel like a child in front of her. The power emanating from her fist was unbelievable. “C’mon, the trial match is starting and I don’t want no tourney without a broken in commentator! You gotta know the ropes of this place!” “You know your driver was standing right outside when I was discharged, right? Couldn’t think to give me an extra day or two to freshen up?” I frowned. This wasn’t normal protocol, even for back-alley promotions like this. She just laughed at me and slapped my shoulder. “The tournament waits for nobody, Sal. Times a-wasting.” The hallway is dimly lit and the sounds of a ruckus above us are as impossible to ignore as the sounds of thudding, screaming and snapping. As we pass several doors with one-way mirrors on the front panes, I hear sounds I could have never placed in the animal kingdom or otherwise; gurgles, clicks, grunts and even otherworldly whispers. “What the fuck is that? You guys doing animal fights down here? I mean I called a monkey fight once, but it’s not exactly… pleasant.” I shuddered, thinking of the violence chimpanzees can inflict on one another, let alone humans. She never stopped walking or staring directly ahead when she responded.“Those ain’t animals. Not by a long shot.” Before I can probe further, I’m hurried into a changing room and practically swept off my feet by her strength. I turn back and she’s already poking her head out the door. “You’ve got 5 minutes, get your shit and head up the left stairs, Watson will guide you.” She grinned, and I saw gold filings in her teeth that glinted as much as her bedazzled eye patch. “Ya came highly recommended… I expect good things!” I do as instructed and within 5 minutes I’m back in my commentary clothes; an open buttoned Hawaiian shirt with my old Hotel Inertia shirt underneath, skinny black jeans and shimmering black shoes. I found some old slick gorilla powder in my hair and dusted it up, opting for the dishevelled look as I knew I’d be sweating by the end of the ordeal. “You shouldn’t bother putting in so much effort, y’know. They’re not gonna care how good you look, only how well you talk.” Standing in the doorway was a woman in her 40s, dark-skinned and hair clad in meticulous dreadlocks, tied back into a large bun with a pair draped down the sides of her head. She held a thick book in one hand and pocketed a serrated blade in the other before motioning to me. “We’ll have to do the pleasantries on the way, the match is starting and you don’t wanna miss that. The commissioner isn’t the type you want to upset. Especially when you’re not here by choice.” I looked for a moment, dumbfounded. “I’m here because I was invited, already got my pay from the woman who let me in.” I shrugged, pocketing the envelope and getting my equipment from the suitcase. The woman gave a sad smile and shook her head. “Of course you’d think that. She likes it that way. Bet she didn’t introduce herself either, did she? C’mon.” I follow her down and after a few minutes we come to a fork in the hallway, an elevator system to our right and a stairway to the left. Dutifully, Watson stood patiently, still grinning and motioning us to go up. Once we’re situated in our booth upstairs, I set my equipment up and look down at the table, expecting a slew of papers and fighter information in front of me. I look to the woman to ask, but she doesn’t break her stare in the darkness, looking down at the arena floor some 100ft below us.“You won’t need that. Not for this match.” The lights flicker on and the enormity of this venue reveals itself to me. It’s a structure of imposing steel, dried blood, claw marks and other unknown substances that littered the 40ft wide circular pit the fighters contested in, a black lift on either side from the fighters corners that I can only assume ascended up from their locker room area. Around them were chain-link fences that rose up to the audience stands above, situating around 300 people across all four sides. At the very top sat our booth, the commissioner’s office directly opposite, the judges booth to our right and the fight analysts/medical area to our left. Standing in the centre with a spotlight over them was the commissioner, microphone in hand and an energy that was almost palpable. “Ladies, Gentlemen and Freaks of all kinds out there in the universe. I welcome you once more to the annual Nightmare Fighting Championship Tournament! It’s been a long year, but we have new blood to pit against our resident night terrors and some fresh fears to feast on the fortuitous soul that frolics into their den. As always, our contestants will be fighting for their freedom, a chance to get their wish or to fight for the ultimate prize.” The crowd cheers and the majority are hidden behind thick plexiglass and lighting, but I can see some have Karate Gi’s, weapons in hand and others with demon masks as they whoop and holler. The clientele here were, at least in my estimation, experienced. But I was feeling a lump in my throat at that one phrase The Commissioner so surreptitiously added in without issue; “As always, our contestants will befightingfor theirfreedom*”* I leaned to the woman next to me and as if she knew what I was going to ask; she put a finger up and shook her head. Eyes awash with fear and a grimness I had only seen on that of trainers who knew their fighter was not ready for the bout ahead. She pointed the finger down to my machine, then to the pit. Turning it on, I looked down as the commissioner began to talk, readying myself to commentate on whatever weirdos came up to battle. “But before we get to that, we have an exciting exhibition match for our loyal supporters who bankroll this event every year. Without you elite few, we could not do this. You are the pound for pound goats of support! Now, without further ado; let’s get this show on the road!”The rest of the lights clicked on and spun around the venue as they raised the profile of the bout, the elevators both whirring into action as the right one arose first. “In this corner, from the marionettes shop and accompanied by his Bunraku doll “Mr. Stares”, it’s the man who pulls the strings… THE PUPPET MAN!” Out steps a tall, thin Japanese man in full clown makeup. His head shaven save for two ridiculous strands of hair stretched out and fluffed up to their limits, like red antennae. His eyebrows large m’s that practically cover his forehead, the nose a completely vacant slot with a black hole drawn in and the mouth… the fucking mouth was nailed shut. Literally. Sharp rusted nails had been hammered down through the lips with such force that they’d bent. A sickening crimson red face-paint stretched across the entire bottom half of his face, making it seem far larger by comparison. He carefully held a small bundle underneath a sheet and bowed deeply to the audience before standing at his designated spot. “In the other corner, from the streets of god knows where and the womb of someone who misses him… "Hulked Up" Michael O’Donnell!” I watched with wide eyes and a stomach threatening to evacuate its contents at any moment as the smoke cleared and a boy no older than 17 rushed out, beating his chest and screaming to the crowd as if he was the Incredible Hulk. I don’t know if they drugged the poor kid, but he clearly had no idea where he was. “There are no rules, no referees and judges only exist in case of a draw or unclear victory. Our commentary team will take over and we wish you a phenomenal match.” She drools a little before she speaks again, looking up at me and winking. “Let’s make this a violent one.” She snaps her fingers and leaps for the fence, climbing up with ungodly ease before sitting on her makeshift chair in her office. I have no idea what I’m seeing but every cell in my body is urging me to run; I feel my knees tense and my frame rise ever so slightly before the woman next to me puts her hand on my thigh, pushing me down with great force. “You have a job to do, so do I. Trust me, you think you can leave but if you get out of this chair, not only will YOUR life end. Mine will too.” She unsheathes the serrated blade and looks at me with pity. “We both have a part to play here, so put the headset on and let’s do our job, no matter how hard it is.” Hands shaking, I pick up the headset and connect it to the portable recorder and take a breath. “I… I need your name. What is it you do?” I stutter, trying to calm myself. She hands me a bottle of water as the surrounding lights dim and the spotlight focuses on the spectacle below. “I’m Madame Nelle Lockwood, cryptid hunter and your co-host to guide you through tonight. Good to meet you, Sal.” - NFC EXHIBITION MATCH: "Hulked Up" Michael O’Donnell vs The Puppet Man w/ Mr. Stares “Welcome fight fans from around the world, god knows how you’re listening to this or WHY, but here we are. I’m your host Sal “MotorMouth” Sabotta, wishing this was all a bad dream. Joining me this evening is our cryptid specialist and all round badass Madame Nelle Lockwood. How are you doing, Nelle?” She looks at me with a bewildered look on her face before blinking and coming to her senses. “Uhh… good! All things considered… boy, you really have a professional knack for this, huh? I can see why Commissioner Alduin brought you in." “Ahh, yes. That’s right, folks! NFC Commissioner Alduin invited me here personally and our exhibition match proves to be… challenging. Let’s check in on the action below.” I look down and see The Puppet Man sat down and gesturing to the figure under the sheet, like he’s got a negotiation going on. The boy, undeterred and furious, rushes towards him and takes his back, slapping his head and even pulling on his hair with extreme prejudice. “Well take a gander at that, that kid has absolutely NO fear. When I was his age, I would have stayed FAR the fuck away from a nightmare spectre like that. But hell, this is all part of the show, right? Hope they’re paying that poor guy down there a sizeable sum to throw a fight to a child. What do you think, Nelle; is this the weirdest make-a-wish fulfilment task or what?” I look over to her, hoping she’d indulge me and that I could believe this was just going to end with a pissed off actor storming away when the child hit him too hard. But Nelle was scanning her now open book and looking for information on dolls. “He’s talking to his doll because it’s desperate to be let loose. He’s trying to bargain with it to spare him. This is the nature of the puppeteer and his master.” She pushes the book to the centre of the table and shows me a faded illustration of a pristine Bunraku doll; a kind of meticulously crafted Japanese take on the ventriloquist doll. The limbs are thinner and the face is more minimalist, but still no more frightening. “They usually have a symbiotic relationship, but it seems this one obeys the doll and will not want to face more punishment.” “What do you mean more punishment?” I ask, looking back down at the feverish puppet man as he tries signing frantically under the sheet, even putting his head under as the kid bites his arm and kicks him, screeching. “The nails, Sal. Those aren’t to silence him, they’re to punish him.” The rest happened in slow motion; the sheet fell down. The puppet man stood up and walked to his side of the fighters corner, facing the elevator and placing his face into his forearms as he shook. The boy followed to keep attacking, but with one swift kick to the midsection, the boy was propelled back to the centre of the pit where the doll sat. If there was a human face, I didn’t see it. Instead, I was staring down at a small wood carved spider, the head sporting black geisha hair and the makeup still present, but rows of sharpened black teeth protruded from the clicking mouth and two larger eyes jutted out from the base of the skull, smaller ones dotted closely around it. It was like seeing a puppet ogre spider. “Looks like The Puppet Man has let Mr. Stares out to say hi and I can certainly see why he was under that sheet, this one isn’t pretty folks! The face doth fit the name. The question is, what’s he doing to do ne- “I didn’t need to finish the question. My hands shook, and the world spun around me as this creature crawled towards the still wheezing boy with ungodly speed and perched itself expertly beside him. I don’t know if it was my eyes or the distance from where I sat, but this was NOT a small puppet. He was easily half of the boy’s height and that became more unnerving when he reared up on his back legs, the head clicking up and the raspy voice hissing out like a gas leak in a building. “Hey, hey, kid! Wanna make a deal?” The kid rubbed his eyes, seemingly realising where he was as he calmed down and an air of utter confusion around him. “If you let me be your new master and you promise to take care of me, I’ll let you go!” His head spun around and the jaw clicked ferociously as he giggled, extending out a clawed paw. “Whaddya say?” The boy, still confused, slowly reached out his hand and the moment immediately reminded me of a slew of nature shows I’d seen as a kid; where a predator waits until the prey is lulled before striking. I felt the chill up my spine as he extended his hand and grabbed Mr. Stares. In that moment, he leapt up the arm and bore his way into the boy’s mouth, down his throat and shredded his flesh. The sound was so horrifying, so visceral that it outshines any backyard stabbing, joint snap or broken nose. The boy didn’t even have time to scream, he simply looked up with tear-stained eyes as the puppet disappeared. Then he started walking without him realising. He looked down at his limbs, terrified, looked over at The Puppet Master, who still had his head to the elevator and pleaded with someone, anyone to help him. I looked to Nelle who refused to take her eyes away, studying the battle in an almost morbid scientific curiosity, detached entirely from the scenario. I couldn’t fathom how she did it, how she ignored this boy begging us to get him out of there. I wanted to. Every instinct in me as a fight fan and a decent human was to scream “STOP THE FIGHT!”. But clearly, when my own life is at risk and money is involved... I am not a decent human. Instead, with bile in my throat and a sweating forehead, I did my job. “M-My goodness! The P-uppet, I mean, “Mr. Stares” has BECAME the puppet master, surely the fight will be over with our young competitor incapacitated? What does our commissioner have to say about this?” She stared at me, her one eye gleaming and her face elated with the violence. “It ain’t over yet, church boy. We haven’t even seen the finale, have we Puppet Master?!” She laughs and slaps her knee, the puppet master sobbing as he sinks to the floor and she continues. “He ain’t done feeding, not yet.” The way she said that word “feeding” nearly made me lose what food I had in me. That was a young man, somebody's baby boy… “What does she mean by that, Nelle? What is the strategy to victory here?” Nelle looked down at her book and traced her finger across a passage before wiping her forehead and pushing the locks aside. If her composure wasn’t breaking yet, it would do soon. “This kind of parasitic doll feasts on its prey and targets non-essential organs first, controls the host with the neurotoxin in its tail and then, when it’s finally content, it gives the brain a second injection.” “What happens then?” I asked, my own professionalism hanging on by a fucking thread at this point. She shook her head and pinched the bridge of her nose.“I guess you’ll see in a moment, I sure as hell don’t want to. Not again.” Before I can prompt her further, the boy lets out an ear-piercing shriek and falls to his knees, gripping at his head before it turned red, then purple and finally an ugly shade of puce before… The sound of a watermelon hitting the ground from a great height is the best comparison you’re going to get without making me want to rush to the toilet to puke for a third time. But that’s what happened. His head burst and chunks of his skull, flesh and brain matter sprayed the pit and the walls, some hitting my desk and making me audibly shriek, much to the commissioner's delight. “HA! You didn’t run! I like you, Sal. You pass for the tournament!” She hauls her body up and slams down to the pit, applauding as the microphone descends from the heavens. “And your winner; The Puppet Man and Mr. Stares!” The crowd erupts with applause as the weeping puppet man pulls the blood-soaked puppet out, places him under the sheet and silently begins to walk back to the elevator while attendees clear up the boy’s corpse. “What… what the fuck IS this place?” I ask Nelle, pausing my recording. “This is where nightmares are kept and set upon mostly unwilling competitors for the world’s amusement. You HAVE done dark web fights before, right? Mafia snitches being put into lions pits, bum fights, addicts fighting women to score… this can’t be THAT unusual to you?” I stared at her incredulously. Was that even a question? “I did the dark web ONCE and it damn sure didn’t involve monsters!” She scoffs and closes her book, stretching before looking at me with contempt. “Oh, it did. Just not the ones you hear about in fairytales. Good luck with the selection process. I’ll be back for the opening round. Don’t try to run, they’ll devour us both in minutes, if you think this is the pinnacle of what lurks beneath this club, you're in for a rough night.” She sauntered off, leaving me deflated, sickened and terrified. Unable to leave and frustrated to the point of tears that I couldn’t express that concoction of emotions, I did what I always do; I regressed and pressed “record” on the device as Commissioner Alduin continued. At that moment, however, I was deaf to it all. The gravity of the situation had fully enveloped me… They weren’t kidding about the unwilling participants, I just didn’t realise I would be one of them.On every side of me sits men and women with a desire for violence that goes beyond the norm, beyond the sane and beyond the boundaries of humanity.Below me are an untold number of creatures rattling their cages and howling for blood. Across from me is a woman so powerful she could crush my skull beneath her boot with the utmost ease if it so amused her. That invitation was nothing more than my own ransom note in pretty colours and flattering platitudes. I was in a tournament housing nightmares incarnate. And it would only get more violent from here on out. - The opening round was a blood bath.
This is a follow-up on https://old.reddit.com/Bitcoin/comments/hqzp14/technical_the_path_to_taproot_activation/ Taproot! Everybody wants it!! But... you might ask yourself: sure, everybody else wants it, but why would I, sovereign Bitcoin HODLer, want it? Surely I can be better than everybody else because I swapped XXX fiat for Bitcoin unlike all those nocoiners? And it is important for you to know the reasons why you, o sovereign Bitcoiner, would want Taproot activated. After all, your nodes (or the nodes your wallets use, which if you are SPV, you hopefully can pester to your wallet vendoimplementor about) need to be upgraded in order for Taproot activation to actually succeed instead of becoming a hot sticky mess. First, let's consider some principles of Bitcoin.
You the HODLer should be the one who controls where your money goes. Your keys, your coins.
You the HODLer should be able to coordinate and make contracts with other people regarding your funds.
You the HODLer should be able to do the above without anyone watching over your shoulder and judging you.
I'm sure most of us here would agree that the above are very important principles of Bitcoin and that these are principles we would not be willing to remove. If anything, we would want those principles strengthened (especially the last one, financial privacy, which current Bitcoin is only sporadically strong with: you can get privacy, it just requires effort to do so). So, how does Taproot affect those principles?
Taproot and Your /Coins
Most HODLers probably HODL their coins in singlesig addresses. Sadly, switching to Taproot would do very little for you (it gives a mild discount at spend time, at the cost of a mild increase in fee at receive time (paid by whoever sends to you, so if it's a self-send from a P2PKH or bech32 address, you pay for this); mostly a wash). (technical details: a Taproot output is 1 version byte + 32 byte public key, while a P2WPKH (bech32 singlesig) output is 1 version byte + 20 byte public key hash, so the Taproot output spends 12 bytes more; spending from a P2WPKH requires revealing a 32-byte public key later, which is not needed with Taproot, and Taproot signatures are about 9 bytes smaller than P2WPKH signatures, but the 32 bytes plus 9 bytes is divided by 4 because of the witness discount, so it saves about 11 bytes; mostly a wash, it increases blockweight by about 1 virtual byte, 4 weight for each Taproot-output-input, compared to P2WPKH-output-input). However, as your HODLings grow in value, you might start wondering if multisignature k-of-n setups might be better for the security of your savings. And it is in multisignature that Taproot starts to give benefits! Taproot switches to using Schnorr signing scheme. Schnorr makes key aggregation -- constructing a single public key from multiple public keys -- almost as trivial as adding numbers together. "Almost" because it involves some fairly advanced math instead of simple boring number adding, but hey when was the last time you added up your grocery list prices by hand huh? With current P2SH and P2WSH multisignature schemes, if you have a 2-of-3 setup, then to spend, you need to provide two different signatures from two different public keys. With Taproot, you can create, using special moon math, a single public key that represents your 2-of-3 setup. Then you just put two of your devices together, have them communicate to each other (this can be done airgapped, in theory, by sending QR codes: the software to do this is not even being built yet, but that's because Taproot hasn't activated yet!), and they will make a single signature to authorize any spend from your 2-of-3 address. That's 73 witness bytes -- 18.25 virtual bytes -- of signatures you save! And if you decide that your current setup with 1-of-1 P2PKH / P2WPKH addresses is just fine as-is: well, that's the whole point of a softfork: backwards-compatibility; you can receive from Taproot users just fine, and once your wallet is updated for Taproot-sending support, you can send to Taproot users just fine as well! (P2WPKH and P2WSH -- SegWit v0 -- addresses start with bc1q; Taproot -- SegWit v1 --- addresses start with bc1p, in case you wanted to know the difference; in bech32 q is 0, p is 1) Now how about HODLers who keep all, or some, of their coins on custodial services? Well, any custodial service worth its salt would be doing at least 2-of-3, or probably something even bigger, like 11-of-15. So your custodial service, if it switched to using Taproot internally, could save a lot more (imagine an 11-of-15 getting reduced from 11 signatures to just 1!), which --- we can only hope! --- should translate to lower fees and better customer service from your custodial service! So I think we can say, very accurately, that the Bitcoin principle --- that YOU are in control of your money --- can only be helped by Taproot (if you are doing multisignature), and, because P2PKH and P2WPKH remain validly-usable addresses in a Taproot future, will not be harmed by Taproot. Its benefit to this principle might be small (it mostly only benefits multisignature users) but since it has no drawbacks with this (i.e. singlesig users can continue to use P2WPKH and P2PKH still) this is still a nice, tidy win! (even singlesig users get a minor benefit, in that multisig users will now reduce their blockchain space footprint, so that fees can be kept low for everybody; so for example even if you have your single set of private keys engraved on titanium plates sealed in an airtight box stored in a safe buried in a desert protected by angry nomads riding giant sandworms because you're the frickin' Kwisatz Haderach, you still gain some benefit from Taproot) And here's the important part: if P2PKH/P2WPKH is working perfectly fine with you and you decide to never use Taproot yourself, Taproot will not affect you detrimentally. First do no harm!
Taproot and Your Contracts
No one is an island, no one lives alone. Give and you shall receive. You know: by trading with other people, you can gain expertise in some obscure little necessity of the world (and greatly increase your productivity in that little field), and then trade the products of your expertise for necessities other people have created, all of you thereby gaining gains from trade. So, contracts, which are basically enforceable agreements that facilitate trading with people who you do not personally know and therefore might not trust. Let's start with a simple example. You want to buy some gewgaws from somebody. But you don't know them personally. The seller wants the money, you want their gewgaws, but because of the lack of trust (you don't know them!! what if they're scammers??) neither of you can benefit from gains from trade. However, suppose both of you know of some entity that both of you trust. That entity can act as a trusted escrow. The entity provides you security: this enables the trade, allowing both of you to get gains from trade. In Bitcoin-land, this can be implemented as a 2-of-3 multisignature. The three signatories in the multisgnature would be you, the gewgaw seller, and the escrow. You put the payment for the gewgaws into this 2-of-3 multisignature address. Now, suppose it turns out neither of you are scammers (whaaaat!). You receive the gewgaws just fine and you're willing to pay up for them. Then you and the gewgaw seller just sign a transaction --- you and the gewgaw seller are 2, sufficient to trigger the 2-of-3 --- that spends from the 2-of-3 address to a singlesig the gewgaw seller wants (or whatever address the gewgaw seller wants). But suppose some problem arises. The seller gave you gawgews instead of gewgaws. Or you decided to keep the gewgaws but not sign the transaction to release the funds to the seller. In either case, the escrow is notified, and if it can sign with you to refund the funds back to you (if the seller was a scammer) or it can sign with the seller to forward the funds to the seller (if you were a scammer). Taproot helps with this: like mentioned above, it allows multisignature setups to produce only one signature, reducing blockchain space usage, and thus making contracts --- which require multiple people, by definition, you don't make contracts with yourself --- is made cheaper (which we hope enables more of these setups to happen for more gains from trade for everyone, also, moon and lambos). (technology-wise, it's easier to make an n-of-n than a k-of-n, making a k-of-n would require a complex setup involving a long ritual with many communication rounds between the n participants, but an n-of-n can be done trivially with some moon math. You can, however, make what is effectively a 2-of-3 by using a three-branch SCRIPT: either 2-of-2 of you and seller, OR 2-of-2 of you and escrow, OR 2-of-2 of escrow and seller. Fortunately, Taproot adds a facility to embed a SCRIPT inside a public key, so you can have a 2-of-2 Taprooted address (between you and seller) with a SCRIPT branch that can instead be spent with 2-of-2 (you + escrow) OR 2-of-2 (seller + escrow), which implements the three-branched SCRIPT above. If neither of you are scammers (hopefully the common case) then you both sign using your keys and never have to contact the escrow, since you are just using the escrow public key without coordinating with them (because n-of-n is trivial but k-of-n requires setup with communication rounds), so in the "best case" where both of you are honest traders, you also get a privacy boost, in that the escrow never learns you have been trading on gewgaws, I mean ewww, gawgews are much better than gewgaws and therefore I now judge you for being a gewgaw enthusiast, you filthy gewgawer).
Taproot and Your Contracts, Part 2: Cryptographic Boogaloo
Now suppose you want to buy some data instead of things. For example, maybe you have some closed-source software in trial mode installed, and want to pay the developer for the full version. You want to pay for an activation code. This can be done, today, by using an HTLC. The developer tells you the hash of the activation code. You pay to an HTLC, paying out to the developer if it reveals the preimage (the activation code), or refunding the money back to you after a pre-agreed timeout. If the developer claims the funds, it has to reveal the preimage, which is the activation code, and you can now activate your software. If the developer does not claim the funds by the timeout, you get refunded. And you can do that, with HTLCs, today. Of course, HTLCs do have problems:
Privacy. Everyone scraping the Bitcoin blockchain can see any HTLCs, and preimages used to claim them.
This can be mitigated by using offchain techniques so HTLCs are never published onchain in the happy case. Lightning would probably in practice be the easiest way to do this offchain. Of course, there are practical limits to what you can pay on Lightning. If you are buying something expensive, then Lightning might not be practical. For example, the "software" you are activating is really the firmware of a car, and what you are buying is not the software really but the car itself (with the activation of the car firmware being equivalent to getting the car keys).
Even offchain techniques need an onchain escape hatch in case of unresponsiveness! This means that, if something bad happens during payment, the HTLC might end up being published onchain anyway, revealing the fact that some special contract occurred.
And an HTLC that is claimed with a preimage onchain will also publicly reveal the preimage onchain. If that preimage is really the activation key of a software than it can now be pirated. If that preimage is really the activation key for your newly-bought cryptographic car --- well, not your keys, not your car!
Trust requirement. You are trusting the developer that it gives you the hash of an actual valid activation key, without any way to validate that the activation key hidden by the hash is actually valid.
Fortunately, with Schnorr (which is enabled by Taproot), we can now use the Scriptless Script constuction by Andrew Poelstra. This Scriptless Script allows a new construction, the PTLC or Pointlocked Timelocked Contract. Instead of hashes and preimages, just replace "hash" with "point" and "preimage" with "scalar". Or as you might know them: "point" is really "public key" and "scalar" is really a "private key". What a PTLC does is that, given a particular public key, the pointlocked branch can be spent only if the spender reveals the private key of the given public key to you. Another nice thing with PTLCs is that they are deniable. What appears onchain is just a single 2-of-2 signature between you and the developemanufacturer. It's like a magic trick. This signature has no special watermarks, it's a perfectly normal signature (the pledge). However, from this signature, plus some datta given to you by the developemanufacturer (known as the adaptor signature) you can derive the private key of a particular public key you both agree on (the turn). Anyone scraping the blockchain will just see signatures that look just like every other signature, and as long as nobody manages to hack you and get a copy of the adaptor signature or the private key, they cannot get the private key behind the public key (point) that the pointlocked branch needs (the prestige). (Just to be clear, the public key you are getting the private key from, is distinct from the public key that the developemanufacturer will use for its funds. The activation key is different from the developer's onchain Bitcoin key, and it is the activation key whose private key you will be learning, not the developer's/manufacturer's onchain Bitcoin key). So:
Privacy: PTLCs are private even if done onchain. Nobody else can learn what the private key behind the public key is, except you who knows the adaptor signature that when combined with the complete onchain signature lets you know what the private key of the activation key is. Somebody scraping the blockchain will not learn the same information even if all PTLCs are done onchain!
Lightning is still useful for reducing onchain use, and will also get PTLCs soon after Taproot is activated, but even if something bad happens and a PTLC has to go onchain, it doesn't reveal anything!
Trust issues can be proven more easily with a public-private keypair than with a hash-preimage pair.
For example, the developer of the software you are buying could provide a signature signing a message saying "unlock access to the full version for 1 day". You can check if feeding this message and signature to the program will indeed unlock full-version access for 1 day. Then you can check if the signature is valid for the purported pubkey whose private key you will pay for. If so, you can now believe that getting the private key (by paying for it in a PTLC) would let you generate any number of "unlock access to the full version for 1 day" message+signatures, which is equivalent to getting full access to the software indefinitely.
For the car, the manufacturer can show that signing a message "start the engine" and feeding the signature to the car's fimrware will indeed start the engine, and maybe even let you have a small test drive. You can then check if the signature is valid for the purported pubkey whose privkey you will pay for. If so, you can now believe that gaining knowledge of the privkey will let you start the car engine at any time you want.
(pedantry: the signatures need to be unique else they could be replayed, this can be done with a challenge-response sequence for the car, where the car gathers entropy somehow (it's a car, it probably has a bunch of sensors nowadays so it can get entropy for free) and uses the gathered entropy to challenge you to sign a random number and only start if you are able to sign the random number; for the software, it could record previous signatures somewhere in the developer's cloud server and refuse to run if you try to replay a previously-seen signature.)
Taproot lets PTLCs exist onchain because they enable Schnorr, which is a requirement of PTLCs / Scriptless Script. (technology-wise, take note that Scriptless Script works only for the "pointlocked" branch of the contract; you need normal Script, or a pre-signed nLockTimed transaction, for the "timelocked" branch. Since Taproot can embed a script, you can have the Taproot pubkey be a 2-of-2 to implement the Scriptless Script "pointlocked" branch, then have a hidden script that lets you recover the funds with an OP_CHECKLOCKTIMEVERIFY after the timeout if the seller does not claim the funds.)
Now if you were really paying attention, you might have noticed this parenthetical:
(technical details: a Taproot output is 1 version byte + 32 byte public key, while a P2WPKH (bech32 singlesig) output is 1 version byte + 20 byte public key hash...)
So wait, Taproot uses raw 32-byte public keys, and not public key hashes? Isn't that more quantum-vulnerable?? Well, in theory yes. In practice, they probably are not. It's not that hashes can be broken by quantum computes --- they're still not. Instead, you have to look at how you spend from a P2WPKH/P2PKH pay-to-public-key-hash. When you spend from a P2PKH / P2WPKH, you have to reveal the public key. Then Bitcoin hashes it and checks if this matches with the public-key-hash, and only then actually validates the signature for that public key. So an unconfirmed transaction, floating in the mempools of nodes globally, will show, in plain sight for everyone to see, your public key. (public keys should be public, that's why they're called public keys, LOL) And if quantum computers are fast enough to be of concern, then they are probably fast enough that, in the several minutes to several hours from broadcast to confirmation, they have already cracked the public key that is openly broadcast with your transaction. The owner of the quantum computer can now replace your unconfirmed transaction with one that pays the funds to itself. Even if you did not opt-in RBF, miners are still incentivized to support RBF on RBF-disabled transactions. So the extra hash is not as significant a protection against quantum computers as you might think. Instead, the extra hash-and-compare needed is just extra validation effort. Further, if you have ever, in the past, spent from the address, then there exists already a transaction indelibly stored on the blockchain, openly displaying the public key from which quantum computers can derive the private key. So those are still vulnerable to quantum computers. For the most part, the cryptographers behind Taproot (and Bitcoin Core) are of the opinion that quantum computers capable of cracking Bitcoin pubkeys are unlikely to appear within a decade or two.
Current quantum computers can barely crack prime factorization problem for primes of 5 bits.
The 256-bit elliptic curve use by Bitcoin is, by my (possibly wrong) understanding, equivalent to 4096-bit primes, so you can see a pretty big gap between now (5 bit primes) and what is needed (4096 bit primes).
A lot of financial non-Bitcoin systems use the equivalent of 3072-bit primes or less, and are probably easier targets to crack than the equivalent-to-4096-bit-primes Bitcoin.
Quantum computers capable of cracking Bitcoin are still far off.
Pay-to-public-key-hash is not as protective as you might think.
We will probably see banks get cracked before Bitcoin, so the banking system is a useful canary-in-a-coal-mine to see whether we should panic about being quantum vulnerable.
For now, the homomorphic and linear properties of elliptic curve cryptography provide a lot of benefits --- particularly the linearity property is what enables Scriptless Script and simple multisignature (i.e. multisignatures that are just 1 signature onchain). So it might be a good idea to take advantage of them now while we are still fairly safe against quantum computers. It seems likely that quantum-safe signature schemes are nonlinear (thus losing these advantages).
If you are a singlesig HODL-only Bitcoin user, Taproot will not affect you positively or negatively. Importantly: Taproot does no harm!
If you use or intend to use multisig, Taproot will be a positive for you.
If you transact onchain regularly using typical P2PKH/P2WPKH addresses, you get a minor reduction in feerates since multisig users will likely switch to Taproot to get smaller tx sizes, freeing up blockspace for yours.
If you are using multiparticipant setups for special systems of trade, Taproot will be a positive for you.
Remember: Lightning channels are multipartiicpiant setups for special systems of lightning-fast offchain trades!
I Wanna Be The Taprooter!
So, do you want to help activate Taproot? Here's what you, mister sovereign Bitcoin HODLer, can do!
If you have developer experience especially in C, C++, or related languages
Review the Taproot code! There is one pull request in Bitcoin Core, and one in libsecp256k1. I deliberately am not putting links here, to avoid brigades of nontechnical but enthusiastic people leaving pointless reviews, but if you are qualified you know how to find them!
But I am not a cryptographeBitcoin Core contributomathematician/someone as awesome as Pieter Wuille
That's perfectly fine! The cryptographers have been over the code already and agree the math is right and the implementation is right. What is wanted is the dreary dreary dreary software engineering: are the comments comprehensive and understandable? no misspellings in the comments? variable names understandable? reasonable function naming convention? misleading coding style? off-by-one errors in loops? conditions not covered by tests? accidental mixups of variables with the same types? missing frees? read-before-init? better test coverage of suspicious-looking code? missing or mismatching header guards? portability issues? consistent coding style? you know, stuff any coder with a few years of experience in coding anything might be able to catch. With enough eyes all bugs are shallow!
If you are running a mining pool/mining operation/exchange/custodial service/SPV server
Be prepared to upgrade!
One of the typical issues with upgrading software is that subtle incompatibilities with your current custom programs tend to arise, disrupting operations and potentially losing income due to downtime. If so, consider moving to the two-node setup suggested by gmax, which is in the last section of my previous post. With this, you have an up-to-date "public" node and a fixed-version "private" node, with the public node protecting the private node from any invalid chainsplits or invalid transactions. Moving to this setup from a typical one-node setup should be smooth and should not disrupt operations (too much).
If you are running your own fullnode for fun or for your own wallet
Be prepared to upgrade! The more nodes validating the new rules (even if you are a non-mining node!), the safer every softfork will be!
If you are using an SPV wallet or custodial wallet/service (including hardware wallets using the software of the wallet provider)
Contact your wallet provider / SPV server and ask for a statement on whether they support Taproot, and whether they are prepared to upgrade for Taproot! Make it known to them that Taproot is something you want!
But I Hate Taproot!!
Raise your objections to Taproot now, or forever hold your peace! Maybe you can raise them here and some of the devs (probably nullc, he goes everywhere, even in rbtc!) might be able to see your objections! Or if your objections are very technical, head over to the appropriate pull request and object away!
Maybe you simply misunderstand something, and we can clarify it here!
Or maybe you do have a good objection, and we can make Taproot better by finding a solution for it!
Why we need to think more carefully about what money is and how it works
Most of us have overlooked a fundamental problem that is currently causing an insurmountable obstacle to building a fairer and more sustainable world. We are very familiar with the thing in question, but its problematic nature has been hidden from us by a powerful illusion. We think the problem is capitalism, but capitalism is just the logical outcome of aggregate human decisions about how to manage money. The fundamental problem is money itself, or more specifically general purpose money and the international free market which allows you to sell a chunk of rainforest and use the money to buy a soft drink factory. (You can use the same sort of money to sell anything and buy anything, anywhere in the world, and until recently there was no alternative at all. Bitcoin is now an alternative, but is not quite what we are looking for.) The illusion is that because market prices are free, and nobody is forced into a transaction, those prices must be fair – that the exchange is equitable. The truth is that the way the general money globalised free market system works means that even though the prices are freely determined, there is still an unequal flow of natural resources from poor parts of the world to rich parts. This means the poor parts will always remain poor, and resources will continue to accumulate in the large, unsustainable cities in rich countries. In other words, unless we re-invent money, we cannot overturn capitalism, and that means we can't build a sustainable civilisation. Why does this matter? What use is it realising that general purpose money is at the root of our problems when we know that the rich and powerful people who run this world will do everything in their power to prevent the existing world system being reformed? They aren't just going to agree to get rid of general purpose money and economic globalisation. It's like asking them to stop pursuing growth: they can't even imagine how to do it, and don't want to. So how does this offer us a way forwards? Answer: because the two things in question – our monetary system and globalisation – look like being among the first casualties of collapse. Globalisation is already going into reverse (see brexit, Trump's protectionism) and our fiat money system is heading towards a debt/inflation implosion. It looks highly likely that the scenario going forwards will be of increasing monetary and economic chaos. Fiat money systems have collapsed many times before, but never a global system of fiat currencies floating against each other. But regardless of how may fiat currencies collapse, or how high the price of gold goes in dollars, it is not clear what the system would be replaced with. Can we just go back to the gold standard? It is possible, but people will be desperately looking for other solutions, and the people in power might also be getting desperate. So what could replace it? What is needed is a new sort of complementary money system which both (a) addresses the immediate economic problems of people suffering from symptoms of economic and general collapse and (b) provides a long-term framework around which a new sort of economy can emerge – an economy which is adapted to deglobalisation and degrowth. I have been searching for answers to this question for some time, and have now found what I was looking for. It is explained in this recently published academic book, and this paper by the same professor of economic anthropology (Alf Hornborg). The answer is the creation of a new sort of money, but it is critically important exactly how this is done. Local currencies like the Bristol Pound do not challenge globalisation. What we need is a new sort of national currency. This currency would be issued as a UBI, but only usable to buy products and services originating within an adjustable radius. This would enable a new economy to emerge. It actually resists globalisation and promotes the growth of a new sort of economy where sustainability is built on local resources and local economic activity. It would also reverse the trend of population moving from poor rural areas and towns, to cities. It would revitalise the “left behind” parts of the western world, and put the brakes on the relentless flow of natural resources and “embodied cheap labour” from the poor parts of the world to the rich parts. It would set the whole system moving towards a more sustainable and fairer state. This may sound unrealistic, but please give it a chance. I believe it offers a way forwards that can (a) unite disparate factions trying to provoke systemic change, including eco-marxists, greens, posthumanists and anti-globalist supporters of “populist nationalism”. The only people who really stand to lose are the supporters of global big business and the 1%. (b) offers a realistic alternative to a money system heading towards collapse, and to which currently no other realistic alternative is being proposed. In other words, this offers a realistic way forwards not just right now but through much of the early stages of collapse. It is likely to become both politically and economically viable within the forseeable future. It does, though, require some elements of the left to abandon its globalist ideals. It will have to embrace a new sort of nationalism. And it will require various groups who are doing very well out of the current economic system to realise that it is doomed. Here is an FAQ (from the paper).
What is a complementary currency? It is a form of money that can be used alongside regular money. What is the fundamental goal of this proposal? The two most fundamental goals motivating this proposal are to insulate local human subsistence and livelihood from the vicissitudes of national and international economic cycles and financial speculation, and to provide tangible and attractive incentives for people to live and consume more sustainably. It also seeks to provide authorities with a means to employ social security expenditures to channel consumption in sustainable directions and encourage economic diversity and community resilience at the local level. Why should the state administrate the reform? The nation is currently the most encompassing political entity capable of administrating an economic reform of this nature. Ideally it is also subservient to the democratic decisions of its population. The current proposal is envisaged as an option for European nations, but would seem equally advantageous for countries anywhere. If successfully implemented within a particular nation or set of nations, the system can be expected to be emulated by others. Whereas earlier experiments with alternative currencies have generally been local, bottom-up initiatives, a state-supported program offers advantages for long-term success. Rather than an informal, marginal movement connected to particular identities and transient social networks, persisting only as long as the enthusiasm of its founders, the complementary currency advocated here is formalized, efficacious, and lastingly fundamental to everyone's economy. How is local use defined and monitored? The complementary currency (CC) can only be used to purchase goods and services that are produced within a given geographical radius of the point of purchase. This radius can be defined in terms of kilometers of transport, and it can vary between different nations and regions depending on circumstances. A fairly simple way of distinguishing local from non-local commodities would be to label them according to transport distance, much as is currently done regarding, for instance, organic production methods or "fair trade." Such transport certification would of course imply different labelling in different locales. How is the complementary currency distributed? A practical way of organizing distribution would be to provide each citizen with a plastic card which is electronically charged each month with the sum of CC allotted to him or her. Who are included in the category of citizens? A monthly CC is provided to all inhabitants of a nation who have received official residence permits. What does basic income mean? Basic income is distributed without any requirements or duties to be fulfilled by the recipients. The sum of CC paid to an individual each month can be determined in relation to the currency's purchasing power and to the individual's age. The guiding principle should be that the sum provided to each adult should be sufficient to enable basic existence, and that the sum provided for each child should correspond to the additional household expenses it represents. Why would people want to use their CC rather than regular money? As the sum of CC provided each month would correspond to purchases representing a claim on his or her regular budget, the basic income would liberate a part of each person's regular income and thus amount to substantial purchasing power, albeit restricted only to local purchases. The basic income in CC would reduce a person's dependence on wage labor and the risks currently associated with unemployment. It would encourage social cooperation and a vitalization of community. Why would businesses want to accept payment in CC? Business entrepreneurs can be expected to respond rapidly to the radically expanded demand for local products and services, which would provide opportunities for a diverse range of local niche markets. Whether they receive all or only a part of their income in the form of CC, they can choose to use some of it to purchase tax-free local labor or other inputs, and to request to have some of it converted by the authorities to regular currency (see next point). How is conversion of CC into regular currency organized? Entrepreneurs would be granted the right to convert some of their CC into regular currency at exchange rates set by the authorities.The exchange rate between the two currencies can be calibrated so as to compensate the authorities for loss of tax revenue and to balance the in- and outflows of CC to the state. The rate would thus amount to a tool for determining the extent to which the CC is recirculated in the local economy, or returned to the state. This is important in order to avoid inflation in the CC sector. Would there be interest on sums of CC owned or loaned? There would be no interest accruing on a sum of CC, whether a surplus accumulating in an account or a loan extended. How would saving and loaning of CC be organized? The formal granting of credit in CC would be managed by state authorities and follow the principle of full reserve banking, so that quantities of CC loaned would never exceed the quantities saved by the population as a whole. Would the circulation of CC be subjected to taxation? No. Why would authorities want to encourage tax-free local economies? Given the beneficial social and ecological consequences of this reform, it is assumed that nation states will represent the general interests of their electorates and thus promote it. Particularly in a situation with rising fiscal deficits, unemployment, health care, and social security expenditures, the proposed reform would alleviate financial pressure on governments. It would also reduce the rising costs of transport infrastructure, environmental protection, carbon offsetting, and climate change adaptation. In short, the rising costs and diminishing returns on current strategies for economic growth can be expected to encourage politicians to consider proposals such as this, as a means of avoiding escalating debt or even bankruptcy. How would the state's expenditures in CC be financed? As suggested above, much of these expenditures would be balanced by the reduced costs for social security, health care, transport infrastructure, environmental protection, carbon offsetting, and climate change adaptation. As these savings may take time to materialize, however, states can choose to make a proportion of their social security payments (pensions, unemployment insurance, family allowance, etc.) in the form of CC. As between a third and half of some nations' annual budgets are committed to social security, this represents a significant option for financing the reform, requiring no corresponding tax levies. What are the differences between this CC and the many experiments with local currencies? This proposal should not be confused with the notion, or with the practical operation, of local currencies, as it does not imply different currencies in different locales but one national,complementary currency for local use. Nor is it locally initiated and promoted in opposition to theregular currency, but centrally endorsed and administrated as an accepted complement to it. Most importantly, the alternative currency can only be used to purchase products and services originating from within a given geographical range, a restriction which is not implemented in experiments with Local Exchange Trading Systems (LETS). Finally, the CC is provided as a basic income to all residents of a nation, rather than only earned in proportion to the extent to which a person has made him- or herself useful in the local economy. What would the ecological benefits be? The reform would radically reduce the demand for long-distance transport, the production of greenhouse gas emissions, consumption of energy and materials, and losses of foodstuffs through overproduction, storage, and transport. It would increase recycling of nutrients and packaging materials, which means decreasing leakage of nutrients and less garbage. It would reduce agricultural intensification, increase biodiversity, and decrease ecological degradation and vulnerability. What would the societal benefits be? The reform would increase local cooperation, decrease social marginalization and addiction problems, provide more physical exercise, improve psycho-social and physical health, and increase food security and general community resilience. It would decrease the number of traffic accidents, provide fresher and healthier food with less preservatives, and improved contact between producers and consumers. What would the long-term consequences be for the economy? The reform would no doubt generate radical transformations of the economy, as is precisely the intention. There would be a significant shift of dominance from transnational corporations founded on financial speculation and trade in industrially produced foodstuffs, fuels, and other internationally transported goods to locally diverse producers and services geared to sustainable livelihoods. This would be a democratic consequence of consumer power, rather than of legislation. Through a relatively simple transformation of the conditions for market rationality, governments can encourage new and more sustainable patterns of consumer behavior. In contrast to much of the drastic and often traumatic economic change of the past two centuries, these changes would be democratic and sustainable and would improve local and national resilience. Why should society want to encourage people to refrain from formal employment? It is increasingly recognized that full or high employment cannot be a goal in itself, particularly if it implies escalating environmental degradation and energy and material throughput. Well-founded calls are thus currently made for degrowth, i.e. a reduction in the rate of production of goods and services that are conventionally quantified by economists as constitutive of GDP. Whether formal unemployment is the result of financial decline, technological development, or intentional policy for sustainability, no modern nation can be expected to leave its citizens economically unsupported. To subsist on basic income is undoubtedly more edifying than receiving unemployment insurance; the CC system encourages useful community cooperation and creative activities rather than destructive behavior that may damage a person's health. Why should people receive an income without working? As observed above, modern nations will provide for their citizens whether they are formally employed or not. The incentive to find employment should ideally not be propelled only by economic imperatives, but more by the desire to maintain a given identity and to contribute creatively to society. Personal liberty would be enhanced by a reform which makes it possible for people to choose to spend (some of) their time on creative activities that are not remunerated on the formal market, and to accept the tradeoff implied by a somewhat lower economic standard. People can also be expected to devote a greater proportion of their time to community cooperation, earning additional CC, which means that they will contribute more to society – and experience less marginalization – than the currently unemployed. Would savings in CC be inheritable? No. How would transport distances of products and services be controlled? It is reasonable to expect the authorities to establish a special agency for monitoring and controlling transport distances. It seems unlikely that entrepreneurs would attempt to cheat the system by presenting distantly produced goods as locally produced, as we can expect income in regular currency generally to be preferable to income in CC. Such attempts would also entail transport costs which should make the cargo less competitive in relation to genuinely local produce, suggesting that the logic of local market mechanisms would by and large obviate the problem. How would differences in local conditions (such as climate, soils, and urbanism) be dealt with?It is unavoidable that there would be significant variation between different locales in terms of the conditions for producing different kinds of goods. This means that relative local prices in CC for agiven product can be expected to vary from place to place. This may in turn mean that consumption patterns will vary somewhat between locales, which is predictable and not necessarily a problem. Generally speaking, a localization of resource flows can be expected to result in a more diverse pattern of calibration to local resource endowments, as in premodern contexts. The proposed system allows for considerable flexibility in terms of the geographical definition of what is categorized as local, depending on such conditions. In a fertile agricultural region, the radius for local produce may be defined, for instance, as 20 km, whereas in a less fertile or urban area, it may be 50 km. People living in urban centers are faced with a particular challenge. The reform would encourage an increased production of foodstuffs within and in the vicinity of urban areas, which in the long run may also affect urban planning. People might also choose to move to the countryside, where the range of subsistence goods that can be purchased with CC will tend to be greater. In the long run, the reform can be expected to encourage a better fit between the distribution of resources (such as agricultural land) and demography. This is fully in line with the intention of reducing long-distance transports of necessities. What would the consequences be if people converted resources from one currency sphere into products or services sold in another? It seems unfeasible to monitor and regulate the use of distant imports (such as machinery and fuels) in producing produce for local markets, but as production for local markets is remunerated in CC, this should constitute a disincentive to invest regular money in such production processes. Production for local consumption can thus be expected to rely mostly – and increasingly – on local labor and other resource inputs.
Dragonchain Great Reddit Scaling Bake-Off Public Proposal
Dragonchain Public Proposal TL;DR:
Dragonchain has demonstrated twice Reddit’s entire total daily volume (votes, comments, and postsper Reddit 2019 Year in Review) in a 24-hour demo on an operational network. Every single transaction on Dragonchain is decentralized immediately through 5 levels of Dragon Net, and then secured with combined proof on Bitcoin, Ethereum, Ethereum Classic, and Binance Chain, via Interchain. At the time, in January 2020, the entire cost of the demo was approximately $25K on a single system (transaction fees locked at $0.0001/txn). With current fees (lowest fee $0.0000025/txn), this would cost as little as $625. Watch Joe walk through the entire proposal and answer questions onYouTube. This proposal is also available on the Dragonchain blog.
Hello Reddit and Ethereum community!
I’m Joe Roets, Founder & CEO of Dragonchain. When the team and I first heard about The Great Reddit Scaling Bake-Off we were intrigued. We believe we have the solutions Reddit seeks for its community points system and we have them at scale. For your consideration, we have submitted our proposal below. The team at Dragonchain and I welcome and look forward to your technical questions, philosophical feedback, and fair criticism, to build a scaling solution for Reddit that will empower its users. Because our architecture is unlike other blockchain platforms out there today, we expect to receive many questions while people try to grasp our project. I will answer all questions here in this thread on Reddit, and I've answered some questions in the stream on YouTube. We have seen good discussions so far in the competition. We hope that Reddit’s scaling solution will emerge from The Great Reddit Scaling Bake-Off and that Reddit will have great success with the implementation.
Dragonchain is a robust open source hybrid blockchain platform that has proven to withstand the passing of time since our inception in 2014. We have continued to evolve to harness the scalability of private nodes, yet take full advantage of the security of public decentralized networks, like Ethereum. We have a live, operational, and fully functional Interchain network integrating Bitcoin, Ethereum, Ethereum Classic, and ~700 independent Dragonchain nodes. Every transaction is secured to Ethereum, Bitcoin, and Ethereum Classic. Transactions are immediately usable on chain, and the first decentralization is seen within 20 seconds on Dragon Net. Security increases further to public networks ETH, BTC, and ETC within 10 minutes to 2 hours. Smart contracts can be written in any executable language, offering full freedom to existing developers. We invite any developer to watch the demo, play with our SDK’s, review open source code, and to help us move forward. Dragonchain specializes in scalable loyalty & rewards solutions and has built a decentralized social network on chain, with very affordable transaction costs. This experience can be combined with the insights Reddit and the Ethereum community have gained in the past couple of months to roll out the solution at a rapid pace.
Response and PoC
In The Great Reddit Scaling Bake-Off post, Reddit has asked for a series of demonstrations, requirements, and other considerations. In this section, we will attempt to answer all of these requests.
A live proof of concept showing hundreds of thousands of transactions
On Jan 7, 2020, Dragonchain hosted a 24-hour live demonstration during which a quarter of a billion (250 million+) transactions executed fully on an operational network. Every single transaction on Dragonchain is decentralized immediately through 5 levels of Dragon Net, and then secured with combined proof on Bitcoin, Ethereum, Ethereum Classic, and Binance Chain, via Interchain. This means that every single transaction is secured by, and traceable to these networks. An attack on this system would require a simultaneous attack on all of the Interchained networks. 24 hours in 4 minutes (YouTube): 24 hours in 4 minutes The demonstration was of a single business system, and any user is able to scale this further, by running multiple systems simultaneously. Our goals for the event were to demonstrate a consistent capacity greater than that of Visa over an extended time period. Tooling to reproduce our demo is available here: https://github.com/dragonchain/spirit-bomb
Source code (for on & off-chain components as well tooling used for the PoC). The source code does not have to be shared publicly, but if Reddit decides to use a particular solution it will need to be shared with Reddit at some point.
Dragonchain’s architecture attacks the scalability issue from multiple angles. Dragonchain is a hybrid blockchain platform, wherein every transaction is protected on a business node to the requirements of that business or purpose. A business node may be held completely private or may be exposed or replicated to any level of exposure desired. Every node has its own blockchain and is independently scalable. Dragonchain established Context Based Verification as its consensus model. Every transaction is immediately usable on a trust basis, and in time is provable to an increasing level of decentralized consensus. A transaction will have a level of decentralization to independently owned and deployed Dragonchain nodes (~700 nodes) within seconds, and full decentralization to BTC and ETH within minutes or hours. Level 5 nodes (Interchain nodes) function to secure all transactions to public or otherwise external chains such as Bitcoin and Ethereum. These nodes scale the system by aggregating multiple blocks into a single Interchain transaction on a cadence. This timing is configurable based upon average fees for each respective chain. For detailed information about Dragonchain’s architecture, and Context Based Verification, please refer to the Dragonchain Architecture Document.
An interesting feature of Dragonchain’s network consensus is its economics and scarcity model. Since Dragon Net nodes (L2-L4) are independent staking nodes, deployment to cloud platforms would allow any of these nodes to scale to take on a large percentage of the verification work. This is great for scalability, but not good for the economy, because there is no scarcity, and pricing would develop a downward spiral and result in fewer verification nodes. For this reason, Dragonchain uses TIME as scarcity. TIME is calculated as the number of Dragons held, multiplied by the number of days held. TIME influences the user’s access to features within the Dragonchain ecosystem. It takes into account both the Dragon balance and length of time each Dragon is held. TIME is staked by users against every verification node and dictates how much of the transaction fees are awarded to each participating node for every block. TIME also dictates the transaction fee itself for the business node. TIME is staked against a business node to set a deterministic transaction fee level (see transaction fee table below in Cost section). This is very interesting in a discussion about scaling because it guarantees independence for business implementation. No matter how much traffic appears on the entire network, a business is guaranteed to not see an increased transaction fee rate.
Dragonchain uses Docker and Kubernetes to allow the use of best practices traditional system scaling. Dragonchain offers managed nodes with an easy to use web based console interface. The user may also deploy a Dragonchain node within their own datacenter or favorite cloud platform. Users have deployed Dragonchain nodes on-prem on Amazon AWS, Google Cloud, MS Azure, and other hosting platforms around the world. Any executable code, anything you can write, can be written into a smart contract. This flexibility is what allows us to say that developers with no blockchain experience can use any code language to access the benefits of blockchain. Customers have used NodeJS, Python, Java, and even BASH shell script to write smart contracts on Dragonchain. With Docker containers, we achieve better separation of concerns, faster deployment, higher reliability, and lower response times. We chose Kubernetes for its self-healing features, ability to run multiple services on one server, and its large and thriving development community. It is resilient, scalable, and automated. OpenFaaS allows us to package smart contracts as Docker images for easy deployment. Contract deployment time is now bounded only by the size of the Docker image being deployed but remains fast even for reasonably large images. We also take advantage of Docker’s flexibility and its ability to support any language that can run on x86 architecture. Any image, public or private, can be run as a smart contract using Dragonchain.
Flexibility in Scaling
Dragonchain’s architecture considers interoperability and integration as key features. From inception, we had a goal to increase adoption via integration with real business use cases and traditional systems. We envision the ability for Reddit, in the future, to be able to integrate alternate content storage platforms or other financial services along with the token.
LBRY - To allow users to deploy content natively to LBRY
MakerDAO to allow users to lend small amounts backed by their Reddit community points.
STORJ/SIA to allow decentralized on chain storage of portions of content. These integrations or any other are relatively easy to integrate on Dragonchain with an Interchain implementation.
Cost estimates (on-chain and off-chain) For the purpose of this proposal, we assume that all transactions are on chain (posts, replies, and votes).
On the Dragonchain network, transaction costs are deterministic/predictable. By staking TIME on the business node (as described above) Reddit can reduce transaction costs to as low as $0.0000025 per transaction. Dragonchain Fees Table
How to run it
Building on Dragonchain is simple and requires no blockchain experience. Spin up a business node (L1) in our managed environment (AWS), run it in your own cloud environment, or on-prem in your own datacenter. Clear documentation will walk you through the steps of spinning up your first Dragonchain Level 1 Business node. Getting started is easy...
Download Dragonchain’s dctl
Input three commands into a terminal
Build an image
More information can be found in our Get started documents.
Dragonchain is an open source hybrid platform. Through Dragon Net, each chain combines the power of a public blockchain (like Ethereum) with the privacy of a private blockchain. Dragonchain organizes its network into five separate levels. A Level 1, or business node, is a totally private blockchain only accessible through the use of public/private keypairs. All business logic, including smart contracts, can be executed on this node directly and added to the chain. After creating a block, the Level 1 business node broadcasts a version stripped of sensitive private data to Dragon Net. Three Level 2 Validating nodes validate the transaction based on guidelines determined from the business. A Level 3 Diversity node checks that the level 2 nodes are from a diverse array of locations. A Level 4 Notary node, hosted by a KYC partner, then signs the validation record received from the Level 3 node. The transaction hash is ledgered to the Level 5 public chain to take advantage of the hash power of massive public networks. Dragon Net can be thought of as a “blockchain of blockchains”, where every level is a complete private blockchain. Because an L1 can send to multiple nodes on a single level, proof of existence is distributed among many places in the network. Eventually, proof of existence reaches level 5 and is published on a public network.
Dragonchain is open source and even though the platform is easy enough for developers to code in any language they are comfortable with, we do not have so large a developer community as Ethereum. We would like to see the Ethereum developer community (and any other communities) become familiar with our SDK’s, our solutions, and our platform, to unlock the full potential of our Ethereum Interchain. Long ago we decided to prioritize both Bitcoin and Ethereum Interchains. We envision an ecosystem that encompasses different projects to give developers the ability to take full advantage of all the opportunities blockchain offers to create decentralized solutions not only for Reddit but for all of our current platforms and systems. We believe that together we will take the adoption of blockchain further. We currently have additional Interchain with Ethereum Classic. We look forward to Interchain with other blockchains in the future. We invite all blockchains projects who believe in decentralization and security to Interchain with Dragonchain.
While we only have 700 nodes compared to 8,000 Ethereum and 10,000 Bitcoin nodes. We harness those 18,000 nodes to scale to extremely high levels of security. See Dragonchain metrics.
Some may consider the centralization of Dragonchain’s business nodes as an issue at first glance, however, the model is by design to protect business data. We do not consider this a drawback as these nodes can make any, none, or all data public. Depending upon the implementation, every subreddit could have control of its own business node, for potential business and enterprise offerings, bringing new alternative revenue streams to Reddit.
Costs and resources
Summary of cost & resource information for both on-chain & off-chain components used in the PoC, as well as cost & resource estimates for further scaling. If your PoC is not on mainnet, make note of any mainnet caveats (such as congestion issues).
Every transaction on the PoC system had a transaction fee of $0.0001 (one-hundredth of a cent USD). At 256MM transactions, the demo cost $25,600. With current operational fees, the same demonstration would cost $640 USD. For the demonstration, to achieve throughput to mimic a worldwide payments network, we modeled several clients in AWS and 4-5 business nodes to handle the traffic. The business nodes were tuned to handle higher throughput by adjusting memory and machine footprint on AWS. This flexibility is valuable to implementing a system such as envisioned by Reddit. Given that Reddit’s daily traffic (posts, replies, and votes) is less than half that of our demo, we would expect that the entire Reddit system could be handled on 2-5 business nodes using right-sized containers on AWS or similar environments. Verification was accomplished on the operational Dragon Net network with over 700 independently owned verification nodes running around the world at no cost to the business other than paid transaction fees.
This PoC should scale to the numbers below with minimal costs (both on & off-chain). There should also be a clear path to supporting hundreds of millions of users. Over a 5 day period, your scaling PoC should be able to handle: *100,000 point claims (minting & distributing points) *25,000 subscriptions *75,000 one-off points burning *100,000 transfers
During Dragonchain’s 24 hour demo, the above required numbers were reached within the first few minutes. Reddit’s total activity is 9000% more than Ethereum’s total transaction level. Even if you do not include votes, it is still 700% more than Ethereum’s current volume. Dragonchain has demonstrated that it can handle 250 million transactions a day, and it’s architecture allows for multiple systems to work at that level simultaneously. In our PoC, we demonstrate double the full capacity of Reddit, and every transaction was proven all the way to Bitcoin and Ethereum. Reddit Scaling on Ethereum
Solutions should not depend on any single third-party provider. We prefer solutions that do not depend on specific entities such as Reddit or another provider, and solutions with no single point of control or failure in off-chain components but recognize there are numerous trade-offs to consider
Dragonchain’s architecture calls for a hybrid approach. Private business nodes hold the sensitive data while the validation and verification of transactions for the business are decentralized within seconds and secured to public blockchains within 10 minutes to 2 hours. Nodes could potentially be controlled by owners of individual subreddits for more organic decentralization.
Billing is currently centralized - there is a path to federation and decentralization of a scaled billing solution.
Operational on-premises capabilities
Operational deployment to any datacenter
Over 700 independent Community Verification Nodes with proof of ownership
Operational Interchain (Interoperable to Bitcoin, Ethereum, and Ethereum Classic, open to more)
Usability Scaling solutions should have a simple end user experience.
Users shouldn't have to maintain any extra state/proofs, regularly monitor activity, keep track of extra keys, or sign anything other than their normal transactions
Dragonchain and its customers have demonstrated extraordinary usability as a feature in many applications, where users do not need to know that the system is backed by a live blockchain. Lyceum is one of these examples, where the progress of academy courses is being tracked, and successful completion of courses is rewarded with certificates on chain. Our @Save_The_Tweet bot is popular on Twitter. When used with one of the following hashtags - #please, #blockchain, #ThankYou, or #eternalize the tweet is saved through Eternal to multiple blockchains. A proof report is available for future reference. Other examples in use are DEN, our decentralized social media platform, and our console, where users can track their node rewards, view their TIME, and operate a business node. Examples:
Transactions complete in a reasonable amount of time (seconds or minutes, not hours or days)
All transactions are immediately usable on chain by the system. A transaction begins the path to decentralization at the conclusion of a 5-second block when it gets distributed across 5 separate community run nodes. Full decentralization occurs within 10 minutes to 2 hours depending on which interchain (Bitcoin, Ethereum, or Ethereum Classic) the transaction hits first. Within approximately 2 hours, the combined hash power of all interchained blockchains secures the transaction.
Free to use for end users (no gas fees, or fixed/minimal fees that Reddit can pay on their behalf)
With transaction pricing as low as $0.0000025 per transaction, it may be considered reasonable for Reddit to cover transaction fees for users. All of Reddit's Transactions on Blockchain (month) Community points can be earned by users and distributed directly to their Reddit account in batch (as per Reddit minting plan), and allow users to withdraw rewards to their Ethereum wallet whenever they wish. Withdrawal fees can be paid by either user or Reddit. This model has been operating inside the Dragonchain system since 2018, and many security and financial compliance features can be optionally added. We feel that this capability greatly enhances user experience because it is seamless to a regular user without cryptocurrency experience, yet flexible to a tech savvy user. With regard to currency or token transactions, these would occur on the Reddit network, verified to BTC and ETH. These transactions would incur the $0.0000025 transaction fee. To estimate this fee we use the monthly active Reddit users statista with a 60% adoption rate and an estimated 10 transactions per month average resulting in an approximate $720 cost across the system. Reddit could feasibly incur all associated internal network charges (mining/minting, transfer, burn) as these are very low and controllable fees. Reddit Internal Token Transaction Fees Reddit Ethereum Token Transaction Fees When we consider further the Ethereum fees that might be incurred, we have a few choices for a solution.
Offload all Ethereum transaction fees (user withdrawals) to interested users as they wish to withdraw tokens for external use or sale.
Cover Ethereum transaction fees by aggregating them on a timed schedule. Users would request withdrawal (from Reddit or individual subreddits), and they would be transacted on the Ethereum network every hour (or some other schedule).
In a combination of the above, customers could cover aggregated fees.
Integrate with alternate Ethereum roll up solutions or other proposals to aggregate minting and distribution transactions onto Ethereum.
Users should be able to view their balances & transactions via a blockchain explorer-style interface
From interfaces for users who have no knowledge of blockchain technology to users who are well versed in blockchain terms such as those present in a typical block explorer, a system powered by Dragonchain has flexibility on how to provide balances and transaction data to users. Transactions can be made viewable in an Eternal Proof Report, which displays raw data along with TIME staking information and traceability all the way to Bitcoin, Ethereum, and every other Interchained network. The report shows fields such as transaction ID, timestamp, block ID, multiple verifications, and Interchain proof. See example here. Node payouts within the Dragonchain console are listed in chronological order and can be further seen in either Dragons or USD. See example here. In our social media platform, Dragon Den, users can see, in real-time, their NRG and MTR balances. See example here. A new influencer app powered by Dragonchain, Raiinmaker, breaks down data into a user friendly interface that shows coin portfolio, redeemed rewards, and social scores per campaign. See example here.
Exiting is fast & simple
Withdrawing funds on Dragonchain’s console requires three clicks, however, withdrawal scenarios with more enhanced security features per Reddit’s discretion are obtainable.
Interoperability Compatibility with third party apps (wallets/contracts/etc) is necessary.
Proven interoperability at scale that surpasses the required specifications. Our entire platform consists of interoperable blockchains connected to each other and traditional systems. APIs are well documented. Third party permissions are possible with a simple smart contract without the end user being aware. No need to learn any specialized proprietary language. Any code base (not subsets) is usable within a Docker container. Interoperable with any blockchain or traditional APIs. We’ve witnessed relatively complex systems built by engineers with no blockchain or cryptocurrency experience. We’ve also demonstrated the creation of smart contracts within minutes built with BASH shell and Node.js. Please see our source code and API documentation.
Scaling solutions should be extensible and allow third parties to build on top of it Open source and extensible APIs should be well documented and stable
Third-party permissionless integrations should be possible & straightforward Smart contracts are Docker based, can be written in any language, use full language (not subsets), and can therefore be integrated with any system including traditional system APIs. Simple is better. Learning an uncommon or proprietary language should not be necessary.
Advanced knowledge of mathematics, cryptography, or L2 scaling should not be required. Compatibility with common utilities & toolchains is expected. Dragonchain business nodes and smart contracts leverage Docker to allow the use of literally any language or executable code. No proprietary language is necessary. We’ve witnessed relatively complex systems built by engineers with no blockchain or cryptocurrency experience. We’ve also demonstrated the creation of smart contracts within minutes built with BASH shell and Node.js.
Bonus Points: Show us how it works. Do you have an idea for a cool new use case for Community Points? Build it!
Community points could be awarded to Reddit users based upon TIME too, whereas the longer someone is part of a subreddit, the more community points someone naturally gained, even if not actively commenting or sharing new posts. A daily login could be required for these community points to be credited. This grants awards to readers too and incentivizes readers to create an account on Reddit if they browse the website often. This concept could also be leveraged to provide some level of reputation based upon duration and consistency of contribution to a community subreddit.
Dragonchain has already built a social media platform that harnesses community involvement. Dragon Den is a decentralized community built on the Dragonchain blockchain platform. Dragon Den is Dragonchain’s answer to fake news, trolling, and censorship. It incentivizes the creation and evaluation of quality content within communities. It could be described as being a shareholder of a subreddit or Reddit in its entirety. The more your subreddit is thriving, the more rewarding it will be. Den is currently in a public beta and in active development, though the real token economy is not live yet. There are different tokens for various purposes. Two tokens are Lair Ownership Rights (LOR) and Lair Ownership Tokens (LOT). LOT is a non-fungible token for ownership of a specific Lair. LOT will only be created and converted from LOR. Energy (NRG) and Matter (MTR) work jointly. Your MTR determines how much NRG you receive in a 24-hour period. Providing quality content, or evaluating content will earn MTR.
Security. Users have full ownership & control of their points.
All community points awarded based upon any type of activity or gift, are secured and provable to all Interchain networks (currently BTC, ETH, ETC). Users are free to spend and withdraw their points as they please, depending on the features Reddit wants to bring into production.
Balances and transactions cannot be forged, manipulated, or blocked by Reddit or anyone else
Users can withdraw their balance to their ERC20 wallet, directly through Reddit. Reddit can cover the fees on their behalf, or the user covers this with a portion of their balance.
Users should own their points and be able to get on-chain ERC20 tokens without permission from anyone else
Through our console users can withdraw their ERC20 rewards. This can be achieved on Reddit too. Here is a walkthrough of our console, though this does not show the quick withdrawal functionality, a user can withdraw at any time. https://www.youtube.com/watch?v=aNlTMxnfVHw
Points should be recoverable to on-chain ERC20 tokens even if all third-parties involved go offline
If necessary, signed transactions from the Reddit system (e.g. Reddit + Subreddit) can be sent to the Ethereum smart contract for minting.
A public, third-party review attesting to the soundness of the design should be available
To our knowledge, at least two large corporations, including a top 3 accounting firm, have conducted positive reviews. These reviews have never been made public, as Dragonchain did not pay or contract for these studies to be released.
Bonus points Public, third-party implementation review available or in progress
Compatibility with HSMs & hardware wallets
For the purpose of this proposal, all tokenization would be on the Ethereum network using standard token contracts and as such, would be able to leverage all hardware wallet and Ethereum ecosystem services.
Minting/distributing tokens is not performed by Reddit directly
This operation can be automated by smart contract on Ethereum. Subreddits can if desired have a role to play.
One off point burning, as well as recurring, non-interactive point burning (for subreddit memberships) should be possible and scalable
This is possible and scalable with interaction between Dragonchain Reddit system and Ethereum token contract(s).
Fully open-source solutions are strongly preferred
Dragonchain is fully open source (see section on Disney release after conclusion).
Whether it is today, or in the future, we would like to work together to bring secure flexibility to the highest standards. It is our hope to be considered by Ethereum, Reddit, and other integrative solutions so we may further discuss the possibilities of implementation. In our public demonstration, 256 million transactions were handled in our operational network on chain in 24 hours, for the low cost of $25K, which if run today would cost $625. Dragonchain’s interoperable foundation provides the atmosphere necessary to implement a frictionless community points system. Thank you for your consideration of our proposal. We look forward to working with the community to make something great!
Disney Releases Blockchain Platform as Open Source
The team at Disney created the Disney Private Blockchain Platform. The system was a hybrid interoperable blockchain platform for ledgering and smart contract development geared toward solving problems with blockchain adoption and usability. All objective evaluation would consider the team’s output a success. We released a list of use cases that we explored in some capacity at Disney, and our input on blockchain standardization as part of our participation in the W3C Blockchain Community Group. https://lists.w3.org/Archives/Public/public-blockchain/2016May/0052.html
In 2016, Roets proposed to release the platform as open source to spread the technology outside of Disney, as others within the W3C group were interested in the solutions that had been created inside of Disney. Following a long process, step by step, the team met requirements for release. Among the requirements, the team had to:
Obtain VP support and approval for the release
Verify ownership of the software to be released
Verify that no proprietary content would be released
Convince the organization that there was a value to the open source community
Convince the organization that there was a value to Disney
Offer the plan for ongoing maintenance of the project outside of Disney
Itemize competing projects
Verify no conflict of interest
Change the project name to not use the name Disney, any Disney character, or any other associated IP - proposed Dragonchain - approved
Obtain legal approval
Approval from corporate, parks, and other business units
Approval from multiple Disney patent groups Copyright holder defined by Disney (Disney Connected and Advanced Technologies)
Trademark searches conducted for the selected name Dragonchain
Obtain IT security approval
Manual review of OSS components conducted
OWASP Dependency and Vulnerability Check Conducted
Obtain technical (software) approval
Offer management, process, and financial plans for the maintenance of the project.
Meet list of items to be addressed before release
Remove all Disney project references and scripts
Create a public distribution list for email communications
Remove Roets’ direct and internal contact information
Create public Slack channel and move from Disney slack channels
Create proper labels for issue tracking
Rename internal private Github repository
Add informative description to Github page
Expand README.md with more specific information
Add information beyond current “Blockchains are Magic”
Add getting started sections and info on cloning/forking the project
Add installation details
Add uninstall process
Add unit, functional, and integration test information
Detail how to contribute and get involved
Describe the git workflow that the project will use
Move to public, non-Disney git repository (Github or Bitbucket)
Obtain Disney Open Source Committee approval for release
On top of meeting the above criteria, as part of the process, the maintainer of the project had to receive the codebase on their own personal email and create accounts for maintenance (e.g. Github) with non-Disney accounts. Given the fact that the project spanned multiple business units, Roets was individually responsible for its ongoing maintenance. Because of this, he proposed in the open source application to create a non-profit organization to hold the IP and maintain the project. This was approved by Disney. The Disney Open Source Committee approved the application known as OSSRELEASE-10, and the code was released on October 2, 2016. Disney decided to not issue a press release. Original OSSRELASE-10 document
Someone posted on here a few days ago asking about forex and forex trading in Kenya, I have gone through the responses and clearly, most people don’t have an idea. It is 3am in the morning and am in a good mood so let me make this post. This will be a comprehensive and lengthy post so grab a pen and paper and sit down. We’ll be here a while. FIRST OF ALL, who am I..? I am a forex trader, in Nairobi, Kenya..i have been actively involved in forex since I found out about it in Feb 2016 when I somehow ended up in a wealth creation seminar (lol) in pride inn Westlands, the one close to Mpaka Rd. Luckily for me, it was not one of those AIM global meetings or I’d be on Facebook selling God knows what those guys sell. I did not take it seriously till August of the same year and I have been active ever since. I don’t teach, mentor or sell a course or signals, I trade my own money. I am also posting from a throwaway account because I don’t want KRA on my ass. What the fuck is forex and forex trading. In simple plain English, forex is like the stock market but for currencies. Stock Market = Shares, forex = currencies. If you want more in-depth explanation, google is your friend. These currencies are pegged on specific countries, united states- dollar, UK- pound, euro zone- euro, Switzerland- Swiss franc, Kenya- Kenya shilling.. you get the point. Now, there are specific events and happenings between these economies that affect the movement and values of the currencies, driving their value (purchasing power up and down). Forex trading exploits these movements to make money. When the value is going up, we buy and vice versa (down –sell) Is forex trading illegal in Kenya? Is it a scam? Illegal, no. scam, no. All the banks in the world do it (KCB made about 4 billion from trading forex in 2019) Have there been scams involving forex in Kenya? Yes. Here is one that happened recently. This one is the most infamous one yet. Best believe that this is not the end of these type of scams because the stupidity, greed and gullibility of human beings is unfathomable. However, by the end of this post, I hope you won’t fall for such silliness. What next how do I make it work..? Am glad you asked. Generally, there are two ways to go about it. One, you teach yourself. This is the equivalent of stealing our dad’s car and hoping that the pedal you hit is the brake and not the accelerator. It is the route I took, it is the most rewarding and a huge ego boost when you finally make it on your own. Typically, this involves scouring the internet for hours upon hours going down rabbit holes, thinking you have made it telling all your friends how you will be a millionaire then losing all your money. Some people do not have the stomach for that. The second route is more practical, structured and smarter. First Learn the basics. There is a free online forex course at www.babypips.com/learn/forex this is merely an introductory course. Basically it is learning the parts of a car before they let you inside the car. Second, start building your strategy. By the time you are done with the babypips, you will have a feel of what the forex market is, what interests you, etc. Tip..Babypips has a lot of garbage. It is good for introductory purposes but not good for much else, pick whatever stick to you or jumps at you the first time. Nonsense like indicators should be ignored. The next step is now the most important. Developing the skill and building your strategy. As a beginner, you want to exhaust your naivety before jumping into the more advanced stuff. Eg can you identify a trend, what is a pair, what is position sizing, what is metatrader 4 and how to operate it, what news is good for a currency, when can I trade, what are the different trading sessions, what is technical analysis, what is market sentiment, what are bullish conditions what is emotion management, how does my psychology affect my trading (more on this later) an I a swing, scalper or day trader etc Mentors and forex courses.. you have probably seen people advertising how they can teach and mentor you on how to trade forex and charging so much money for it. Somehow it seems that these people are focused on the teaching than the trading. Weird, right..? Truth is trading is hard, teaching not quite. A common saying in the industry is “Those who can’t trade, teach” you want to avoid all these gurus on Facebook and Instagram, some are legit but most are not. Sifting the wheat from the chaff is hard but I did that for you. The info is available online on YouTube, telegram channels etc. am not saying not to spend money on a course, if you find a mentor whose style resonates with you and the course is reasonably priced, please, go ahead and buy..it will cut your learning curve in half. People are different. What worked for me might not work for you. Here are some nice YouTube channels to watch. These guys are legit..
After a short period of time, you will be able to sniff out bs teachers with relative ease. You will also discover some of your own and expand the list. Two tips, start with the oldest videos first and whichever of these resonates with you, stick with till the wheels fall off. How long will it take until things start making sense Give yourself time to grow and learn. This is all new to you and you are allowed to make mistakes, to fail and discover yourself. Realistically, depending on the effort you put in, you will not start seeing results until after 6 months. Could take longeshorter so there is no guarantee. Social media, Mentality, Psychology and Books Online, forex trading might not have the best reputation online because it takes hard work and scammers and gurus give it a bad name. However, try to not get sucked into the Instagram trader lifestyle as it is nowhere close to what the reality is. You will not make millions tomorrow or the day after, you might never even make it in this market. But that is the reality of life. Nothing is promised, nothing is guaranteed. Your mentality, beliefs and ego will be challenged in this market. You will learn things that will make you blood boil, you will ask yourself daily, how is this possible, why don’t they teach this in school..bla bla bla..it will be hard but growth is painful, if it wasn’t we’d all be billionaires. Take a break, take a walk, drink a glass of whatever you like or roll one..detox. Chill with your girl (or man) Gradually you will develop mental toughness that will set you up for life. Personally, I sorta ditched religion and picked up stoicism. Whatever works for you. Psychology, this is unfortunately one of the most neglected aspects of your personal development in this journey. Do you believe in yourself? Can you stand by your convictions when everyone is against you? Can you get up every day uncertain of the future? There will be moments where you will question yourself, am I even doing the right thing? the right way? It is normal and essential for your growth. People who played competitive sports have a natural advantage here. Remember the game is first won in your head then on the pitch. Books: ironically, books that helped me the most were the mindset books, Think and grow rich, trading for a living, 4 hour work week, the monk who sold his Ferrari..just google mindset and psychology books, most trading books are garbage. Watch and listen to people who have made it in the investing business. Ray Dalio, warren, Bill Ackman and Carl Icahn. This is turning out to be lengthier than I anticipated so I’ll try to be brief for the remaining parts. Brokers You will need to open up an account with a broker. Get a broker who is regulated. Australian ones (IC Market and Pepperstone) are both legit, reliable and regulated. Do your research. I’d avoid local ones because I’ve heard stories of wide spreads and liquidity problems. International brokers have never failed me. There are plenty brokers, there is no one size fits all recommendation. If it ain’t broke..don’t fix it. Money transfer. All brokers accept wire transfers, you might need to call your bank to authorize that, avoid Equity bank. Stanchart and Stanbic are alright. Large withdrawals $10k+ you will have to call them prior. Get Skrill and Neteller if you don’t like banks like me, set up a Bitcoin wallet for faster withdrawals, (Payoneer and Paypal are accepted by some brokers, just check with them.) How much money can I make..? I hate this question because people have perceived ceilings of income in their minds, eg 1 million ksh is too much to make per month or 10,000ksh is too little. Instead, work backwards. What % return did I make this month/ on this trade. Safaricom made 19.5% last year, if you make 20% you have outperformed them. If you reach of consistency where you can make x% per month on whatever money you have, then there are no limits to how much you can make. How much money do I need to start with..? Zero. You have all the resources above, go forth. There are brokers who provide free bonuses and withdraw-able profits. However, to make a fulltime income you will need some serious cash. Generally, 50,000 kes. You can start lower or higher but if you need say 20k to live comfortably and that is a 10% return per month, then you can do the math on how big your account should be. Of course things like compound interest come into play but that is dependent on your skill level. I have seen people do spectacular things with very little funds. Taxes..? Talk to a lawyer or an accountant. I am neither. Family? Friends? Unfortunately, people will not understand why you spend hundreds of hours watching strangers on the internet so it is best to keep it from them. Eventually you will make it work and they will come to your corner talking about how they always knew you’d make it. The journey will be lonely, make some trading buddies along the way. You’d be surprised at how easy it is when people are united by their circumstances (and stupidity) I have guys who are my bros from South Africa and Lebanon who I have never met but we came up together and are now homies. Join forums, ask questions and grow. That is the only way to learn. Ideally, a group of 5-10 friends committed to learning and growth is the best model. Pushing each other to grow and discovering together. Forex is real and you can do amazing things with it. It is not a get rich quick scheme. If you want a quick guaranteed income, get a job. And now it is 5am, fuck. This is oversimplified and leaves out many many aspects. Happy to answer any questions.
Hello from the UK. I will make this short and sweet,hopefully. So I want to know if anyone feels the same way. Cutting a long story short and this does make me cringe a little saying this I am a full time 'trader' of sorts. I am not a day trader I swing trade tech stocks and invest heavily in renewable energy, the implementation of 5G automation electric/self driveing cars, bio tech. That's my thing. I would like to say my portfolio was built on blood sweat and tiers but I would be lieing, I rid the bitcoin bull from 2014 in a massive way. Then got lucky again investing in tech mainly Amazon and telsa the last week few months have been mega! So getting to my point now I am 25, i have a top end car range rover over finch, my apartment Is paid for I have around 11k a month coming in from swing trades and property rentals. But all I seem to find my self doing is drinking! I wake up walk to the local post office buy all the main papers, the times financial times and newyork post. I will scan though thease for at least 2 hours ( I think you can get ahead on swing trades on hand fulls of information in the columns) then I spend a an hour on reddit. Then by 2 o'clock I am usually in the pub watching price action on my phone checking my fill orders and sell orders. I feel like I just know the market and what's cheap and what's over bought 6 times out of 10 I tend to be right I play with tight stops and dont just hover over one stock all day! (Sorry about the poor spelling and grammar I am not really focusing to much busy checking stocks) so like I said I can be in the pub at 2 I will guzzle around 4 pint go home check reddit market news. Then I seem to sleep thats my life. Every one thinks I am a drug dealer even family I cannit bare to tell anyone one what I do for a living it makes me feel uncomfortable. Then you do tell people you always feel that somone has to one up with you or your talking to the future warren buffet that no idea how the world of investing, finance or even how the stock market works. I dont know what this post was ment to be maybe a rant, maybe just me talking to my self does any one els feel the same way.
Here is how to play the altcoin game - for newbies & champs
I have been here for many previous altcoin seasons (2013,2017 etc) and wanted to share knowedle. It's a LOOONG article. The evaluation of altcoins (i.e not Bitcoin) is one of the most difficult and profitable exercises. Here I will outline my methodology and thinking but we have to take some things as a given. The first is that the whole market is going up or down with forces that we can't predict or control. Bitcoin is correlated with economic environments, money supply increases, safe havens such as Gold, hype and country regulations. This is an impossible mix to analyze and almost everyone fails at it. That's why you see people valuing Bitcoin from $100 to $500k frequently. Although I am bullish on the prospects of Bitcoin and decentralization and smart contract platforms, this is not the game I will be describing. I am talking about a game where you try to maximize your BTC holdings by investing in altcoins. We win this game even if we are at a loss in fiat currency value. To put it another way:
If you are not bullish in general on cryptocurrencies you have no place in investing or trading cryptocurrencies since it's always a losing proposition to trade in bubbles, a scientifically proven fact. If on the other hand you are then your goal is to grow your portfolio more than you would if holding BTC/ETH for example.
Bitcoin is the big boy
How the market works is not easily identifiable if you haven't graduated from the 2017 crypto university. When there is a bull market everything seems amazingly profitable and things keep going up outgrowing Bitcoin by orders of magnitude and you are a genius. The problem with this is that it only works while Bitcoin is going up a little bit or trades sideways. When it decides to move big then altcoins lose value both on the way up and on the way down. The second part is obvious and proven since all altcoins from 2017 are at a fraction of their BTC value (usually in the range of 80% or more down). Also, when BTC is making a big move upwards everyone exits altcoins to ride the wave. It is possible that the altcoin market behaves as an inversed leveraged ETF with leakage where in a certain period while Bitcoin starts at 10k and ends at 10k for example, altcoins have lost a lot of value because of the above things happening.
We are doing it anyway champ!
OK so we understand the risks and just wanna gambol with our money right? I get it. Why do that? Because finding the ideal scenario and period can be extremely profitable. In 2017 several altcoins went up 40x more than BTC. But again, if you don't chose wisely many of them have gone back to zero (the author has first hand experience in this!), they have been delisted and nobody remembers them. The actual mentality to have is very important and resembles poker and other speculative games: A certain altcoin can go up in value indefinitely but can only lose it's starting investment. Think about it. You either lose 1 metric or gain many many more. Now that sounds amazing but firstly as we said we have the goal to outperform our benchmark (BTC) and secondly that going up in value a lot means that the probability is quite low. There is this notion of Expected Value (EV) that poker players apply in these kind of situations and it goes like that. If you think that a certain coin has a probability let's say 10% to go up 10X and 90% probability it goes to zero it's an even bet. If you think that probability is 11% then it's a good bet, a profitable bet and you should take it. You get the point right? It's not that it can only go 10X or 0X, there is a whole range of probability outcomes that are too mathematical to explain here and it doesn't help so much because nobody can do such analysis with altcoins. See below on how we can approximate it.
How to evaluate altcoins
A range of different things to take into account outlined below will form our decision making. Not a single one of them should dictate 100% of our strategy.
It's all about market cap. Repeat after me. The price of a coin doesn't mean anything. Say it 10 times until you believe it. I can't remember how many times I had conversations with people that were comparing coins using their coin price instead of their market cap. To make this easy to get.
If I decide because the sky is blue to make my coin supply 100 Trillion FoolCoins with a price of $0.001 and there is another WiseCoin with a supply of 100 Million and price of $1 then FoolCoins are more expensive. - Alex Fin's Cap Law
This is done usually in the stock world and it means that each company has some fundamental value that includes it's assets, customers, growth prospects, sector prospects and leadership competence but mostly centered in financial measures such as P/E ratios etc. Valuation is a proper economic discipline by itself taught in universities. OK, now throw everything out of the window!. This kind of analysis is impossible in vague concepts and innovations that are currently cryptocurrencies. Ethereum was frequently priced at the fictional price of gas when all financial systems on earth run on the platform after decades (a bit of exaggeration here). No project is currently profitable enough to justify a valuation multiple that is usually equal to P/E in the thousands or more. As such we need to take other things into account. What I do is included in the list below:
Check Github. You need to make sure there is active development for the platform and it's a very bad sign if the project is either keeping the code closed source or even worse there is simply no development. No projects are "complete".
Check Website. If the website is written in bad English the Chinese google translate type it means that they are not serious enough to produce an unbreakable decentralized project. If you can't write English you can't change the world, period. That's a deal breaker.
Check Team's Linkedin. Numerous projects have either fake Linkedin accounts or the team is comprised mainly by unexperienced employees that are even shown to be working in other companies currently.
Check backers. Projects that have Binance, Coinbase or Silicon Valley VC funds backing them are way more legit but way more overpriced too!
One of my favorite ways to value altcoins that is based on the same principle in the stock market is to look at peers and decide what is the maximum cap it can grow to. As an example you take a second layer Ethereum solution that has an ICO and you want to decide if you will enter or not. You can take a look at other coins that are in the same business and compare their market caps. Thinking that your coin will outperform by a lot the top coins currently is overly optimistic so I usually take a lower valuation as a target price. If the initial offering is directly implying a valuation that is more than that then there is no room to grow according to my analysis and I skip it. Many times this has proven me wrong because it's a game theory problem where if many people think irrationally in a market it becomes a self-fulfilling prophecy. But since there is opportunity cost involved, in the long run, getting in initial offerings that have a lot of room to grow will pay off as a strategy.
In 2017 the sexiest sector was platforms and then coins including privacy ones. Platforms are obviously still a highly rated sector because everything is being built on them, but privacy is not as hot as it used to be. In 2018 DEXes were all they hype but still people are massively using centralized exchanges. In 2020 Defi is the hottest sector and it includes platforms, oracles and Defi projects. What I am saying is that a project gets extra points if it's a Defi one in 2020 and minus points if it's a payment system that will conquer the world as it was in 2017 because that's old news. This is closely related to the next section.
Needless to say that the crypto market is a worse FOMO type of inexperienced trigger happy yolo investors , much worse than the Robinhood crowd that drove a bankrupt company's stock 1200% after they declared bankruptcy. The result is that there are numerous projects that are basically either vaporware or just so overhyped that their valuation has no connection to reality. Should we avoid those kind of projects? No and I will explain why. There are many very good technically projects that had zero hype potential due to incompetent marketing departments that made them tank. An example (without shilling because I sold out a while back) is Quantum Resistant Ledger. This project has amazing quantum resistant blockchain, the only one running now, has a platform that people can build tokens and messaging systems and other magnificent stuff. Just check how they fared up to now and you will get the point. A project *needs* to have a hype factor because you cannot judge it as normal stocks that you can do value investing like Warren Buffet does where a company will inevitable post sales and profitability numbers and investors will get dividends. Actually the last sentence is the most important: No dividends. Even projects that give you tokens or coins as dividends are not real dividends because if the coin tanks the value of the dividend tanks. This is NOT the case with company stocks where you get dollars even if the company stock tanks. All that being said, I would advice against betting on projects that have a lot of hype but little substance (but that should be obvious!).
How to construct your portfolio
My strategy and philosophy in investing is that risk should be proportional to investment capital. That means that if you are investing 100K in the crypto market your portfolio should be very different than someone investing 1K because 10% annual gains are nothing in the latter while they are very significant in the former. Starting from this principle each individual needs to construct a portfolio according to how much risk he wants to take. I will emphasize two important concepts that play well with what I said. In the first instance of a big portfolio you should concentrate on this mantra: "Diversification is the only free meal in finance". In the case of a small portfolio then this mantra is more important: "Concentrate to create wealth, diversify to maintain wealth". Usually in a big portfolio you would want to hold some big coins such as BTC and ETH to weather the ups and downs explained in previous paragraphs while generating profits and keep progressively smaller parts of your portfolio for riskier investments. Maybe 50% of this portfolio could be big caps and 10% very risky initial offerings. Adapting risk progressively to smaller portfolios makes sense but I think it would be irrational to keep more than 30% of a portfolio no matter what tied to one coin due to the very high risk of bankruptcy.
The altseason is supposedly coming every 3 months. Truth is that nobody can predict it but altcoins can be profitable no matter what. Forget about maximalists who are stuck in their dogmas. Altcoins deliver different value propositions and it makes sense because we are very far from a situation where some project offers everything like Amazon and we wouldn't even want that in the first place since we are talking about decentralization and not a winner takes all and becomes a monster kind of scenario! Some last minute advice:
Stay out of paid telegram/discord pump groups. They are deadly for your wallet.
Avoid jumping on overhyped coins that have pumped massively during the last days without any very important news.
Don't keep coins in obscure exchanges for too long or you will get burned with certainty.
Stop thinking that your coin will 1000x and overtake Bitcoin!
P.S If you find value in reading this and want more weekly consider subscribing to my newsletterhere
Interdax’s Summer-themed Trading Competition with $60,000 Prize Pool!
Interdax is hosting DaxSummer that starts on Monday August 31st at 12:00 UTC. https://app.interdax.com/app/battles/daxsummer. You can enter even after the trading battle has started. How does it work? Each participant starts with a minimum initial stack of 0.05 BTC and has one month to trade our bitcoin perpetual contract (BTC-PERP) to generate the highest return on investment. On September 23rd, the top 25 traders with the highest return on investment will win a share of the 5 BTC prize pool. The prize pool increases as more traders join the battle. For each additional 100 traders that join DaxSummer, the prize pool for the top 25 increases, up to a maximum of 10 BTC. You can see the full prize distribution here More information regarding how our trading competitions work - https://help.interdax.com/hc/en-001/articles/360002865358-What-are-Trading-Battles- Requirements? At least 0.05 BTC is required to take part. It's important to note that there is 0 entry fee and that 0.05 BTC is essentially your trading stack. Once the competition is over, your battle sub-account will be unlocked, transfers will be enabled and you will keep the whole balance as well as winning a potential prize if you end up in the top 25. Good luck from the Interdax team!
Hey All, A lot of the times us Bitcoin enthusiasts are always questioned about where does Bitcoin gain its value from and why it should be worth what is now or what we expect it to be i.e. around hundreds of thousands. I have tried to touch on this, relating it to our current financial system which is doomed to collapse. Some of the other things I have discussed: 1. How Bitcoin Works? 2. Why Bitcoin is one of the most undervalued asset of our time? 3. How to trade Bitcoin? 4. The Blockchain concept and Halving Concept I would appreciate if you guys could give it a read here in my Blog and give me your feedback. Please do share it forward if you think it is worth it. Would be a great help! 😊 Cheers, Fahim
Scaling Reddit Community Points with Arbitrum Rollup: a piece of cake
https://preview.redd.it/b80c05tnb9e51.jpg?width=2550&format=pjpg&auto=webp&s=850282c1a3962466ed44f73886dae1c8872d0f31 Submitted for consideration toThe Great Reddit Scaling Bake-Off Baked by the pastry chefs atOffchain Labs Please send questions or comments to [[email protected] ](mailto:[email protected]) 1. Overview We're excited to submit Arbitrum Rollup for consideration to The Great Reddit Scaling Bake-Off. Arbitrum Rollup is the only Ethereum scaling solution that supports arbitrary smart contracts without compromising on Ethereum's security or adding points of centralization. For Reddit, this means that Arbitrum can not only scale the minting and transfer of Community Points, but it can foster a creative ecosystem built around Reddit Community Points enabling points to be used in a wide variety of third party applications. That's right -- you can have your cake and eat it too! Arbitrum Rollup isn't just Ethereum-style. Its Layer 2 transactions are byte-for-byte identical to Ethereum, which means Ethereum users can continue to use their existing addresses and wallets, and Ethereum developers can continue to use their favorite toolchains and development environments out-of-the-box with Arbitrum. Coupling Arbitrum’s tooling-compatibility with its trustless asset interoperability, Reddit not only can scale but can onboard the entire Ethereum community at no cost by giving them the same experience they already know and love (well, certainly know). To benchmark how Arbitrum can scale Reddit Community Points, we launched the Reddit contracts on an Arbitrum Rollup chain. Since Arbitrum provides full Solidity support, we didn't have to rewrite the Reddit contracts or try to mimic their functionality using an unfamiliar paradigm. Nope, none of that. We launched the Reddit contracts unmodified on Arbitrum Rollup complete with support for minting and distributing points. Like every Arbitrum Rollup chain, the chain included a bridge interface in which users can transfer Community Points or any other asset between the L1 and L2 chains. Arbitrum Rollup chains also support dynamic contract loading, which would allow third-party developers to launch custom ecosystem apps that integrate with Community Points on the very same chain that runs the Reddit contracts. 1.1 Why Ethereum Perhaps the most exciting benefit of distributing Community Points using a blockchain is the ability to seamlessly port points to other applications and use them in a wide variety of contexts. Applications may include simple transfers such as a restaurant that allows Redditors to spend points on drinks. Or it may include complex smart contracts -- such as placing Community Points as a wager for a multiparty game or as collateral in a financial contract. The common denominator between all of the fun uses of Reddit points is that it needs a thriving ecosystem of both users and developers, and the Ethereum blockchain is perhaps the only smart contract platform with significant adoption today. While many Layer 1 blockchains boast lower cost or higher throughput than the Ethereum blockchain, more often than not, these attributes mask the reality of little usage, weaker security, or both. Perhaps another platform with significant usage will rise in the future. But today, Ethereum captures the mindshare of the blockchain community, and for Community Points to provide the most utility, the Ethereum blockchain is the natural choice. 1.2 Why Arbitrum While Ethereum's ecosystem is unmatched, the reality is that fees are high and capacity is too low to support the scale of Reddit Community Points. Enter Arbitrum. Arbitrum Rollup provides all of the ecosystem benefits of Ethereum, but with orders of magnitude more capacity and at a fraction of the cost of native Ethereum smart contracts. And most of all, we don't change the experience from users. They continue to use the same wallets, addresses, languages, and tools. Arbitrum Rollup is not the only solution that can scale payments, but it is the only developed solution that can scale both payments and arbitrary smart contracts trustlessly, which means that third party users can build highly scalable add-on apps that can be used without withdrawing money from the Rollup chain. If you believe that Reddit users will want to use their Community Points in smart contracts--and we believe they will--then it makes the most sense to choose a single scaling solution that can support the entire ecosystem, eliminating friction for users. We view being able to run smart contracts in the same scaling solution as fundamentally critical since if there's significant demand in running smart contracts from Reddit's ecosystem, this would be a load on Ethereum and would itself require a scaling solution. Moreover, having different scaling solutions for the minting/distribution/spending of points and for third party apps would be burdensome for users as they'd have to constantly shuffle their Points back and forth. 2. Arbitrum at a glance Arbitrum Rollup has a unique value proposition as it offers a combination of features that no other scaling solution achieves. Here we highlight its core attributes. Decentralized. Arbitrum Rollup is as decentralized as Ethereum. Unlike some other Layer 2 scaling projects, Arbitrum Rollup doesn't have any centralized components or centralized operators who can censor users or delay transactions. Even in non-custodial systems, centralized components provide a risk as the operators are generally incentivized to increase their profit by extracting rent from users often in ways that severely degrade user experience. Even if centralized operators are altruistic, centralized components are subject to hacking, coercion, and potential liability. Massive Scaling. Arbitrum achieves order of magnitude scaling over Ethereum's L1 smart contracts. Our software currently supports 453 transactions-per-second for basic transactions (at 1616 Ethereum gas per tx). We have a lot of room left to optimize (e.g. aggregating signatures), and over the next several months capacity will increase significantly. As described in detail below, Arbitrum can easily support and surpass Reddit's anticipated initial load, and its capacity will continue to improve as Reddit's capacity needs grow. Low cost. The cost of running Arbitrum Rollup is quite low compared to L1 Ethereum and other scaling solutions such as those based on zero-knowledge proofs. Layer 2 fees are low, fixed, and predictable and should not be overly burdensome for Reddit to cover. Nobody needs to use special equipment or high-end machines. Arbitrum requires validators, which is a permissionless role that can be run on any reasonable on-line machine. Although anybody can act as a validator, in order to protect against a “tragedy of the commons” and make sure reputable validators are participating, we support a notion of “invited validators” that are compensated for their costs. In general, users pay (low) fees to cover the invited validators’ costs, but we imagine that Reddit may cover this cost for its users. See more on the costs and validator options below. Ethereum Developer Experience. Not only does Arbitrum support EVM smart contracts, but the developer experience is identical to that of L1 Ethereum contracts and fully compatible with Ethereum tooling. Developers can port existing Solidity apps or write new ones using their favorite and familiar toolchains (e.g. Truffle, Buidler). There are no new languages or coding paradigms to learn. Ethereum wallet compatibility. Just as in Ethereum, Arbitrum users need only hold keys, but do not have to store any coin history or additional data to protect or access their funds. Since Arbitrum transactions are semantically identical to Ethereum L1 transactions, existing Ethereum users can use their existing Ethereum keys with their existing wallet software such as Metamask. Token interoperability. Users can easily transfer their ETH, ERC-20 and ERC-721 tokens between Ethereum and the Arbitrum Rollup chain. As we explain in detail below, it is possible to mint tokens in L2 that can subsequently be withdrawn and recognized by the L1 token contract. Fast finality. Transactions complete with the same finality time as Ethereum L1 (and it's possible to get faster finality guarantees by trading away trust assumptions; see the Arbitrum Rollup whitepaper for details). Non-custodial. Arbitrum Rollup is a non-custodial scaling solution, so users control their funds/points and neither Reddit nor anyone else can ever access or revoke points held by users. Censorship Resistant. Since it's completely decentralized, and the Arbitrum protocol guarantees progress trustlessly, Arbitrum Rollup is just as censorship-proof as Ethereum. Block explorer. The Arbitrum Rollup block explorer allows users to view and analyze transactions on the Rollup chain. Limitations Although this is a bake-off, we're not going to sugar coat anything. Arbitrum Rollup, like any Optimistic Rollup protocol, does have one limitation, and that's the delay on withdrawals. As for the concrete length of the delay, we've done a good deal of internal modeling and have blogged about this as well. Our current modeling suggests a 3-hour delay is sufficient (but as discussed in the linked post there is a tradeoff space between the length of the challenge period and the size of the validators’ deposit). Note that this doesn't mean that the chain is delayed for three hours. Arbitrum Rollup supports pipelining of execution, which means that validators can keep building new states even while previous ones are “in the pipeline” for confirmation. As the challenge delays expire for each update, a new state will be confirmed (read more about this here). So activity and progress on the chain are not delayed by the challenge period. The only thing that's delayed is the consummation of withdrawals. Recall though that any single honest validator knows immediately (at the speed of L1 finality) which state updates are correct and can guarantee that they will eventually be confirmed, so once a valid withdrawal has been requested on-chain, every honest party knows that the withdrawal will definitely happen. There's a natural place here for a liquidity market in which a validator (or someone who trusts a validator) can provide withdrawal loans for a small interest fee. This is a no-risk business for them as they know which withdrawals will be confirmed (and can force their confirmation trustlessly no matter what anyone else does) but are just waiting for on-chain finality. 3. The recipe: How Arbitrum Rollup works For a description of the technical components of Arbitrum Rollup and how they interact to create a highly scalable protocol with a developer experience that is identical to Ethereum, please refer to the following documents: Arbitrum Rollup Whitepaper Arbitrum academic paper (describes a previous version of Arbitrum) 4. Developer docs and APIs For full details about how to set up and interact with an Arbitrum Rollup chain or validator, please refer to our developer docs, which can be found at https://developer.offchainlabs.com/. Note that the Arbitrum version described on that site is older and will soon be replaced by the version we are entering in Reddit Bake-Off, which is still undergoing internal testing before public release. 5. Who are the validators? As with any Layer 2 protocol, advancing the protocol correctly requires at least one validator (sometimes called block producers) that is honest and available. A natural question is: who are the validators? Recall that the validator set for an Arbitrum chain is open and permissionless; anyone can start or stop validating at will. (A useful analogy is to full nodes on an L1 chain.) But we understand that even though anyone can participate, Reddit may want to guarantee that highly reputable nodes are validating their chain. Reddit may choose to validate the chain themselves and/or hire third-party validators.To this end, we have begun building a marketplace for validator-for-hire services so that dapp developers can outsource validation services to reputable nodes with high up-time. We've announced a partnership in which Chainlink nodes will provide Arbitrum validation services, and we expect to announce more partnerships shortly with other blockchain infrastructure providers. Although there is no requirement that validators are paid, Arbitrum’s economic model tracks validators’ costs (e.g. amount of computation and storage) and can charge small fees on user transactions, using a gas-type system, to cover those costs. Alternatively, a single party such as Reddit can agree to cover the costs of invited validators. 6. Reddit Contract Support Since Arbitrum contracts and transactions are byte-for-byte compatible with Ethereum, supporting the Reddit contracts is as simple as launching them on an Arbitrum chain. Minting. Arbitrum Rollup supports hybrid L1/L2 tokens which can be minted in L2 and then withdrawn onto the L1. An L1 contract at address A can make a special call to the EthBridge which deploys a "buddy contract" to the same address A on an Arbitrum chain. Since it's deployed at the same address, users can know that the L2 contract is the authorized "buddy" of the L1 contract on the Arbitrum chain. For minting, the L1 contract is a standard ERC-20 contract which mints and burns tokens when requested by the L2 contract. It is paired with an ERC-20 contract in L2 which mints tokens based on whatever programmer provided minting facility is desired and burns tokens when they are withdrawn from the rollup chain. Given this base infrastructure, Arbitrum can support any smart contract based method for minting tokens in L2, and indeed we directly support Reddit's signature/claim based minting in L2. Batch minting. What's better than a mint cookie? A whole batch! In addition to supporting Reddit’s current minting/claiming scheme, we built a second minting design, which we believe outperforms the signature/claim system in many scenarios. In the current system, Reddit periodically issues signed statements to users, who then take those statements to the blockchain to claim their tokens. An alternative approach would have Reddit directly submit the list of users/amounts to the blockchain and distribute the tokens to the users without the signature/claim process. To optimize the cost efficiency of this approach, we designed an application-specific compression scheme to minimize the size of the batch distribution list. We analyzed the data from Reddit's previous distributions and found that the data is highly compressible since token amounts are small and repeated, and addresses appear multiple times. Our function groups transactions by size, and replaces previously-seen addresses with a shorter index value. We wrote client code to compress the data, wrote a Solidity decompressing function, and integrated that function into Reddit’s contract running on Arbitrum. When we ran the compression function on the previous Reddit distribution data, we found that we could compress batched minting data down to to 11.8 bytes per minting event (averaged over a 6-month trace of Reddit’s historical token grants)compared with roughly 174 bytes of on-chain data needed for the signature claim approach to minting (roughly 43 for an RLP-encoded null transaction + 65 for Reddit's signature + 65 for the user's signature + roughly 8 for the number of Points) . The relative benefit of the two approaches with respect to on-chain call data cost depends on the percentage of users that will actually claim their tokens on chain. With the above figures, batch minting will be cheaper if roughly 5% of users redeem their claims. We stress that our compression scheme is not Arbitrum-specific and would be beneficial in any general-purpose smart contract platform. 8. Benchmarks and costs In this section, we give the full costs of operating the Reddit contracts on an Arbitrum Rollup chain including the L1 gas costs for the Rollup chain, the costs of computation and storage for the L2 validators as well as the capital lockup requirements for staking. Arbitrum Rollup is still on testnet, so we did not run mainnet benchmarks. Instead, we measured the L1 gas cost and L2 workload for Reddit operations on Arbitrum and calculated the total cost assuming current Ethereum gas prices. As noted below in detail, our measurements do not assume that Arbitrum is consuming the entire capacity of Ethereum. We will present the details of our model now, but for full transparency you can also play around with it yourself and adjust the parameters, by copying the spreadsheet found here. Our cost model is based on measurements of Reddit’s contracts, running unmodified (except for the addition of a batch minting function) on Arbitrum Rollup on top of Ethereum. On the distribution of transactions and frequency of assertions. Reddit's instructions specify the following minimum parameters that submissions should support: Over a 5 day period, your scaling PoC should be able to handle:
100,000 point claims (minting & distributing points)
75,000 one-off points burning
We provide the full costs of operating an Arbitrum Rollup chain with this usage under the assumption that tokens are minted or granted to users in batches, but other transactions are uniformly distributed over the 5 day period. Unlike some other submissions, we do not make unrealistic assumptions that all operations can be submitted in enormous batches. We assume that batch minting is done in batches that use only a few percent on an L1 block’s gas, and that other operations come in evenly over time and are submitted in batches, with one batch every five minutes to keep latency reasonable. (Users are probably already waiting for L1 finality, which takes at least that long to achieve.) We note that assuming that there are only 300,000 transactions that arrive uniformly over the 5 day period will make our benchmark numbers lower, but we believe that this will reflect the true cost of running the system. To see why, say that batches are submitted every five minutes (20 L1 blocks) and there's a fixed overhead of c bytes of calldata per batch, the cost of which will get amortized over all transactions executed in that batch. Assume that each individual transaction adds a marginal cost of t. Lastly assume the capacity of the scaling system is high enough that it can support all of Reddit's 300,000 transactions within a single 20-block batch (i.e. that there is more than c + 300,000*t byes of calldata available in 20 blocks). Consider what happens if c, the per-batch overhead, is large (which it is in some systems, but not in Arbitrum). In the scenario that transactions actually arrive at the system's capacity and each batch is full, then c gets amortized over 300,000 transactions. But if we assume that the system is not running at capacity--and only receives 300,000 transactions arriving uniformly over 5 days-- then each 20-block assertion will contain about 200 transactions, and thus each transaction will pay a nontrivial cost due to c. We are aware that other proposals presented scaling numbers assuming that 300,000 transactions arrived at maximum capacity and was executed in a single mega-transaction, but according to our estimates, for at least one such report, this led to a reported gas price that was 2-3 orders of magnitude lower than it would have been assuming uniform arrival. We make more realistic batching assumptions, and we believe Arbitrum compares well when batch sizes are realistic. Our model. Our cost model includes several sources of cost:
L1 gas costs: This is the cost of posting transactions as calldata on the L1 chain, as well as the overhead associated with each batch of transactions, and the L1 cost of settling transactions in the Arbitrum protocol.
Validator’s staking costs: In normal operation, one validator will need to be staked. The stake is assumed to be 0.2% of the total value of the chain (which is assumed to be $1 per user who is eligible to claim points). The cost of staking is the interest that could be earned on the money if it were not staked.
Validator computation and storage: Every validator must do computation to track the chain’s processing of transactions, and must maintain storage to keep track of the contracts’ EVM storage. The cost of computation and storage are estimated based on measurements, with the dollar cost of resources based on Amazon Web Services pricing.
It’s clear from our modeling that the predominant cost is for L1 calldata. This will probably be true for any plausible rollup-based system. Our model also shows that Arbitrum can scale to workloads much larger than Reddit’s nominal workload, without exhausting L1 or L2 resources. The scaling bottleneck will ultimately be calldata on the L1 chain. We believe that cost could be reduced substantially if necessary by clever encoding of data. (In our design any compression / decompression of L2 transaction calldata would be done by client software and L2 programs, never by an L1 contract.) 9. Status of Arbitrum Rollup Arbitrum Rollup is live on Ethereum testnet. All of the code written to date including everything included in the Reddit demo is open source and permissively licensed under the Apache V2 license. The first testnet version of Arbitrum Rollup was released on testnet in February. Our current internal version, which we used to benchmark the Reddit contracts, will be released soon and will be a major upgrade. Both the Arbitrum design as well as the implementation are heavily audited by independent third parties. The Arbitrum academic paper was published at USENIX Security, a top-tier peer-reviewed academic venue. For the Arbitrum software, we have engaged Trail of Bits for a security audit, which is currently ongoing, and we are committed to have a clean report before launching on Ethereum mainnet. 10. Reddit Universe Arbitrum Rollup Chain The benchmarks described in this document were all measured using the latest internal build of our software. When we release the new software upgrade publicly we will launch a Reddit Universe Arbitrum Rollup chain as a public demo, which will contain the Reddit contracts as well as a Uniswap instance and a Connext Hub, demonstrating how Community Points can be integrated into third party apps. We will also allow members of the public to dynamically launch ecosystem contracts. We at Offchain Labs will cover the validating costs for the Reddit Universe public demo. If the folks at Reddit would like to evaluate our software prior to our public demo, please email us at [email protected] and we'd be more than happy to provide early access. 11. Even more scaling: Arbitrum Sidechains Rollups are an excellent approach to scaling, and we are excited about Arbitrum Rollup which far surpasses Reddit's scaling needs. But looking forward to Reddit's eventual goal of supporting hundreds of millions of users, there will likely come a time when Reddit needs more scaling than any Rollup protocol can provide. While Rollups greatly reduce costs, they don't break the linear barrier. That is, all transactions have an on-chain footprint (because all calldata must be posted on-chain), albeit a far smaller one than on native Ethereum, and the L1 limitations end up being the bottleneck for capacity and cost. Since Ethereum has limited capacity, this linear use of on-chain resources means that costs will eventually increase superlinearly with traffic. The good news is that we at Offchain Labs have a solution in our roadmap that can satisfy this extreme-scaling setting as well: Arbitrum AnyTrust Sidechains. Arbitrum Sidechains are similar to Arbitrum Rollup, but deviate in that they name a permissioned set of validators. When a chain’s validators agree off-chain, they can greatly reduce the on-chain footprint of the protocol and require almost no data to be put on-chain. When validators can't reach unanimous agreement off-chain, the protocol reverts to Arbitrum Rollup. Technically, Arbitrum Sidechains can be viewed as a hybrid between state channels and Rollup, switching back and forth as necessary, and combining the performance and cost that state channels can achieve in the optimistic case, with the robustness of Rollup in other cases. The core technical challenge is how to switch seamlessly between modes and how to guarantee that security is maintained throughout. Arbitrum Sidechains break through this linear barrier, while still maintaining a high level of security and decentralization. Arbitrum Sidechains provide the AnyTrust guarantee, which says that as long as any one validator is honest and available (even if you don't know which one will be), the L2 chain is guaranteed to execute correctly according to its code and guaranteed to make progress. Unlike in a state channel, offchain progress does not require unanimous consent, and liveness is preserved as long as there is a single honest validator. Note that the trust model for Arbitrum Sidechains is much stronger than for typical BFT-style chains which introduce a consensus "voting" protocols among a small permissioned group of validators. BFT-based protocols require a supermajority (more than 2/3) of validators to agree. In Arbitrum Sidechains, by contrast, all you need is a single honest validator to achieve guaranteed correctness and progress. Notice that in Arbitrum adding validators strictly increases security since the AnyTrust guarantee provides correctness as long as any one validator is honest and available. By contrast, in BFT-style protocols, adding nodes can be dangerous as a coalition of dishonest nodes can break the protocol. Like Arbitrum Rollup, the developer and user experiences for Arbitrum Sidechains will be identical to that of Ethereum. Reddit would be able to choose a large and diverse set of validators, and all that they would need to guarantee to break through the scaling barrier is that a single one of them will remain honest. We hope to have Arbitrum Sidechains in production in early 2021, and thus when Reddit reaches the scale that surpasses the capacity of Rollups, Arbitrum Sidechains will be waiting and ready to help. While the idea to switch between channels and Rollup to get the best of both worlds is conceptually simple, getting the details right and making sure that the switch does not introduce any attack vectors is highly non-trivial and has been the subject of years of our research (indeed, we were working on this design for years before the term Rollup was even coined). 12. How Arbitrum compares We include a comparison to several other categories as well as specific projects when appropriate. and explain why we believe that Arbitrum is best suited for Reddit's purposes. We focus our attention on other Ethereum projects. Payment only Rollups. Compared to Arbitrum Rollup, ZK-Rollups and other Rollups that only support token transfers have several disadvantages:
As outlined throughout the proposal, we believe that the entire draw of Ethereum is in its rich smart contracts support which is simply not achievable with today's zero-knowledge proof technology. Indeed, scaling with a ZK-Rollup will add friction to the deployment of smart contracts that interact with Community Points as users will have to withdraw their coins from the ZK-Rollup and transfer them to a smart contract system (like Arbitrum). The community will be best served if Reddit builds on a platform that has built-in, frictionless smart-contract support.
All other Rollup protocols of which we are aware employ a centralized operator. While it's true that users retain custody of their coins, the centralized operator can often profit from censoring, reordering, or delaying transactions. A common misconception is that since they're non-custodial protocols, a centralized sequencer does not pose a risk but this is incorrect as the sequencer can wreak havoc or shake down users for side payments without directly stealing funds.
Sidechain type protocols can eliminate some of these issues, but they are not trustless. Instead, they require trust in some quorum of a committee, often requiring two-third of the committee to be honest, compared to rollup protocols like Arbitrum that require only a single honest party. In addition, not all sidechain type protocols have committees that are diverse, or even non-centralized, in practice.
Plasma-style protocols have a centralized operator and do not support general smart contracts.
13. Concluding Remarks While it's ultimately up to the judges’ palate, we believe that Arbitrum Rollup is the bakeoff choice that Reddit kneads. We far surpass Reddit's specified workload requirement at present, have much room to optimize Arbitrum Rollup in the near term, and have a clear path to get Reddit to hundreds of millions of users. Furthermore, we are the only project that gives developers and users the identical interface as the Ethereum blockchain and is fully interoperable and tooling-compatible, and we do this all without any new trust assumptions or centralized components. But no matter how the cookie crumbles, we're glad to have participated in this bake-off and we thank you for your consideration. About Offchain Labs Offchain Labs, Inc. is a venture-funded New York company that spun out of Princeton University research, and is building the Arbitrum platform to usher in the next generation of scalable, interoperable, and compatible smart contracts. Offchain Labs is backed by Pantera Capital, Compound VC, Coinbase Ventures, and others. Leadership Team Ed Felten Ed Felten is Co-founder and Chief Scientist at Offchain Labs. He is on leave from Princeton University, where he is the Robert E. Kahn Professor of Computer Science and Public Affairs. From 2015 to 2017 he served at the White House as Deputy United States Chief Technology Officer and senior advisor to the President. He is an ACM Fellow and member of the National Academy of Engineering. Outside of work, he is an avid runner, cook, and L.A. Dodgers fan. Steven Goldfeder Steven Goldfeder is Co-founder and Chief Executive Officer at Offchain Labs. He holds a PhD from Princeton University, where he worked at the intersection of cryptography and cryptocurrencies including threshold cryptography, zero-knowledge proof systems, and post-quantum signatures. He is a co-author of Bitcoin and Cryptocurrency Technologies, the leading textbook on cryptocurrencies, and he has previously worked at Google and Microsoft Research, where he co-invented the Picnic signature algorithm. When not working, you can find Steven spending time with his family, taking a nature walk, or twisting balloons. Harry Kalodner Harry Kalodner is Co-founder and Chief Technology Officer at Offchain Labs where he leads the engineering team. Before the company he attended Princeton as a Ph.D candidate where his research explored economics, anonymity, and incentive compatibility of cryptocurrencies, and he also has worked at Apple. When not up at 3:00am writing code, Harry occasionally sleeps.
In Bitcoin trade, day trading is an effective trading strategy. Bitcoin exchange fee is minimal hence it is cost effective to conduct trade every day. Additionally, Bitcoin is traded 24 hours making it convenient for most traders. The Bitcoin is volatile and making daily trading will create a better chance to make profits. Bitcoin is a cryptocurrency that is conducted on a public ledger, the "blockchain." Digitally transferred, it exists only online. Much like gold, it can have monetary value while also being a ... It doesn’t work that way. Bitcoin trading isn’t like what happens in spot currency trading.” In a recent report, Goldman Sachs explained that the Chinese yuan is the most popular currency on ... Bitcoin is a digital currency, a decentralized system which records transactions in a distributed ledger called a blockchain. Bitcoin miners run complex computer rigs to solve complicated puzzles ... Bitcoin trading is among the most popular cryptocurrency trading methods around the world. It is popular in both spot and derivatives markets. As a matter of fact, most of the crypto exchanges offering derivatives trading services start by listing Bitcoin derivatives.
What Is Bitcoin and How Does It Work? A Beginners Guide 2019
This video does explain how to invest in bitcoin; I will work on that video soon and upload it. #bitcoin #cryptocurrency #malayalam Please like, share, support and subscribe at https://www.youtube ... Use my referral code "cryptofiend" to sign up for Crypto.com and we both get $50! :) Use Code “cryptofiend” Follow me: Twitter: https://twitter.com/RyanR... In fact, this is pretty similar to how email works, except that Bitcoin addresses should only be used once. Balances - block chain The block chain is a shared public ledger on which the entire ... Start trading Bitcoin and cryptocurrency here: http://bit.ly/2Vptr2X Bitcoin is the first decentralized digital currency. All Bitcoin transactions are docume... Get our free Bitcoin course here - https://chrisdunn.com/free-bitcoin-course This Bitcoin basics video series will explain Bitcoin for beginners. You'll lear...