Putting $400M of Bitcoin on your company balance sheet
Also posted on my blog as usual. Read it there if you can, there are footnotes and inlined plots. A couple of months ago, MicroStrategy (MSTR) had a spare $400M of cash which it decided to shift to Bitcoin (BTC). Today we'll discuss in excrutiating detail why this is not a good idea. When a company has a pile of spare money it doesn't know what to do with, it'll normally do buybacks or start paying dividends. That gives the money back to the shareholders, and from an economic perspective the money can get better invested in other more promising companies. If you have a huge pile of of cash, you probably should be doing other things than leave it in a bank account to gather dust. However, this statement from MicroStrategy CEO Michael Saylor exists to make it clear he's buying into BTC for all the wrong reasons:
“This is not a speculation, nor is it a hedge. This was a deliberate corporate strategy to adopt a bitcoin standard.”
Let's unpack it and jump into the economics Bitcoin:
Is Bitcoin money?
No. Or rather BTC doesn't act as money and there's no serious future path for BTC to become a form of money. Let's go back to basics. There are 3 main economic problems money solves: 1. Medium of Exchange. Before money we had to barter, which led to the double coincidence of wants problem. When everyone accepts the same money you can buy something from someone even if they don't like the stuff you own. As a medium of exchange, BTC is not good. There are significant transaction fees and transaction waiting times built-in to BTC and these worsen the more popular BTC get. You can test BTC's usefulness as a medium of exchange for yourself right now: try to order a pizza or to buy a random item with BTC. How many additional hurdles do you have to go through? How many fewer options do you have than if you used a regular currency? How much overhead (time, fees) is there? 2. Unit of Account. A unit of account is what you compare the value of objects against. We denominate BTC in terms of how many USD they're worth, so BTC is a unit of account presently. We can say it's because of lack of adoption, but really it's also because the market value of BTC is so volatile. If I buy a $1000 table today or in 2017, it's roughly a $1000 table. We can't say that a 0.4BTC table was a 0.4BTC table in 2017. We'll expand on this in the next point: 3. Store of Value. When you create economic value, you don't want to be forced to use up the value you created right away. For instance, if I fix your washing machine and you pay me in avocados, I'd be annoyed. I'd have to consume my payment before it becomes brown, squishy and disgusting. Avocado fruit is not good money because avocadoes loses value very fast. On the other hand, well-run currencies like the USD, GBP, CAD, EUR, etc. all lose their value at a low and most importantly fairly predictible rate. Let's look at the chart of the USD against BTC While the dollar loses value at a predictible rate, BTC is all over the place, which is bad. One important use money is to write loan contracts. Loans are great. They let people spend now against their future potential earnings, so they can buy houses or start businesses without first saving up for a decade. Loans are good for the economy. If you want to sign something that says "I owe you this much for that much time" then you need to be able to roughly predict the value of the debt in at the point in time where it's due. Otherwise you'll have a hard time pricing the risk of the loan effectively. This means that you need to charge higher interests. The risk of making a loan in BTC needs to be priced into the interest of a BTC-denominated loan, which means much higher interest rates. High interests on loans are bad, because buying houses and starting businesses are good things.
BTC has a fixed supply, so these problems are built in
Some people think that going back to a standard where our money was denominated by a stock of gold (the Gold Standard) would solve economic problems. This is nonsense. Having control over supply of your currency is a good thing, as long as it's well run. See here Remember that what is desirable is low variance in the value, not the value itself. When there are wild fluctuations in value, it's hard for money to do its job well. Since the 1970s, the USD has been a fiat money with no intrinsic value. This means we control the supply of money. Let's look at a classic poorly drawn econ101 graph The market price for USD is where supply meets demand. The problem with a currency based on an item whose supply is fixed is that the price will necessarily fluctuate in response to changes in demand. Imagine, if you will, that a pandemic strikes and that the demand for currency takes a sharp drop. The US imports less, people don't buy anything anymore, etc. If you can't print money, you get deflation, which is worsens everything. On the other hand, if you can make the money printers go brrrr you can stabilize the price Having your currency be based on a fixed supply isn't just bad because in/deflation is hard to control. It's also a national security risk... The story of the guy who crashed gold prices in North Africa In the 1200s, Mansa Munsa, the emperor of the Mali, was rich and a devout Muslim and wanted everyone to know it. So he embarked on a pilgrimage to make it rain all the way to Mecca. He in fact made it rain so hard he increased the overall supply of gold and unintentionally crashed gold prices in Cairo by 20%, wreaking an economic havoc in North Africa that lasted a decade. This story is fun, the larger point that having your inflation be at the mercy of foreign nations is an undesirable attribute in any currency. The US likes to call some countries currency manipulators, but this problem would be serious under a gold standard.
Currencies are based on trust
Since the USD is based on nothing except the US government's word, how can we trust USD not to be mismanaged? The answer is that you can probably trust the fed until political stooges get put in place. Currently, the US's central bank managing the USD, the Federal Reserve (the Fed for friends & family), has administrative authority. The fed can say "no" to dumb requests from the president. People who have no idea what the fed does like to chant "audit the fed", but the fed is already one of the best audited US federal entities. The transcripts of all their meetings are out in the open. As is their balance sheet, what they plan to do and why. If the US should audit anything it's the Department of Defense which operates without any accounting at all. It's easy to see when a central bank will go rogue: it's when political yes-men are elected to the board. For example, before printing themselves into hyperinflation, the Venezuelan president appointed a sociologist who publicly stated “Inflation does not exist in real life” and instead is a made up capitalist lie. Note what happened mere months after his gaining control over the Venezuelan currency This is a key policy. One paper I really like, Sargent (1984) "The end of 4 big inflations" states:
The essential measures that ended hyperinflation in each of Germany,Austria, Hungary, and Poland were, first, the creation of an independentcentral bank that was legally committed to refuse the government'sdemand or additional unsecured credit and, second, a simultaneousalteration in the fiscal policy regime.
In english: *hyperinflation stops when the central bank can say "no" to the government." The US Fed, like other well good central banks, is run by a bunch of nerds. When it prints money, even as aggressively as it has it does so for good reasons. You can see why they started printing on March 15th as the COVID lockdowns started:
The Federal Reserve is prepared to use its full range of tools to support the flow of credit to households and businesses and thereby promote its maximum employment and price stability goals.
In english: We're going to keep printing and lowering rates until jobs are back and inflation is under control. If we print until the sun is blotted out, we'll print in the shade.
BTC is not gold
Gold is a good asset for doomsday-preppers. If society crashes, gold will still have value. How do we know that? Gold has held value throughout multiple historic catastrophes over thousands of years. It had value before and after the Bronze Age Collapse, the Fall of the Western Roman Empire and Gengis Khan being Gengis Khan. Even if you erased humanity and started over, the new humans would still find gold to be economically valuable. When Europeans d̶i̶s̶c̶o̶v̶e̶r̶e̶d̶ c̶o̶n̶q̶u̶e̶r̶e̶d̶ g̶e̶n̶o̶c̶i̶d̶e̶d̶ went to America, they found gold to be an important item over there too. This is about equivalent to finding humans on Alpha-Centauri and learning that they think gold is a good store of value as well. Some people are puzzled at this: we don't even use gold for much! But it has great properties: First, gold is hard to fake and impossible to manufacture. This makes it good to ascertain payment. Second, gold doesnt react to oxygen, so it doesn't rust or tarnish. So it keeps value over time unlike most other materials. Last, gold is pretty. This might sound frivolous, and you may not like it, but jewelry has actual value to humans. It's no coincidence if you look at a list of the wealthiest families, a large number of them trade in luxury goods. To paraphrase Veblen humans have a profound desire to signal social status, for the same reason peacocks have unwieldy tails. Gold is a great way to achieve that. On the other hand, BTC lacks all these attributes. Its value is largely based on common perception of value. There are a few fundamental drivers of demand:
Means of Exchange: if people seriously start using BTC to buy pizzas, then this creates a real demand for the currency to accomplish the short-term exchanges. As we saw previously, I'm not personally sold on this one and it's currently a negligible fraction of overall demand.
Criminal uses: Probably the largest inbuilt advantage of BTC is that it's anonymous, and so a great way to launder money. Hacker gangs use BTC to demand ransom on cryptolocker type attacks because it's a shared way for an honest company to pay and for the criminals to receive money without going to jail.
Apart from these, it's hard to argue that BTC will retain value throughout some sort of economic catastrophe.
BTC is really risky
One last statement from Michael Saylor I take offense to is this:
“We feel pretty confident that Bitcoin is less risky than holding cash, less risky than holding gold,” MicroStrategy CEO said in an interview
"BTC is less risky than holding cash or gold long term" is nonsense. We saw before that BTC is more volatile on face value, and that as long as the Fed isn't run by spider monkeys stacked in a trench coat, the inflation is likely to be within reasonable bounds. But on top of this, BTC has Abrupt downside risks that normal currencies don't. Let's imagine a few:
A critical software vulnerability is found in the BTC codebase, leading to a possible exploitation.
Xi Jinping decides he's had enough of rich people in China hiding their assets from him and bans BTC.
Some form of bank run takes hold for whatever reason. Because BTC wallets are uninsured, unlike regular banks, this compounds into a Black Tuesday style crash.
Blockchain solutions are fundamentally inefficient
Blockchain was a genius idea. I still marvel at the initial white paper which is a great mix of economics and computer science. That said, blockchain solutions make large tradeoffs in design because they assume almost no trust between parties. This leads to intentionally wasteful designs on a massive scale. The main problem is that all transactions have to be validated by expensive computational operations and double checked by multiple parties. This means waste:
BTC was estimated to use as much electricity as Belgium in 2019. It's hard to trace where the BTC mining comes from, but we can assume it has a huge carbon footprint.
A single transactions is necessarily expensive. A single transaction takes as much electricity as 800,000 VISA transactions, or watching 50,000 hours of youtube videos.
There is a large necessary tax on the transaction, since those checking the transaction extract a few BTC from it to be incentivized to do the work of checking it.
Many design problems can be mitigated by various improvements over BTC, but it remains that a simple database always works better than a blockchain if you can trust the parties to the transaction.
You've probably been hearing a lot about Bitcoin recently and are wondering what's the big deal? Most of your questions should be answered by the resources below but if you have additional questions feel free to ask them in the comments. It all started with the release of the release of Satoshi Nakamoto's whitepaper however that will probably go over the head of most readers so we recommend the following videos for a good starting point for understanding how bitcoin works and a little about its long term potential:
Limited Supply - There will only ever be 21,000,000 bitcoins created and they are issued in a predictable fashion, you can view the inflation schedule here. Once they are all issued Bitcoin will be truly deflationary. The halving countdown can be found here.
Open source - Bitcoin code is fully auditable. You can read the source code yourself here.
Accountable - The public ledger is transparent, all transactions are seen by everyone.
Decentralized - Bitcoin is globally distributed across thousands of nodes with no single point of failure and as such can't be shut down similar to how Bittorrent works. You can even run a node on a Raspberry Pi.
Censorship resistant - No one can prevent you from interacting with the bitcoin network and no one can censor, alter or block transactions that they disagree with, see Operation Chokepoint.
Push system - There are no chargebacks in bitcoin because only the person who owns the address where the bitcoins reside has the authority to move them.
Low fee scaling - On chain transaction fees depend on network demand and how much priority you wish to assign to the transaction. Most wallets calculate on chain fees automatically but you can view current fees here and mempool activity here. On chain fees may rise occasionally due to network demand, however instant micropayments that do not require confirmations are happening via the Lightning Network, a second layer scaling solution currently rolling out on the Bitcoin mainnet.
Borderless - No country can stop it from going in/out, even in areas currently unserved by traditional banking as the ledger is globally distributed.
Portable - Bitcoins are digital so they are easier to move than cash or gold. They can even be transported by simply memorizing a string of words for wallet recovery (while cool this method is generally not recommended due to potential for insecure key generation by inexperienced users. Hardware wallets are the preferred method for new users due to ease of use and additional security).
Bitcoin.org and BuyBitcoinWorldwide.com are helpful sites for beginners. You can buy or sell any amount of bitcoin (even just a few dollars worth) and there are several easy methods to purchase bitcoin with cash, credit card or bank transfer. Some of the more popular resources are below, also check out the bitcoinity exchange resources for a larger list of options for purchases.
Here is a listing of local ATMs. If you would like your paycheck automatically converted to bitcoin use Bitwage. Note: Bitcoins are valued at whatever market price people are willing to pay for them in balancing act of supply vs demand. Unlike traditional markets, bitcoin markets operate 24 hours per day, 365 days per year. Preev is a useful site that that shows how much various denominations of bitcoin are worth in different currencies. Alternatively you can just Google "1 bitcoin in (your local currency)".
Securing your bitcoins
With bitcoin you can "Be your own bank" and personally secure your bitcoins OR you can use third party companies aka "Bitcoin banks" which will hold the bitcoins for you.
If you prefer to "Be your own bank" and have direct control over your coins without having to use a trusted third party, then you will need to create your own wallet and keep it secure. If you want easy and secure storage without having to learn computer security best practices, then a hardware wallet such as the Trezor, Ledger or ColdCard is recommended. Alternatively there are many software wallet options to choose from here depending on your use case.
If you prefer to let third party "Bitcoin banks" manage your coins, try Gemini but be aware you may not be in control of your private keys in which case you would have to ask permission to access your funds and be exposed to third party risk.
Note: For increased security, use Two Factor Authentication (2FA) everywhere it is offered, including email! 2FA requires a second confirmation code to access your account making it much harder for thieves to gain access. Google Authenticator and Authy are the two most popular 2FA services, download links are below. Make sure you create backups of your 2FA codes.
As mentioned above, Bitcoin is decentralized, which by definition means there is no official website or Twitter handle or spokesperson or CEO. However, all money attracts thieves. This combination unfortunately results in scammers running official sounding names or pretending to be an authority on YouTube or social media. Many scammers throughout the years have claimed to be the inventor of Bitcoin. Websites like bitcoin(dot)com and the btc subreddit are active scams. Almost all altcoins (shitcoins) are marketed heavily with big promises but are really just designed to separate you from your bitcoin. So be careful: any resource, including all linked in this document, may in the future turn evil. Don't trust, verify. Also as they say in our community "Not your keys, not your coins".
Where can I spend bitcoins?
Check out spendabit or bitcoin directory for millions of merchant options. Also you can spend bitcoin anywhere visa is accepted with bitcoin debit cards such as the CashApp card. Some other useful site are listed below.
Mining bitcoins can be a fun learning experience, but be aware that you will most likely operate at a loss. Newcomers are often advised to stay away from mining unless they are only interested in it as a hobby similar to folding at home. If you want to learn more about mining you can read more here. Still have mining questions? The crew at /BitcoinMining would be happy to help you out. If you want to contribute to the bitcoin network by hosting the blockchain and propagating transactions you can run a full node using this setup guide. If you would prefer to keep it simple there are several good options. You can view the global node distribution here.
Just like any other form of money, you can also earn bitcoins by being paid to do a job.
You can also earn bitcoins by participating as a market maker on JoinMarket by allowing users to perform CoinJoin transactions with your bitcoins for a small fee (requires you to already have some bitcoins.
The following is a short list of ongoing projects that might be worth taking a look at if you are interested in current development in the bitcoin space.
One Bitcoin is quite large (hundreds of £/$/€) so people often deal in smaller units. The most common subunits are listed below:
one bitcoin is equal to 100 million satoshis
1,000 per bitcoin
used as default unit in recent Electrum wallet releases
1,000,000 per bitcoin
colloquial "slang" term for microbitcoin (μBTC)
100,000,000 per bitcoin
smallest unit in bitcoin, named after the inventor
For example, assuming an arbitrary exchange rate of $10000 for one Bitcoin, a $10 meal would equal:
For more information check out the Bitcoin units wiki. Still have questions? Feel free to ask in the comments below or stick around for our weekly Mentor Monday thread. If you decide to post a question in /Bitcoin, please use the search bar to see if it has been answered before, and remember to follow the community rules outlined on the sidebar to receive a better response. The mods are busy helping manage our community so please do not message them unless you notice problems with the functionality of the subreddit. Note: This is a community created FAQ. If you notice anything missing from the FAQ or that requires clarification you can edit it here and it will be included in the next revision pending approval. Welcome to the Bitcoin community and the new decentralized economy!
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
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.
vectorbt - blazingly fast backtesting and interactive data analysis for quants
I want to share with you a tool that I was continuously developing during the last couple of months. https://github.com/polakowo/vectorbt As a data scientist, when I first started flirting with quant trading, I quickly realized that there is a shortage of Python packages that can actually enable me to iterate over a long list of possible strategies and hyper-parameters quickly. Most open-source backtesting libraries are very evolved in terms of functionality, but simply lack speed. Questions like "Which strategy is better: X or Y?" require fast computation and transformation of data. This not only prolongs your lifecycle of designing strategies, but is dangerous after all: limited number of tests is similar to a tunnel vision - it prevents you from seeing the bigger picture and makes you dive into the market blindly. After trying tweaking pandas, multiprocessing, and even evaluating my strategies on a cluster with Spark, I finally found myself using Numba - a Python library that can compile slow Python code to be run at native machine code speed. And since there were no packages in the Python ecosystem that could even closely match the speed of my own backtests, I made vectorbt. vectorbt combines pandas, NumPy and Numba sauce to obtain orders-of-magnitude speedup over other libraries. It builds upon the idea that each instance of a trading strategy can be represented in a vectorized form, so multiple strategy instances can be packed into a single multi-dimensional array. In this form, they can processed in a highly efficient manner and compared easily. It also integrates Plotly and ipywidgets to display complex charts and dashboards akin to Tableau right in the Jupyter notebook. You can find basic examples and explanations in the documentation. Below is an example of doing in total 67,032 tests on three different timeframes of Bitcoin price history to explore how performance of a MACD strategy depends upon various combinations of fast, slow and signal windows:
import vectorbt as vbt import numpy as np import yfinance as yf from itertools import combinations, product # Fetch daily price of Bitcoin price = yf.Ticker("BTC-USD").history(period="max")['Close'] price = price.vbt.split_into_ranges(n=3) # Define hyper-parameter space # 49 fast x 49 slow x 19 signal fast_windows, slow_windows, signal_windows = vbt.indicators.create_param_combs( (product, (combinations, np.arange(2, 51, 1), 2), np.arange(2, 21, 1))) # Run MACD indicator macd_ind = vbt.MACD.from_params( price, fast_window=fast_windows, slow_window=slow_windows, signal_window=signal_windows, hide_params=['macd_ewm', 'signal_ewm'] ) # Long when MACD is above zero AND signal entries = macd_ind.macd_above(0) & macd_ind.macd_above(macd_ind.signal) # Short when MACD is below zero OR signal exits = macd_ind.macd_below(0) | macd_ind.macd_below(macd_ind.signal) # Build portfolio portfolio = vbt.Portfolio.from_signals( price.vbt.tile(len(fast_windows)), entries, exits, fees=0.001, freq='1D') # Draw all window combinations as a 3D volume fig = portfolio.total_return.vbt.volume( x_level='macd_fast_window', y_level='macd_slow_window', z_level='macd_signal_window', slider_level='range_start', template='plotly_dark', trace_kwargs=dict( colorscale='Viridis', colorbar=dict( title='Total return', tickformat='%' ) ) ) fig.show()
Analyze and engineer features for any time series data
Supercharge pandas and your favorite tools to run much faster
Test thousands of strategies, configurations, assets, and time ranges in one go
Test machine learning models
Build interactive charts/dashboards without leaving Jupyter
The current implementation has limitations though:
It's still experimental and fast evolving, thus API can change quickly.
Fast processing means more memory requirements. Above example created multiple DataFrames each taking 46MB of RAM (price, signals, cash, shares, equity, returns, etc). The issue can be mitigated by deleting at least some artifacts as soon as they are created and by disabling caching.
Usage requires intermediate knowledge of pandas and NumPy to understand what's going on. Numba can be learned faster because of it mimicking NumPy. I tried to make lots of small examples in the documentation to get the idea how everything is glued together.
The approach of merging vectorized and iterative code differs significantly from classic OOP approach of designing strategies, and will require you to rethink how strategies are formulated and implemented (which is kinda fun).
Finally, if you're looking for a pure backtesting solution - it's not. It's more of a data mining tool to get to know your market and approach better.
If it sounds cool enough, try it out! I would love if you'd give me some feedback and contribute to it at some point, as the codebase has grown very fast. Cheers.
Taproot! Everybody wants to have it, somebody wants to make it, nobody knows how to get it! (If you are asking why everybody wants it, see: Technical: Taproot: Why Activate?) (Pedants: I mostly elide over lockin times) Briefly, Taproot is that neat new thing that gets us:
Multisignatures (n-of-n, k-of-n) that are just 1 signature (1-of-1) in length!! (MuSig/Schnorr)
Better privacy!! If all contract participants can agree, just use a multisignature. If there is a dispute, show the contract publicly and have the Bitcoin network resolve it (Taproot/MAST).
Activation lets devs work get back to work on the even newer stuff like!!!
Cross-input signature aggregation!! (transaction with multiple inputs can have a single signature for all inputs) --- needs Schnorr, but some more work needed to ensure that the interactions with SCRIPT are okay.
Block validation - Schnorr signatures for all taproot spends in a block can be validated in a single operation instead of for each transaction!! Speed up validation and maybe we can actually afford to increase block sizes (maybe)!!
SIGHASH_ANYPREVOUT - you know, for Decker-Russell-Osuntokun ("eltoo") magic!!!
OP_CHECKTEMPLATEVERIFY - vaulty vaults without requiring storing signatures, just transaction details!!
So yes, let's activate taproot!
The SegWit Wars
The biggest problem with activating Taproot is PTSD from the previous softfork, SegWit. Pieter Wuille, one of the authors of the current Taproot proposal, has consistently held the position that he will not discuss activation, and will accept whatever activation process is imposed on Taproot. Other developers have expressed similar opinions. So what happened with SegWit activation that was so traumatic? SegWit used the BIP9 activation method. Let's dive into BIP9!
bit - A field in the block header, the nVersion, has a number of bits. By setting a particular bit, the miner making the block indicates that it has upgraded its software to support a particular soft fork. The bit parameter for a BIP9 activation is which bit in this nVersion is used to indicate that the miner has upgraded software for a particular soft fork.
timeout - a time limit, expressed as an end date. If this timeout is reached without sufficient number of miners signaling that they upgraded, then the activation fails and Bitcoin Core goes back to the drawing board.
Now there are other parameters (name, starttime) but they are not anywhere near as important as the above two. A number that is not a parameter, is 95%. Basically, activation of a BIP9 softfork is considered as actually succeeding if at least 95% of blocks in the last 2 weeks had the specified bit in the nVersion set. If less than 95% had this bit set before the timeout, then the upgrade fails and never goes into the network. This is not a parameter: it is a constant defined by BIP9, and developers using BIP9 activation cannot change this. So, first some simple questions and their answers:
Why not just set a day when everyone starts imposing the new rules of the softfork?
This was done classically (in the days when Satoshi was still among us). But this might argued to put too much power to developers, since there would be no way to reject an upgrade without possible bad consequences. For example, developers might package an upgrade that the users do not want, together with vital security bugfixes. Either you live without vital security bugfixes and hire some other developers to fix it for you (which can be difficult, presumably the best developers are already the ones working on the codebase) or you get the vital security bugfixes and implicitly support the upgrade you might not want.
Sure, you could fork the code yourself (the ultimate threat in the FOSS world) and hire another set of developers who aren't assholes to do the dreary maintenance work of fixing security bugs, but Bitcoin needs strong bug-for-bug compatibility so everyone should really congregate around a single codebase.
Basically: even the devs do not want this power, because they fear being coerced into putting "upgrades" that are detrimental to users. Satoshi got a pass because nobody knew who he was and how to coerce him.
Suppose the threshold were lower, like 51%. If so, after activation, somebody can disrupt the Bitcoin network by creating a transaction that is valid under the pre-softfork rules, but are invalid under the post-softfork rules. Upgraded nodes would reject it, but 49% of miners would accept it and include it in a block (which makes the block invalid) And then the same 49% would accept the invalid block and build on top of that, possibly creating a short chain of doomed invalid blocks that confirm an invalid spend. This can confuse SPV wallets, who might see multiple confirmations of a transaction and accept the funds, but later find that in fact it is invalid under the now-activated softfork rules.
Thus, a very high threshold was imposed. 95% is considered safe. 50% is definitely not safe. Due to variance in the mining process, 80% could also be potentially unsafe (i.e. 80% of blocks signaling might have a good chance of coming from only 60% of miners), so a threshold of 95% was considered "safe enough for Bitcoin work".
Why have a timeout that disables the upgrade?
Before BIP9, what was used was either flag day or BIP34. BIP34 had no flag day of activation or a bit, instead, it was just a 95% threshold to signal an nVersion value greater than a specific value. Actually, it was two thresholds: at 75%, blocks with the new nVersion would have the new softfork rules imposed, but at 95% blocks with the old nVersion would be rejected (and only the new blocks, with the new softfork rules, were accepted). For one, between 75% and 95%, there was a situation where the softfork was only "partially imposed", only blocks signaling the new rules would actually have those rules, but blocks with the old rules were still valid. This was fine for BIP34, which only added rules for miners with negligible use for non-miners.
The reasons miners signalled support was because they felt they were being pressured to signal support. So they signalled support, with plans to actually upgrade later, but because of the widespread signalling, the new BIP66 version locked in before upgrade plans were finished. Thus, the timeout that disables the upgrade was added in BIP9 to allow miners an escape hatch.
The Great Battles of the SegWit Wars
SegWit not only fixed transaction malleability, it also created a practical softforkable blocksize increase that also rebalanced weights so that the cost of spending a UTXO is about the same as the cost of creating UTXOs (and spending UTXOs is "better" since it limits the size of the UTXO set that every fullnode has to maintain). So SegWit was written, the activation was decided to be BIP9, and then.... miner signalling stalled at below 75%. Thus were the Great SegWit Wars started.
BIP9 Feature Hostage
If you are a miner with at least 5% global hashpower, you can hold a BIP9-activated softfork hostage. You might even secretly want the softfork to actually push through. But you might want to extract concession from the users and the developers. Like removing the halvening. Or raising or even removing the block size caps (which helps larger miners more than smaller miners, making it easier to become a bigger fish that eats all the smaller fishes). Or whatever. With BIP9, you can hold the softfork hostage. You just hold out and refuse to signal. You tell everyone you will signal, if and only if certain concessions are given to you. This ability by miners to hold a feature hostage was enabled because of the miner-exit allowed by the timeout on BIP9. Prior to that, miners were considered little more than expendable security guards, paid for the risk they take to secure the network, but not special in the grand scheme of Bitcoin.
ASICBoost was a novel way of optimizing SHA256 mining, by taking advantage of the structure of the 80-byte header that is hashed in order to perform proof-of-work. The details of ASICBoost are out-of-scope here but you can read about it elsewhere Here is a short summary of the two types of ASICBoost, relevant to the activation discussion.
Overt ASICBoost - Manipulates the unused bits in nVersion to reduce power consumption in mining.
Covert ASICBoost - Manipulates the order of transactions in the block to reduce power consumption in mining.
Now, "overt" means "obvious", while "covert" means hidden. Overt ASICBoost is obvious because nVersion bits that are not currently in use for BIP9 activations are usually 0 by default, so setting those bits to 1 makes it obvious that you are doing something weird (namely, Overt ASICBoost). Covert ASICBoost is non-obvious because the order of transactions in a block are up to the miner anyway, so the miner rearranging the transactions in order to get lower power consumption is not going to be detected. Unfortunately, while Overt ASICBoost was compatible with SegWit, Covert ASICBoost was not. This is because, pre-SegWit, only the block header Merkle tree committed to the transaction ordering. However, with SegWit, another Merkle tree exists, which commits to transaction ordering as well. Covert ASICBoost would require more computation to manipulate two Merkle trees, obviating the power benefits of Covert ASICBoost anyway. Now, miners want to use ASICBoost (indeed, about 60->70% of current miners probably use the Overt ASICBoost nowadays; if you have a Bitcoin fullnode running you will see the logs with lots of "60 of last 100 blocks had unexpected versions" which is exactly what you would see with the nVersion manipulation that Overt ASICBoost does). But remember: ASICBoost was, at around the time, a novel improvement. Not all miners had ASICBoost hardware. Those who did, did not want it known that they had ASICBoost hardware, and wanted to do Covert ASICBoost! But Covert ASICBoost is incompatible with SegWit, because SegWit actually has two Merkle trees of transaction data, and Covert ASICBoost works by fudging around with transaction ordering in a block, and recomputing two Merkle Trees is more expensive than recomputing just one (and loses the ASICBoost advantage). Of course, those miners that wanted Covert ASICBoost did not want to openly admit that they had ASICBoost hardware, they wanted to keep their advantage secret because miners are strongly competitive in a very tight market. And doing ASICBoost Covertly was just the ticket, but they could not work post-SegWit. Fortunately, due to the BIP9 activation process, they could hold SegWit hostage while covertly taking advantage of Covert ASICBoost!
UASF: BIP148 and BIP8
When the incompatibility between Covert ASICBoost and SegWit was realized, still, activation of SegWit stalled, and miners were still not openly claiming that ASICBoost was related to non-activation of SegWit. Eventually, a new proposal was created: BIP148. With this rule, 3 months before the end of the SegWit timeout, nodes would reject blocks that did not signal SegWit. Thus, 3 months before SegWit timeout, BIP148 would force activation of SegWit. This proposal was not accepted by Bitcoin Core, due to the shortening of the timeout (it effectively times out 3 months before the initial SegWit timeout). Instead, a fork of Bitcoin Core was created which added the patch to comply with BIP148. This was claimed as a User Activated Soft Fork, UASF, since users could freely download the alternate fork rather than sticking with the developers of Bitcoin Core. Now, BIP148 effectively is just a BIP9 activation, except at its (earlier) timeout, the new rules would be activated anyway (instead of the BIP9-mandated behavior that the upgrade is cancelled at the end of the timeout). BIP148 was actually inspired by the BIP8 proposal (the link here is a historical version; BIP8 has been updated recently, precisely in preparation for Taproot activation). BIP8 is basically BIP9, but at the end of timeout, the softfork is activated anyway rather than cancelled. This removed the ability of miners to hold the softfork hostage. At best, they can delay the activation, but not stop it entirely by holding out as in BIP9. Of course, this implies risk that not all miners have upgraded before activation, leading to possible losses for SPV users, as well as again re-pressuring miners to signal activation, possibly without the miners actually upgrading their software to properly impose the new softfork rules.
BIP91, SegWit2X, and The Aftermath
BIP148 inspired countermeasures, possibly from the Covert ASiCBoost miners, possibly from concerned users who wanted to offer concessions to miners. To this day, the common name for BIP148 - UASF - remains an emotionally-charged rallying cry for parts of the Bitcoin community. One of these was SegWit2X. This was brokered in a deal between some Bitcoin personalities at a conference in New York, and thus part of the so-called "New York Agreement" or NYA, another emotionally-charged acronym. The text of the NYA was basically:
Set up a new activation threshold at 80% signalled at bit 4 (vs bit 1 for SegWit).
When this 80% signalling was reached, miners would require that bit 1 for SegWit be signalled to achive the 95% activation needed for SegWit.
If the bit 4 signalling reached 80%, increase the block weight limit from the SegWit 4000000 to the SegWit2X 8000000, 6 months after bit 1 activation.
The first item above was coded in BIP91. Unfortunately, if you read the BIP91, independently of NYA, you might come to the conclusion that BIP91 was only about lowering the threshold to 80%. In particular, BIP91 never mentions anything about the second point above, it never mentions that bit 4 80% threshold would also signal for a later hardfork increase in weight limit. Because of this, even though there are claims that NYA (SegWit2X) reached 80% dominance, a close reading of BIP91 shows that the 80% dominance was only for SegWit activation, without necessarily a later 2x capacity hardfork (SegWit2X). This ambiguity of bit 4 (NYA says it includes a 2x capacity hardfork, BIP91 says it does not) has continued to be a thorn in blocksize debates later. Economically speaking, Bitcoin futures between SegWit and SegWit2X showed strong economic dominance in favor of SegWit (SegWit2X futures were traded at a fraction in value of SegWit futures: I personally made a tidy but small amount of money betting against SegWit2X in the futures market), so suggesting that NYA achieved 80% dominance even in mining is laughable, but the NYA text that ties bit 4 to SegWit2X still exists. Historically, BIP91 triggered which caused SegWit to activate before the BIP148 shorter timeout. BIP148 proponents continue to hold this day that it was the BIP148 shorter timeout and no-compromises-activate-on-August-1 that made miners flock to BIP91 as a face-saving tactic that actually removed the second clause of NYA. NYA supporters keep pointing to the bit 4 text in the NYA and the historical activation of BIP91 as a failed promise by Bitcoin developers.
We have discussed BIP8: roughly, it has bit and timeout, if 95% of miners signal bit it activates, at the end of timeout it activates. (EDIT: BIP8 has had recent updates: at the end of timeout it can now activate or fail. For the most part, in the below text "BIP8", means BIP8-and-activate-at-timeout, and "BIP9" means BIP8-and-fail-at-timeout) So let's take a look at Modern Softfork Activation!
Modern Softfork Activation
This is a more complex activation method, composed of BIP9 and BIP8 as supcomponents.
First have a 12-month BIP9 (fail at timeout).
If the above fails to activate, have a 6-month discussion period during which users and developers and miners discuss whether to continue to step 3.
Have a 24-month BIP8 (activate at timeout).
The total above is 42 months, if you are counting: 3.5 years worst-case activation. The logic here is that if there are no problems, BIP9 will work just fine anyway. And if there are problems, the 6-month period should weed it out. Finally, miners cannot hold the feature hostage since the 24-month BIP8 period will exist anyway.
PSA: Being Resilient to Upgrades
Software is very birttle. Anyone who has been using software for a long time has experienced something like this:
You hear a new version of your favorite software has a nice new feature.
Excited, you install the new version.
You find that the new version has subtle incompatibilities with your current workflow.
You are sad and downgrade to the older version.
You find out that the new version has changed your files in incompatible ways that the old version cannot work with anymore.
You tearfully reinstall the newer version and figure out how to get your lost productivity now that you have to adapt to a new workflow
If you are a technically-competent user, you might codify your workflow into a bunch of programs. And then you upgrade one of the external pieces of software you are using, and find that it has a subtle incompatibility with your current workflow which is based on a bunch of simple programs you wrote yourself. And if those simple programs are used as the basis of some important production system, you hve just screwed up because you upgraded software on an important production system. And well, one of the issues with new softfork activation is that if not enough people (users and miners) upgrade to the newest Bitcoin software, the security of the new softfork rules are at risk. Upgrading software of any kind is always a risk, and the more software you build on top of the software-being-upgraded, the greater you risk your tower of software collapsing while you change its foundations. So if you have some complex Bitcoin-manipulating system with Bitcoin somewhere at the foundations, consider running two Bitcoin nodes:
One is a "stable-version" Bitcoin node. Once it has synced, set it up to connect=x.x.x.x to the second node below (so that your ISP bandwidth is only spent on the second node). Use this node to run all your software: it's a stable version that you don't change for long periods of time. Enable txiindex, disable pruning, whatever your software needs.
The other is an "always-up-to-date" Bitcoin Node. Keep its stoarge down with pruning (initially sync it off the "stable-version" node). You can't use blocksonly if your "stable-version" node needs to send transactions, but otherwise this "always-up-to-date" Bitcoin node can be kept as a low-resource node, so you can run both nodes in the same machine.
When a new Bitcoin version comes up, you just upgrade the "always-up-to-date" Bitcoin node. This protects you if a future softfork activates, you will only receive valid Bitcoin blocks and transactions. Since this node has nothing running on top of it, it is just a special peer of the "stable-version" node, any software incompatibilities with your system software do not exist. Your "stable-version" Bitcoin node remains the same version until you are ready to actually upgrade this node and are prepared to rewrite most of the software you have running on top of it due to version compatibility problems. When upgrading the "always-up-to-date", you can bring it down safely and then start it later. Your "stable-version" wil keep running, disconnected from the network, but otherwise still available for whatever queries. You do need some system to stop the "always-up-to-date" node if for any reason the "stable-version" goes down (otherwisee if the "always-up-to-date" advances its pruning window past what your "stable-version" has, the "stable-version" cannot sync afterwards), but if you are technically competent enough that you need to do this, you are technically competent enough to write such a trivial monitor program (EDIT: gmax notes you can adjust the pruning window by RPC commands to help with this as well). This recommendation is from gmaxwell on IRC, by the way.
If you are like me, then you are probably always looking for new ways to generate income. There are always new opportunities out there to make a quick buck, however, I try and be selective and do extensive research into the opportunities I spot. I have recently become very interested in the opportunities that Bitcoin trading presents. Increasing your streams of passive income through a diverse range of methods can start to add up to a significant amount each month. Here are a few ways to start making money through Bitcoin. Mining Bitcoin Essentially mining means using computing power to secure a network to receive Bitcoin rewards. It is the oldest form of earning passive income through Bitcoin as it doesn’t require you to have cryptocurrency holdings. In the early days, this method was a viable solution, however, as the network hash rate increase most miners shifted to using more powerful Graphics Processing Units. Due to the vast increase in competition mining became the playing field of Application-Specific Integrated Circuits (ASICs) - electronics that use mining chips tailor-made for this specific purpose. Nowadays setting up and maintaining mining equipment requires substantial investment and technical expertise – but it's worth it if you happen to fit the criteria. Not to mention the cooling costs associated with running a machine powerful enough to mine Bitcoin. Staking Staking is a less resource-intensive alternative to mining, involving keeping funds in a suitable wallet and performing various network functions to receive staking rewards (i.e. Bitcoin). Usually, staking involves establishing a staking wallet and simply holding the coins. In other cases, the process will involve a staking pool. Some exchanges will do all this for you – all you have to do it keep your tokens on the exchange and all the technical requirements will be taken care of. This is a great way to increase your Bitcoin holdings with minimal efforts. Lending Lending is a completely passive method to earn interest on your Bitcoin holdings. There are several peer-to-peer lending platforms available that enable you to lock up your funds for a period of time to later collect interest payments. The interest rate could either be set for the platform or based on the current market rate. This method is ideal for those looking for long term rewards, however, it is worth noting that locking your funds in a smart contact always carries the risk of bugs. Finding a Bitcoin Trading Company For those who are less technically inclined and don’t have a firm grasp of how Bitcoin trading works, there is always the opportunity of finding a company that will trade on your behalf. The issue with this is that there are many seedy companies who claim to do this but then end up ripping you off. In order to have peace of mind, you need to find a Bitcoin trading company that understands the market and is reputable enough. I stumbled across Mirror Trading International, a company that operates out of South Africa. What immediately stood out for me was that they were transparent and professional in their engagements. Daily profits are paid on the days where there are profits recorded. In addition to this, they have made the entire registration and withdrawal process as simple as possible. All you have to do is simply fund your account with the minimum fund value and you can start earning. If you do need to access the funds, then this is a simple process that you have full control of. I would suggest everyone to do their research and keep an open mind. The thousands of testimonials, along with their members from all across the world is testament that they are a legitimate company that is sustainable.
I keep hearing "Deflation before massive inflation"
So what can we do about it? Any ideas are welcome. It has a lot of "what if's"... It depends how tax and law play out with it.Historically speaking:
Commodities and things people use every day become expensive,
Luxury goods fall in value.
Inflation wipes out all savings, there is often a rush to spend money while it has value. "Bank runs" and "Bank Bail in's" where the bank will limit your withdraws to prop up the bank temporarily. Sure here the FDIC may insure it, but its nothing if your money is losing value by the hour and it takes months to get it actually into your hands. And many countries have issues with a person holding cash..."You're automatically a drug dealer! >your money is now drug money! >Asset forfeiture" ...I cant count how many times this happens.
People yell " physical gold and silver!" ... yeah, those do hold value well, however the gov does tax that at 26-30% when sold, and will often ban its use in dire times. ....huge grey / pirate area.
Mining stock is the same in the tax range, and nearly anything you "resell", imposed taxes and royalties can be added leaving you high and dry.
Precious metal holdings have been banned in the past, even here in the USA...aka Government confiscation.
Nationalization of Precious metals mines have happened.
Edit: I now realize there are many ways stocks can play out.
Real Estate will raise in value hugely, However so will the taxes, longer contracts at fixed rates benefits the lendee.
Things that you use, if you can stock or invest in it.
-I stock bulk diesel for my cars while following historical averages to buy cheap.
-Rotating food stock
-Extra maintenance items, including the big things like a roof on your home if its coming time. Not joking I have a spare water heater and backup heating options, along with minor parts and filters to fix them. Same with cars and engines, (spark plugs, filters (all different filters), oil, cheap sensors that usually go bad and are only 4-10$ each, 1-2 extra alternator per vehicle, belts, mowing belts, bearings, grease, ... and I've literally had to use everything on that list and reorder.)
Things that directly pay you back or are insurance. Saving money is making money.
-Security, Locks, Alarms, Cameras, people steal.
A deep freezer for instance can stock food you use and buy on sale.
Solar energy and solar heating supplements energy you use anyways
Rainwater can be collected and used rather than buying from a source.
A cooking gadget vs eating out.
Tools and learning to fix things vs hire.
House insulation.-Better insulative windows, and sealing.
Bidet on toilet (lol serious though...)
Your education can be a huge one, not just for prepping but also in your work.
Things that prevent rot, fire, flood / humidity, or failure. Humidity is a silent killer to many preps. (water sump pumps, dehumidifiers, leak prevention, fire extinguishers / sprinklers, )
Things that last and can be resold on the street if need be. This list can be huge, you have to balance it with liquidity, what you use but can also sell before it goes bad / fails.
Honestly and unpopularly, Things that can avoid tax when the price inflates out of control and you wish to sell. The numbers can be so distorted in both price and taxing of income. Eggs for instance, in many countries from Weimar Republic of Germany to Venezuela, increased 15,000%+, So that $15,000 egg / $150,000 dozen that you sold from your chickens gets taxed in the highest tax bracket? (which can go into the 90% range if rules aren't changed for the massive inflation) Taxes usually try raising during this and many companies flee the country, add robots / machines, or downsize as the result of more taxes making work and jobs even more of an issue. .. honestly history shows the whole thing being a cluster-duck in so many ways. Alternative currencies pop up, actual trades happen and go unreported, crime even shifts when things get too bad, again with Venezuela, I read that criminals were moving to other countries because the people were too poor to even make anything robbing! You can also have a business where you write off so many things that you would use anyways. The numbers get... err... odd, play the game.
It is usually around 10 years of chaos before things start "stabilizing." and even then, so much damage has occured.
This is a serious thing that has happened to once prosperous people / civilizations in the past...don't think you're exempt, especially when the numbers are at historical limits in many countries. Invest in yourself and what you use regularly.
[OWL WATCH] Waiting for "IOTA TIME" 20; Hans's re-defined directions for DLT
Disclaimer: This is my editing, so there could be some misunderstandings... -------------------------------------------- wellwho오늘 오후 4:50 u/BenRoyce****how far is society2 from having something clickable powered by IOTA? Ben Royce오늘 오후 4:51 demo of basic tech late sep/ early oct. MVP early 2021 --------------------------------------------------- HusQy Colored coins are the most misunderstood upcoming feature of the IOTA protocol. A lot of people see them just as a competitor to ERC-20 tokens on ETH and therefore a way of tokenizing things on IOTA, but they are much more important because they enable "consensus on data". Bob All this stuff already works on neblio but decentralized and scaling to 3500 tps HusQy Neblio has 8 mb blocks with 30 seconds blocktime.This is a throughput of 8 mb / 30 seconds = 267 kb per second.Transactions are 401+ bytes which means that throughput is 267 kb / 401 bytes = 665 TPS. IOTA is faster, feeless and will get even faster with the next update ... ----------------------------------------------------------------------------- HusQy Which DLT would be more secure? One that is collaboratively validated by the economic actors of the world (coporations, companies, foundations, states, people) or one that is validated by an anonymous group of wealthy crypto holders? HusQy The problem with current DLTs is that we use protection mechanisms like Proof of Work and Proof of Stake that are inherently hard to shard. The more shards you have, the more you have to distribute your hashing power and your stake and the less secure the system becomes. HusQy Real world identities (i.e. all the big economic actors) however could shard into as many shards as necessary without making the system less secure. Todays DLTs waste trust in the same way as PoW wastes energy. HusQy Is a secure money worth anything if you can't trust the economic actors that you would buy stuff from? If you buy a car from Volkswagen and they just beat you up and throw you out of the shop after you payed then a secure money won't be useful either :P HusQy **I believe that if you want to make DLT work and be successful then we need to ultimately incorporate things like trust in entities into the technology.**Examples likes wirecard show that trusting a single company is problematic buttrusting the economy as a whole should be at ... **... least as secure as todays DLTs.**And as soon as you add sharding it will be orders of magnitude more secure.DLT has failed to deliver because people have tried to build a system in vacuum that completely ignores things that already exist and that you can leverage on. ---------------------------------------------------------------------------------- HusQy Blockchain is a bit like people sitting in a room, trying to communicate through BINGO sheets. While they talk, they write down some of the things that have been said and as soon as one screams BINGO! he hands around his sheet to inform everybody about what has been said. HusQy If you think that this is the most efficient form of communication for people sitting in the same room and the answer to scalability is to make bigger BINGO sheets or to allow people to solve the puzzle faster then you will most probably never understand what IOTA is working on. -------------------------------------------------------------------------------- HusQy **Blockchain does not work with too many equally weighted validators.****If 400 validators produce a validating statement (block) at the same time then only one can survive as part of a longest chain.**IOTA is all about collaborative validation. **Another problem of blockchain is that every transaction gets sent twice through the network. Once from the nodes to the miners and a 2nd time from the miners as part of a block.**Blockchain will therefore always only be able to use 50% of the network throughput. And****the last problem is that you can not arbitrarily decrease the time between blocks as it breaks down if the time between blocks gets smaller than the average network delay. The idle time between blocks is precious time that could be used for processing transactions. ----------------------------------------------------------------------------- HusQy I am not talking about a system with a fixed number of validators but one that is completely open and permissionless where any new company can just spin up a node and take part in the network. ------------------------------------------------------------------------ HusQy Proof of Work and Proof of Stake are both centralizing sybil-protection mechanism. I don't think that Satoshi wanted 14 mining pools to run the network. And "economic clustering" was always the "end game" of IOTA. ----------------------------------------------------------------------------- HusQy **Using Proof of Stake is not trustless. Proof of Stake means you trust the richest people and hope that they approve your transactions. The rich are getting richer (through your fees) and you are getting more and more dependant on them.**Is that your vision of the future? ---------------------------------------------------------------------------- HusQy Please read again exactly what I wrote. I have not spoken of introducing governance by large companies, nor have I said that IOTA should be permissioned. We aim for a network with millions or even billions of nodes. HusQy That can't work at all with a permissioned ledger - who should then drop off all these devices or authorize them to participate in the network? My key message was the following: Proof of Work and Proof of Stake will always be if you split them up via sharding ... HusQy ... less secure because you simply need fewer coins or less hash power to have the majority of the votes in a shard. This is not the case with trust in society and the economy. When all companies in the world jointly secure a DLT ... HusQy ... then these companies could install any number of servers in any number of shards without compromising security, because "trust" does not become less just because they operate several servers. First of all, that is a fact and nothing else. HusQy Proof of Work and Proof of Stake are contrary to the assumption of many not "trustless" but follow the maxim: "In the greed of miners we trust!" The basic assumption that the miners do not destroy the system that generates income for them is fundamental here for the ... HusQy ... security of every DLT. I think a similar assumption would still be correct for the economy as a whole: The companies of the world (and not just the big ones) would not destroy the system with which their customers pay them. In this respect, a system would be ... HusQy ... which is validated by society and the economy as a whole probably just as "safely" as a system which is validated by a few anonymous miners. Why a small elite of miners should be better validators than any human and ... HusQy ... To be honest, companies in this world do not open up to me. As already written in my other thread, safe money does not bring you anything if you have to assume that Volkswagen will beat you up and throw you out of the store after you ... HusQy ... paid for a car. The thoughts I discussed say nothing about the immediate future of IOTA (we use for Coordicide mana) but rather speak of a world where DLT has already become an integral part of our lives and we ... HusQy ... a corresponding number of companies, non-profit organizations and people have used DLT and where such a system could be implemented. The point here is not to create a governance solution that in any way influences the development of technology ... HusQy ... or have to give nodes their OK first, but about developing a system that enables people to freely choose the validators they trust. For example, you can also declare your grandma to be a validator when you install your node or your ... HusQy ... local supermarket. Economic relationships in the real world usually form a close-knit network and it doesn't really matter who you follow as long as the majority is honest. I also don't understand your criticism of censorship, because something like that in IOTA ... HusQy ... is almost impossible. Each transaction confirms two other transactions which is growing exponentially. If someone wanted to ignore a transaction, he would have to ignore an exponential number of other transactions after a very short time. In contrast to blockchain ... HusQy ... validators in IOTA do not decide what is included in the ledger, but only decide which of several double spends should be confirmed. Honest transactions are confirmed simply by having other transactions reference them ... HusQy ... and the "validators" are not even asked. As for the "dust problem", this is indeed something that is a bigger problem for IOTA than for other DLTs because we have no fees, but it is also not an unsolvable problem. Bitcoin initially has a ... HusQy Solved similar problem by declaring outputs with a minimum amount of 5430 satoshis as invalid (github.com/Bitcoin/Bitcoi…). A similar solution where an address must contain a minimum amount is also conceivable for IOTA and we are discussing ... HusQy ... several possibilities (including compressing dust using cryptographic methods). Contrary to your assumption, checking such a minimum amount is not slow but just as fast as checking a normal transaction. And mine ... HusQy ... In my opinion this is no problem at all for IOTA's use case. The important thing is that you can send small amounts, but after IOTA is feeless it is also okay to expect the recipients to regularly send their payments on a ... HusQy ... merge address. The wallets already do this automatically (sweeping) and for machines it is no problem to automate this process. So far this was not a problem because the TPS were limited but with the increased TPS throughput of ... HusQy ... Chrysalis it becomes relevant and appropriate solutions are discussed and then implemented accordingly. I think that was the most important thing first and if you have further questions just write :) HusQy And to be very clear! I really appreciate you and your questions and don't see this as an attack at all! People who see such questions as inappropriate criticism should really ask whether they are still objective. I have little time at the moment because ... HusQy ... my girlfriend is on tour and has to take care of our daughter, but as soon as she is back we can discuss these things in a video. I think that the concept of including the "real world" in the concepts of DLT is really exciting and ... HusQy ... that would certainly be exciting to discuss in a joint video. But again, that's more of a vision than a specific plan for the immediate future. This would not work with blockchain anyway but IOTA would be compatible so why not think about such things. ----------------------------------------------------------------------- HusQy All good my big one :P But actually not that much has changed. There has always been the concept of "economic clustering" which is basically based on similar ideas. We are just now able to implement things like this for the first time. ---------------------------------------------------------------------------------- HusQy Exactly. It would mean that addresses "cost" something but I would rather pay a few cents than fees for each transaction. And you can "take" this minimum amount with you every time you change to a new address. HusQy All good my big one :P But actually not that much has changed. There has always been the concept of "economic clustering" which is basically based on similar ideas. We are just now able to implement things like this for the first time. ----------------------------------------------------------------------------------- Relax오늘 오전 1:17 Btw. Hans (sorry for interrupting this convo) but what make people say that IOTA is going the permissioned way because of your latest tweets? I don't get why some people are now forecasting that... Is it because of missing specs or do they just don't get the whole idea? Hans Moog [IF]오늘 오전 1:20 its bullshitu/Relaxanidentity based system would still be open and permissionless where everybody can choose the actors that they deem trustworthy themselves but thats anyway just sth that would be applicable with more adoption [오전 1:20] for now we use mana as a predecessor to an actual reputation system Sissors오늘 오전 1:31 If everybody has to choose actors they deem trustworthy, is it still permissionless? Probably will become a bit a semantic discussion, but still Hans Moog [IF]오늘 오전 1:34 Of course its permissionless you can follow your grandma if you want to :p Sissors오늘 오전 1:36 Well sure you can, but you will need to follow something which has a majority of the voting power in the network. Nice that you follow your grandma, but if others dont, her opinion (or well her nodes opinion) is completely irrelevant Hans Moog [IF]오늘 오전 1:37 You would ideally follow the people that are trustworthy rather than your local drug dealers yeah Sissors오늘 오전 1:38 And tbh, sure if you do it like that is easy. If you just make the users responsible for only connection to trustworthy nodes Hans Moog [IF]오늘 오전 1:38 And if your grandma follows her supermarket and some other people she deems trustworthy then thats fine as well [오전 1:38] + you dont have just 1 actor that you follow Sissors오늘 오전 1:38 No, you got a large list, since yo uwant to follow those which actually matter. So you jsut download a standard list from the internet Hans Moog [IF]오늘 오전 1:39 You can do that [오전 1:39] Is bitcoin permissionless? Should we both try to become miners? [오전 1:41] I mean miners that actually matter and not find a block every 10 trillion years 📷 [오전 1:42] If you would want to become a validator then you would need to build up trust among other people - but anybody can still run a node and issue transactions unlike in hashgraph where you are not able to run your own nodes(수정됨) [오전 1:48] Proof of Stake is also not trustless - it just has a builtin mechanism that downloads the trusted people from the blockchain itself (the richest dudes) Sissors오늘 오전 1:52 I think most agree it would be perfect if every person had one vote. Which is pr oblematic to implement of course. But I really wonder if the solution is to just let users decide who to trust. At the very least I expect a quite centralized network Hans Moog [IF]오늘 오전 1:53 of course even a trust based system would to a certain degree be centralized as not every person is equally trustworthy as for example a big cooperation [오전 1:53] but I think its gonna be less centralized than PoS or PoW [오전 1:53] but anyway its sth for "after coordicide" [오전 1:54] there are not enough trusted entities that are using DLT, yet to make such a system work reasonably well [오전 1:54] I think the reason why blockchain has not really started to look into these kind of concepts is because blockchain doesnt work with too many equally weighted validators [오전 1:56] I believe that DLT is only going to take over the world if it is actually "better" than existing systems and with better I mean cheaper, more secure and faster and PoS and PoW will have a very hard time to deliver that [오전 1:56] especially if you consider that its not only going to settle value transfers Relax오늘 오전 1:57 I like this clear statements, it makes it really clear that DLT is still in its infancy Hans Moog [IF]오늘 오전 1:57 currently bank transfers are order of magnitude cheaper than BTC or ETH transactions Hans Moog [IF]오늘 오전 1:57 and we you think that people will adopt it just because its crypto then I think we are mistaken [오전 1:57] The tech needs to actually solve a problem [오전 1:57] and tbh. currently people use PayPal and other companies to settle their payments [오전 1:58] having a group of the top 500 companies run such a service together is already much better(수정됨) [오전 1:58] especially if its fast and feeless [오전 2:02] and the more people use it, the more decentralized it actually becomes [오전 2:02] because you have more trustworthy entities to choose of Evaldas [IF]오늘 오전 2:08 "in the greed of miners we trust"
7 DAY$-24/HR$ - BITCOIN MINING EXPERIMENT - See How Much ...
What it really takes to mine a Bitcoin in 10 Minutes. Firstly I'll show you a special free method to mine Bitcoin and send funds directly to your wallet in 1... This video goes over my 7 day 1 week Bitcoin Mining experiment. I let my computer Mine for Bitcoin for a week straight, to see how much money I could generat... How To Make Bitcoin Mining Machine Like S9 Miner Mobile mining at Home https://get.cryptobrowser.site/238274 https://minezone.io/index.php?reffid=rp6pqpiY I set up a Bitcoin cryptocurrency mining farm in my garage with GPU mining rigs and ASIC miners as well as FPGA miners in my house. I explain how to setup yo... Today I show you how to mine the worlds #1 cryptocurrency - Bitcoin. Mining bitcoin is actually incredibly easy. This tutorial will tell you everything there...