Jump to content
hash.bg - биткойн форум

admin

Members
  • Posts

    469
  • Joined

  • Last visited

  • Days Won

    21

Everything posted by admin

  1. style="margin: 0;color: black;"> View this email in a browser BitMEX Crypto Trader Digest Sep 22, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX From The BitMEX Research Desk The SegWit Transaction Capacity Increase – Part 1 Abstract: SegWit replaces the old 1MB blocksize limit, with a new, more complicated, 4 million unit "block weight" limit. This should double the transaction throughput of the network, but only after wallets upgrade to send new SegWit style transactions. This piece analyzes how the network throughput could increase, as users gradually upgrade to SegWit. The SegWit Transaction Capacity Increase – Part 2 – The First Month After Activation Abstract: SegWit adoption has grown at a steady pace since activation one month ago and this has surprisingly coincided with a large reduction in transaction fees. Although we think this may be a coincidence, as the absolute level of SegWit adoption in the first month is reasonably low. Mining Incentives – Part 1 – The Economics of the Difficulty Adjustment Abstract: This piece contrasts mining economics between Bitcoin and traditional resource mining. We look at how the difficulty adjustment can impact profitability in the mining industry and some potentially perverse incentives. Mining Incentives – Part 2 – Why Is China dominant in Bitcoin Mining Abstract: This piece explores why China appears to be in a dominant position in the Bitcoin mining industry. We look at the massive hydropower boom in China over the last 10 years and how Bitcoin mining could be the inadvertent beneficiary of over investment in hydropower, linked to aluminum production, in remote regions in China. Haters Gonna Hate Why do we, as an industry, look for validation from the finance industry we are trying to disrupt? It's difficult for most to ignore statements from two of the most powerful financiers of our age: Jamie Dimon of JP Morgan and Ray Dalio of Bridgewater. Jamie felt the need to distract the crowd away from his bank's disastrous quarterly trading revenue results by launching a diatribe on Bitcoin. He called it a fraud and said he would fire employees who traded it. Ray said that Bitcoin was in a bubble because it provided no utility; it is too volatile to be used as a currency in everyday commerce. One of the most common criticisms of Bitcoin is that it is too volatile to be used as anything but a tool of speculators. Bitcoin cannot be a store of value like gold because its value fluctuates too wildly. But why is gold put forward as the epitome of stability? Yes, it has over a thousand years of history as the symbol of wealth and international commerce. However, at one point in time using gold as a currency was revolutionary and possibly heresy. A Gold Thought Experiment Imagine yourself part of a early human civilisation thousands of years ago, before gold was accepted as money. Your tribe or village uses shells as money. The shells are sufficiently rare that they hold value. They are easily recognised and hard to counterfeit. However, it is hard to store the shells in vast quantities, and over time the shells degrade. Carrying a large quantity of shells is also quite difficult. Elon Musk hasn’t been born yet. Few of these shells are self-driving. One day you discover specks of a yellow metal. Its lustre entices you to pick up a few small rocks and study them. Unlike many rocks and metals you deal with, gold is quite soft. Over a hot fire, you melt some of these gold nuggets together and find it is quite easy to work with this new metal. The next day you tried to remember where you discovered the gold. After a few weeks of searching you were able to locate another few nuggets. Another thought: perhaps gold is rare. As a civic-minded person, you arranged a meeting with the village leaders and showed them your new discovery. You asked if possibly gold could replace shells as the accepted currency. They laughed at you. A gold rock as money, how silly. Everyone knows that shells are money, and shells will always be money. You feel deflated but not defeated. Yet - a woman at the meeting thought the gold would make good jewelry. It was very shiny and looked much better than the drab trinkets townspeople wore. She asked where you acquired the gold and if you could help her fashion it into jewelry. You were able to find a location where if you dug, gold appeared fairly regularly. It was a hit. Everyone loved their new gold jewelry, it looked much better, and it held its form over time. Given the primitive tools at your disposal, it was very difficult to find large quantities of gold. Gold jewelry began to function as a proto currency. Those who wore it were richer, as it required more and more shells each year to purchase a standard bauble. At this point the village elders began to worry. Their wealth was stored in the form of shells. In the face of a better monetary instrument, gold, the shells depreciated in value every year. Even worse, because gold is rare, inert, impossible to counterfeit, and easy to transport, some merchants preferred to sell goods for gold rather than shells. Because the village had a limited history handling gold, its value fluctuated wildly. No one know what it should be valued at vis-a-vis real goods and services so it still wasn’t as stable a monetary instrument as shells. The elders used this fear and price volatility to warn the plebes not to consider gold as money. Why should gold be money, it was just a shiny rock used for beautification purposes. Overtime the village could not ignore that gold and metallic monetary instruments in general were technologically superior. Slowly then quickly, the value of gold vs. real goods and services skyrocketed. Those who had “invested” in gold, saw their purchasing power increase dramatically as the society switched to a better monetary technology. Monetary Transition From barter, to commodity money (gold), to paper fiat money, to cryptographic money, each one of these transitions features extreme volatility then stability. The new form of money at one point will not be able to purchase any goods and services, then all of a sudden its purchasing power increases quickly. The network effect ensures that the transition between different forms of money is chaotic. A monetary instrument can only have value if a sufficient percentage of the network will price their goods and services in said instrument. However, no one wants to be first. The chicken and egg problem of monetary adoption ensures that once the switch happens it occurs quickly. For savvy speculators, properly positioning oneself in front of a monetary shift is extremely profitable. Because money has no value without its network, it essentially goes from being worth nothing to something. Bitcoin is no different. From Zero to Pizza Bitcoin Pizza Day (May 20th 2009) is the first time Bitcoin was exchanged for a real good. Since then, as the network grew and people valued the characteristics that make Bitcoin a possible monetary instrument, its price vs. real goods and services increased dramatically. If Bitcoin were not volatile then we would not be experiencing a monetary system transition. As traders, investors, and speculators participating in such a transition is the privilege that most humans will never experience given their infrequency. Monetary transitions are zig zags not straight lines. Also these transitions take time. No monetary instrument completely replaced its predecessor in under a decade. Therefore it is foolish to pooh pooh Bitcoin because of volatility that is entirely due to a phase shift in monetary instrument preferences of a society. Envy Becoming the CEO of a multinational bank is incredibly difficult. CEOs like Jamie Dimon dedicated their lives to the organisations they lead and have made many personal sacrifices. Being human, it must irk them that youngins have become worth $100 million plus in a few years due to a belief in a different way of transferring value. It also is annoys senior financiers that these same pups’ stated goal is to dismantle the monetary system that they sacrificed everything to lead. The smart financiers are busy buying crypto assets while they publicly deride them. The dumb ones double down on the supremacy of central bank printed fiat denominated assets. The world is more connected than ever. A move from analog to digital cryptographic money will be chaotic and volatile. I consider myself lucky to be alive, and fortunate to be able to stake my personal fortune betting against the old and for the new. Pay to Play Chinese Miner: I would like to build a new mine in China. Beijing: Well Sheeeeeeit. Partner, you're gonna have to pay to play. The recent actions by Chinese authorities to stymie the growth of Bitcoin reminded me of John D. Rockefeller’s quest to tame the infantile oil market. Rockefeller was able to exert god-like control over the oil industry because he eradicated wildcatters. Wildcatters were small outfits that drilled oil wells wherever they could. They were not organised, and this chaotic drilling reduced the lifespan of oil patches and caused intense volatility in the price of oil. The ways in which Rockefeller culled the wildcatters earned him the title of a Robber Baron. The Chinese government and Rockefeller have many things in common. The Chinese government wants to control every aspect of the economy. When a new sector emerges, they allow fierce competition. Once a few winners have emerged they decimate the small fish, and present the survives with an offer they can’t refuse. Pay to play, or die. The payment can be in many forms. But essentially Beijing can tap dat ass whenever it likes, and you better smile during the session. The Bitcoin mining industry is no different. Local governments all vie to post earth shattering growth numbers every quarter. They will do anything in their power to achieve growth. Success guarantees a seat at the table in Beijing, and riches for your family. For this reason, as well as overinvestment in aluminum production capacity, many poor parts of north western China have an abundance of electrical generation capacity. The boom in Bitcoin mining meant that anyone with capital and some connections at the local government level could profitably mine Bitcoin. Read the BitMEX Research report titled Mining Incentives - Part 2 - Why Is China Dominant in Bitcoin Mining, for a more indepth discussion of this topic. The Chinese mining industry is dominated by a few large pool operators and miners. However, there are scores of smaller mining outfits. Beijing has little visibility into many of the smaller outfits. That could not continue forever. A recently leaked document outlines how Beijing may block the propagation of Bitcoin blocks via the Great Firewall (GFW). Many correctly pointed out that miners could easily evade these measures through the use of VPNs. I brought this up with a laowai mining friend of mine during the recent Bitkan conference. He said that the use of a VPN or other means to evade the GFW would slow down the broadcast of your successfully mined block to the point where someone else would beat you to the punch. In his opinion, these actions will kill all small mining outfits. The big boys can afford direct lines that bypass the GFW. Beijing sells these lines to compliant comrades, and can monitor all traffic. The fees paid are akin to a bribe to the government to continue operation. Absent this, you will be too slow to compete internationally. Now Beijing has complete control over the success or failure of your business, and you will pay whatever they ask. He further added: For instance, Inner Mongolia has relatively low population and economic growth. No one wants to move there. A few years ago the local Inner Mongolian government offered Chinese companies large pieces of land if they moved operations from other provinces. Each company who moved there actually got two titles, one for building manufacturing facilities and the other for strip mining coal. The companies could cheaply and easily mine the coal for sale or build their own smaller coal power plants to run their operations. This led to a staggering amount of coal power plants in Inner Mongolia, most of them fairly small, around 50 to 250 MW. After these companies moved there they were hit by the global slowdown in the commodity industry. Almost everyone of these factories started mining Bitcoin on the side. They write off miners as an equipment expense, and use the higher electricity usage costs to lower corporate profit and tax. In return they get a consistent side revenue that is not taxed. While Bitmain is certainly the biggest miner in China, it by no means dominates. The vast majority of factories in Inner Mongolia and neighboring provinces are all doing this and collectively represent a significant amount of hash power. I think this is the most likely the reason for the mainland crackdown on mining as all these factories are avoiding tax and laundering profits. By shutting things down at a network level that will force a greater centralization, the large players will then get licensed, and the government can regulate and tax them. In my opinion I don't believe mining will be dead in China, I think it will become a permissioned industry. The 21 million Bitcoin question is whether Beijing would use its new power to attempt to kill Bitcoin. Given that many local governments and senior members of the party profit from the continuation of mining racket, I believe the status quo suits Beijing. Beijing’s treatment of the internet is an apt comparison for how I believe they will treat Bitcoin. Beijing tolerates the existence of VPNs, and sells private lines to bypass the GFW to certain organisations. Operation of a VPN seems cheap and easy to many readers; however, the vast majority of the Chinese masses are too poor to purchase a VPN, and more importantly have no desire. They are perfectly content with the China intranet, and have no desire to escape. Beijing has no problem with the wealthy elite enjoying a few freedoms, as long as the mindset of the masses is not poisoned. A prime example is the job of a friend of mine in Shanghai. He re-taught elite Chinese students slated to study abroad the correct version of certain historical events. China has no problem with the masses being ignorant, but they don’t want their best and brightest to appear stupid vs. their international peers. The recent closure of exchanges, banning of ICO fund raising, and the probable disruption of the Bitcoin network by poisoning block propagation, ensures that the masses may not enjoy the fruits of cryptocurrency, but the wealthy few can. Time will tell whether Bitcoin and other cryptocurrencies present a real value proposition to the Chinese masses. If cryptocurrencies are like water, they will reach the lowest point given enough time. If they are not, then a small percentage of Chinese investors will continue to trade, invest, and use the technology. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe
  2. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Sep 22, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX From The BitMEX Research Desk The SegWit Transaction Capacity Increase – Part 1 Abstract: SegWit replaces the old 1MB blocksize limit, with a new, more complicated, 4 million unit "block weight" limit. This should double the transaction throughput of the network, but only after wallets upgrade to send new SegWit style transactions. This piece analyzes how the network throughput could increase, as users gradually upgrade to SegWit. The SegWit Transaction Capacity Increase – Part 2 – The First Month After Activation Abstract: SegWit adoption has grown at a steady pace since activation one month ago and this has surprisingly coincided with a large reduction in transaction fees. Although we think this may be a coincidence, as the absolute level of SegWit adoption in the first month is reasonably low. Mining Incentives – Part 1 – The Economics of the Difficulty Adjustment Abstract: This piece contrasts mining economics between Bitcoin and traditional resource mining. We look at how the difficulty adjustment can impact profitability in the mining industry and some potentially perverse incentives.Mining Incentives – Part 2 – Why Is China dominant in Bitcoin Mining Abstract: This piece explores why China appears to be in a dominant position in the Bitcoin mining industry. We look at the massive hydropower boom in China over the last 10 years and how Bitcoin mining could be the inadvertent beneficiary of over investment in hydropower, linked to aluminum production, in remote regions in China. Haters Gonna Hate Why do we, as an industry, look for validation from the finance industry we are trying to disrupt? It's difficult for most to ignore statements from two of the most powerful financiers of our age: Jamie Dimon of JP Morgan and Ray Dalio of Bridgewater. Jamie felt the need to distract the crowd away from his bank's disastrous quarterly trading revenue results by launching a diatribe on Bitcoin. He called it a fraud and said he would fire employees who traded it. Ray said that Bitcoin was in a bubble because it provided no utility; it is too volatile to be used as a currency in everyday commerce. One of the most common criticisms of Bitcoin is that it is too volatile to be used as anything but a tool of speculators. Bitcoin cannot be a store of value like gold because its value fluctuates too wildly. But why is gold put forward as the epitome of stability? Yes, it has over a thousand years of history as the symbol of wealth and international commerce. However, at one point in time using gold as a currency was revolutionary and possibly heresy. A Gold Thought ExperimentImagine yourself part of a early human civilisation thousands of years ago, before gold was accepted as money. Your tribe or village uses shells as money. The shells are sufficiently rare that they hold value. They are easily recognised and hard to counterfeit. However, it is hard to store the shells in vast quantities, and over time the shells degrade. Carrying a large quantity of shells is also quite difficult. Elon Musk hasn’t been born yet. Few of these shells are self-driving. One day you discover specks of a yellow metal. Its lustre entices you to pick up a few small rocks and study them. Unlike many rocks and metals you deal with, gold is quite soft. Over a hot fire, you melt some of these gold nuggets together and find it is quite easy to work with this new metal. The next day you tried to remember where you discovered the gold. After a few weeks of searching you were able to locate another few nuggets. Another thought: perhaps gold is rare. As a civic-minded person, you arranged a meeting with the village leaders and showed them your new discovery. You asked if possibly gold could replace shells as the accepted currency. They laughed at you. A gold rock as money, how silly. Everyone knows that shells are money, and shells will always be money. You feel deflated but not defeated. Yet - a woman at the meeting thought the gold would make good jewelry. It was very shiny and looked much better than the drab trinkets townspeople wore. She asked where you acquired the gold and if you could help her fashion it into jewelry. You were able to find a location where if you dug, gold appeared fairly regularly. It was a hit. Everyone loved their new gold jewelry, it looked much better, and it held its form over time. Given the primitive tools at your disposal, it was very difficult to find large quantities of gold. Gold jewelry began to function as a proto currency. Those who wore it were richer, as it required more and more shells each year to purchase a standard bauble. At this point the village elders began to worry. Their wealth was stored in the form of shells. In the face of a better monetary instrument, gold, the shells depreciated in value every year. Even worse, because gold is rare, inert, impossible to counterfeit, and easy to transport, some merchants preferred to sell goods for gold rather than shells. Because the village had a limited history handling gold, its value fluctuated wildly. No one know what it should be valued at vis-a-vis real goods and services so it still wasn’t as stable a monetary instrument as shells. The elders used this fear and price volatility to warn the plebes not to consider gold as money. Why should gold be money, it was just a shiny rock used for beautification purposes. Overtime the village could not ignore that gold and metallic monetary instruments in general were technologically superior. Slowly then quickly, the value of gold vs. real goods and services skyrocketed. Those who had “invested” in gold, saw their purchasing power increase dramatically as the society switched to a better monetary technology. Monetary TransitionFrom barter, to commodity money (gold), to paper fiat money, to cryptographic money, each one of these transitions features extreme volatility then stability. The new form of money at one point will not be able to purchase any goods and services, then all of a sudden its purchasing power increases quickly. The network effect ensures that the transition between different forms of money is chaotic. A monetary instrument can only have value if a sufficient percentage of the network will price their goods and services in said instrument. However, no one wants to be first. The chicken and egg problem of monetary adoption ensures that once the switch happens it occurs quickly. For savvy speculators, properly positioning oneself in front of a monetary shift is extremely profitable. Because money has no value without its network, it essentially goes from being worth nothing to something. Bitcoin is no different. From Zero to PizzaBitcoin Pizza Day (May 20th 2009) is the first time Bitcoin was exchanged for a real good. Since then, as the network grew and people valued the characteristics that make Bitcoin a possible monetary instrument, its price vs. real goods and services increased dramatically. If Bitcoin were not volatile then we would not be experiencing a monetary system transition. As traders, investors, and speculators participating in such a transition is the privilege that most humans will never experience given their infrequency. Monetary transitions are zig zags not straight lines. Also these transitions take time. No monetary instrument completely replaced its predecessor in under a decade. Therefore it is foolish to pooh pooh Bitcoin because of volatility that is entirely due to a phase shift in monetary instrument preferences of a society. EnvyBecoming the CEO of a multinational bank is incredibly difficult. CEOs like Jamie Dimon dedicated their lives to the organisations they lead and have made many personal sacrifices. Being human, it must irk them that youngins have become worth $100 million plus in a few years due to a belief in a different way of transferring value. It also is annoys senior financiers that these same pups’ stated goal is to dismantle the monetary system that they sacrificed everything to lead. The smart financiers are busy buying crypto assets while they publicly deride them. The dumb ones double down on the supremacy of central bank printed fiat denominated assets. The world is more connected than ever. A move from analog to digital cryptographic money will be chaotic and volatile. I consider myself lucky to be alive, and fortunate to be able to stake my personal fortune betting against the old and for the new. Pay to Play Chinese Miner: I would like to build a new mine in China. Beijing: Well Sheeeeeeit. Partner, you're gonna have to pay to play. The recent actions by Chinese authorities to stymie the growth of Bitcoin reminded me of John D. Rockefeller’s quest to tame the infantile oil market. Rockefeller was able to exert god-like control over the oil industry because he eradicated wildcatters. Wildcatters were small outfits that drilled oil wells wherever they could. They were not organised, and this chaotic drilling reduced the lifespan of oil patches and caused intense volatility in the price of oil. The ways in which Rockefeller culled the wildcatters earned him the title of a Robber Baron. The Chinese government and Rockefeller have many things in common. The Chinese government wants to control every aspect of the economy. When a new sector emerges, they allow fierce competition. Once a few winners have emerged they decimate the small fish, and present the survives with an offer they can’t refuse. Pay to play, or die. The payment can be in many forms. But essentially Beijing can tap dat ass whenever it likes, and you better smile during the session. The Bitcoin mining industry is no different. Local governments all vie to post earth shattering growth numbers every quarter. They will do anything in their power to achieve growth. Success guarantees a seat at the table in Beijing, and riches for your family. For this reason, as well as overinvestment in aluminum production capacity, many poor parts of north western China have an abundance of electrical generation capacity. The boom in Bitcoin mining meant that anyone with capital and some connections at the local government level could profitably mine Bitcoin. Read the BitMEX Research report titled Mining Incentives - Part 2 - Why Is China Dominant in Bitcoin Mining, for a more indepth discussion of this topic. The Chinese mining industry is dominated by a few large pool operators and miners. However, there are scores of smaller mining outfits. Beijing has little visibility into many of the smaller outfits. That could not continue forever. A recently leaked document outlines how Beijing may block the propagation of Bitcoin blocks via the Great Firewall (GFW). Many correctly pointed out that miners could easily evade these measures through the use of VPNs. I brought this up with a laowai mining friend of mine during the recent Bitkan conference. He said that the use of a VPN or other means to evade the GFW would slow down the broadcast of your successfully mined block to the point where someone else would beat you to the punch. In his opinion, these actions will kill all small mining outfits. The big boys can afford direct lines that bypass the GFW. Beijing sells these lines to compliant comrades, and can monitor all traffic. The fees paid are akin to a bribe to the government to continue operation. Absent this, you will be too slow to compete internationally. Now Beijing has complete control over the success or failure of your business, and you will pay whatever they ask. He further added: For instance, Inner Mongolia has relatively low population and economic growth. No one wants to move there. A few years ago the local Inner Mongolian government offered Chinese companies large pieces of land if they moved operations from other provinces. Each company who moved there actually got two titles, one for building manufacturing facilities and the other for strip mining coal. The companies could cheaply and easily mine the coal for sale or build their own smaller coal power plants to run their operations. This led to a staggering amount of coal power plants in Inner Mongolia, most of them fairly small, around 50 to 250 MW. After these companies moved there they were hit by the global slowdown in the commodity industry. Almost everyone of these factories started mining Bitcoin on the side. They write off miners as an equipment expense, and use the higher electricity usage costs to lower corporate profit and tax. In return they get a consistent side revenue that is not taxed. While Bitmain is certainly the biggest miner in China, it by no means dominates. The vast majority of factories in Inner Mongolia and neighboring provinces are all doing this and collectively represent a significant amount of hash power. I think this is the most likely the reason for the mainland crackdown on mining as all these factories are avoiding tax and laundering profits. By shutting things down at a network level that will force a greater centralization, the large players will then get licensed, and the government can regulate and tax them. In my opinion I don't believe mining will be dead in China, I think it will become a permissioned industry. The 21 million Bitcoin question is whether Beijing would use its new power to attempt to kill Bitcoin. Given that many local governments and senior members of the party profit from the continuation of mining racket, I believe the status quo suits Beijing. Beijing’s treatment of the internet is an apt comparison for how I believe they will treat Bitcoin. Beijing tolerates the existence of VPNs, and sells private lines to bypass the GFW to certain organisations. Operation of a VPN seems cheap and easy to many readers; however, the vast majority of the Chinese masses are too poor to purchase a VPN, and more importantly have no desire. They are perfectly content with the China intranet, and have no desire to escape. Beijing has no problem with the wealthy elite enjoying a few freedoms, as long as the mindset of the masses is not poisoned. A prime example is the job of a friend of mine in Shanghai. He re-taught elite Chinese students slated to study abroad the correct version of certain historical events. China has no problem with the masses being ignorant, but they don’t want their best and brightest to appear stupid vs. their international peers. The recent closure of exchanges, banning of ICO fund raising, and the probable disruption of the Bitcoin network by poisoning block propagation, ensures that the masses may not enjoy the fruits of cryptocurrency, but the wealthy few can. Time will tell whether Bitcoin and other cryptocurrencies present a real value proposition to the Chinese masses. If cryptocurrencies are like water, they will reach the lowest point given enough time. If they are not, then a small percentage of Chinese investors will continue to trade, invest, and use the technology. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  3. Bitcoin Core version 0.15.0.1 is now available from: https://bitcoin.org/bin/bitcoin-core-0.15.0.1/ and https://bitcoincore.org/bin/bitcoin-core-0.15.0.1/ This is a new major version release, including new features, various bugfixesand performance improvements, as well as updated translations. Please report bugs using the issue tracker at GitHub: https://github.com/bitcoin/bitcoin/issues To receive security and update notifications, please subscribe to: https://bitcoincore.org/en/list/announcements/join/ How to Upgrade If you are running an older version, shut it down. Wait until it has completelyshut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac)or bitcoind/bitcoin-qt (on Linux). The first time you run version 0.15.0, your chainstate database will be converted to anew format, which will take anywhere from a few minutes to half an hour,depending on the speed of your machine. The file format of fee_estimates.dat changed in version 0.15.0. Hence, adowngrade from version 0.15.0 or upgrade to version 0.15.0 will cause all feeestimates to be discarded. Note that the block database format also changed in version 0.8.0 and there is noautomatic upgrade code from before version 0.8 to version 0.15.0. Upgradingdirectly from 0.7.x and earlier without redownloading the blockchain is not supported.However, as usual, old wallet versions are still supported. Downgrading warning The chainstate database for this release is not compatible with previousreleases, so if you run 0.15 and then decide to switch back to anyolder version, you will need to run the old release with the -reindex-chainstateoption to rebuild the chainstate data structures in the old format. If your node has pruning enabled, this will entail re-downloading andprocessing the entire blockchain. Compatibility Bitcoin Core is extensively tested on multiple operating systems usingthe Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not supported. Bitcoin Core should also work on most other Unix-like systems but is notfrequently tested on them. Notes for 0.15.0.1 GUI startup crash issue After upgrade to 0.15.0, some clients would crash at startup because a customfee setting was configured that no longer exists in the GUI. This is a minimalpatch to avoid this issue from occuring. Notes for 0.15.0 Current SegWit support Version 0.15.0 supports adding a segregated witness address via the addwitnessaddress RPC, butplease note that this is a testing/expert RPC, which does not guarantee recovery from backup. Only usethis RPC if you know what you are doing. More complete wallet support for segregated witness is comingin a next version. Rescanning with encrypted wallets As in previous versions, when using an encrypted HD wallet, the keypool cannot be topped up without unlockingthe wallet. This means that currently, in order to recover from a backup of an encrypted HD wallet, the usermust unlock the wallet with a really long timeout and manually trigger a rescan, otherwise they risk missingsome keys when auto-topup cannot run. Unfortunately there is no rescan RPC in this version, that will beincluded in a future version, so for now a rescan can be triggered using one of the import* commands, usinga dummy address generated by another (trusted) wallet. Notable changes Performance Improvements Version 0.15 contains a number of significant performance improvements, which makeInitial Block Download, startup, transaction and block validation much faster: The chainstate database (which is used for tracking UTXOs) has been changedfrom a per-transaction model to a per-output model (See PR 10195). Advantages of this modelare that it: avoids the CPU overhead of deserializing and serializing the unused outputs; has more predictable memory usage; uses simpler code; is adaptable to various future cache flushing strategies. As a result, validating the blockchain during Initial Block Download (IBD) and reindexis ~30-40% faster, uses 10-20% less memory, and flushes to disk far less frequently.The only downside is that the on-disk database is 15% larger. During the conversion from the previous formata few extra gigabytes may be used. Earlier versions experienced a spike in memory usage while flushing UTXO updates to disk.As a result, only half of the available memory was actually used as cache, and the other half wasreserved to accommodate flushing. This is no longer the case (See PR 10148), and the entirety ofthe available cache (see -dbcache) is now actually used as cache. This reduces the flushingfrequency by a factor 2 or more. In previous versions, signature validation for transactions has been cached when thetransaction is accepted to the mempool. Version 0.15 extends this to cache the entire scriptvalidity (See PR 10192). This means that if a transaction in a block has already been accepted to themempool, the scriptSig does not need to be re-evaluated. Empirical tests show thatthis results in new block validation being 40-50% faster. LevelDB has been upgraded to version 1.20 (See PR 10544). This version contains hardware acceleration for CRCon architectures supporting SSE 4.2. As a result, synchronization and block validation are now faster. SHA256 hashing has been optimized for architectures supporting SSE 4 (See PR 10821). SHA256 is around50% faster on supported hardware, which results in around 5% faster IBD and blockvalidation. In version 0.15, SHA256 hardware optimization is disabled in release builds bydefault, but can be enabled by using --enable-experimental-asm when building. Refill of the keypool no longer flushes the wallet between each key which resulted in a ~20x speedup in creating a new wallet. Part of this speedup was used to increase the default keypool to 1000 keys to make recovery more robust. (See PR 10831). Fee Estimation Improvements Fee estimation has been significantly improved in version 0.15, with more accurate fee estimates used by the wallet and a wider range of options for advanced users of the estimatesmartfee and estimaterawfee RPCs (See PR 10199). Changes to internal logic and wallet behavior Internally, estimates are now tracked on 3 different time horizons. This allows for longer targets and means estimates adjust more quickly to changes in conditions. Estimates can now be conservative or economical. Conservative estimates use longer time horizons to produce an estimate which is less susceptible to rapid changes in fee conditions. Economical estimates use shorter time horizons and will be more affected by short-term changes in fee conditions. Economical estimates may be considerably lower during periods of low transaction activity (for example over weekends), but may result in transactions being unconfirmed if prevailing fees increase rapidly. By default, the wallet will use conservative fee estimates to increase the reliability of transactions being confirmed within the desired target. For transactions that are marked as replaceable, the wallet will use an economical estimate by default, since the fee can be ‘bumped’ if the fee conditions change rapidly (See PR 10589). Estimates can now be made for confirmation targets up to 1008 blocks (one week). More data on historical fee rates is stored, leading to more precise fee estimates. Transactions which leave the mempool due to eviction or other non-confirmed reasons are now taken into account by the fee estimation logic, leading to more accurate fee estimates. The fee estimation logic will make sure enough data has been gathered to return a meaningful estimate. If there is insufficient data, a fallback default fee is used. Changes to fee estimate RPCs The estimatefee RPC is now deprecated in favor of using only estimatesmartfee (which is the implementation used by the GUI) The estimatesmartfee RPC interface has been changed (See PR 10707): The nblocks argument has been renamed to conf_target (to be consistent with other RPC methods). An estimate_mode argument has been added. This argument takes one of the following strings: CONSERVATIVE, ECONOMICAL or UNSET (which defaults to CONSERVATIVE). The RPC return object now contains an errors member, which returns errors encountered during processing. If Bitcoin Core has not been running for long enough and has not seen enough blocks or transactions to produce an accurate fee estimation, an error will be returned (previously a value of -1 was used to indicate an error, which could be confused for a feerate). A new estimaterawfee RPC is added to provide raw fee data. External clients can query and use this data in their own fee estimation logic. Multi-wallet support Bitcoin Core now supports loading multiple, separate wallets (See PR 8694, PR 10849). The wallets are completely separated, with individual balances, keys and received transactions. Multi-wallet is enabled by using more than one -wallet argument when starting Bitcoin, either on the command line or in the Bitcoin config file. In Bitcoin-Qt, only the first wallet will be displayed and accessible for creating and signing transactions. GUI selectable multiple wallets will be supported in a future version. However, even in 0.15 other loaded wallets will remain synchronized to the node’s current tip in the background. This can be useful if running a pruned node, since loading a wallet where the most recent sync is beyond the pruned height results in having to download and revalidate the whole blockchain. Continuing to synchronize all wallets in the background avoids this problem. Bitcoin Core 0.15.0 contains the following changes to the RPC interface and bitcoin-cli for multi-wallet: When running Bitcoin Core with a single wallet, there are no changes to the RPC interface or bitcoin-cli. All RPC calls and bitcoin-cli commands continue to work as before. When running Bitcoin Core with multi-wallet, all node-level RPC methods continue to work as before. HTTP RPC requests should be send to the normal <RPC IP address>:<RPC port>/ endpoint, and bitcoin-cli commands should be run as before. A node-level RPC method is any method which does not require access to the wallet. When running Bitcoin Core with multi-wallet, wallet-level RPC methods must specify the wallet for which they’re intended in every request. HTTP RPC requests should be send to the <RPC IP address>:<RPC port>/wallet/<wallet name>/ endpoint, for example 127.0.0.1:8332/wallet/wallet1.dat/. bitcoin-cli commands should be run with a -rpcwallet option, for example bitcoin-cli -rpcwallet=wallet1.dat getbalance. A new node-level listwallets RPC method is added to display which wallets are currently loaded. The names returned by this method are the same as those used in the HTTP endpoint and for the rpcwallet argument. Note that while multi-wallet is now fully supported, the RPC multi-wallet interface should be considered unstable for version 0.15.0, and there may backwards-incompatible changes in future versions. Replace-by-fee control in the GUI Bitcoin Core has supported creating opt-in replace-by-fee (RBF) transactionssince version 0.12.0, and since version 0.14.0 has included a bumpfee RPC method toreplace unconfirmed opt-in RBF transactions with a new transaction that paysa higher fee. In version 0.15, creating an opt-in RBF transaction and replacing the unconfirmedtransaction with a higher-fee transaction are both supported in the GUI (See PR 9592). Removal of Coin Age Priority In previous versions of Bitcoin Core, a portion of each block could be reserved for transactions based on the age and value of UTXOs they spent. This concept (Coin Age Priority) is a policy choice by miners, and there are no consensus rules around the inclusion of Coin Age Priority transactions in blocks. In practice, only a few miners continue to use Coin Age Priority for transaction selection in blocks. Bitcoin Core 0.15 removes all remaining support for Coin Age Priority (See PR 9602). This has the following implications: The concept of free transactions has been removed. High Coin Age Priority transactions would previously be allowed to be relayed even if they didn’t attach a miner fee. This is no longer possible since there is no concept of Coin Age Priority. The -limitfreerelay and -relaypriority options which controlled relay of free transactions have therefore been removed. The -sendfreetransactions option has been removed, since almost all miners do not include transactions which do not attach a transaction fee. The -blockprioritysize option has been removed. The estimatepriority and estimatesmartpriority RPCs have been removed. The getmempoolancestors, getmempooldescendants, getmempoolentry and getrawmempool RPCs no longer return startingpriority and currentpriority. The prioritisetransaction RPC no longer takes a priority_delta argument, which is replaced by a dummy argument for backwards compatibility with clients using positional arguments. The RPC is still used to change the apparent fee-rate of the transaction by using the fee_delta argument. -minrelaytxfee can now be set to 0. If minrelaytxfee is set, then fees smaller than minrelaytxfee (per kB) are rejected from relaying, mining and transaction creation. This defaults to 1000 satoshi/kB. The -printpriority option has been updated to only output the fee rate and hash of transactions included in a block by the mining code. Mempool Persistence Across Restarts Version 0.14 introduced mempool persistence across restarts (the mempool is saved to a mempool.dat file in the data directory prior to shutdown and restores the mempool when the node is restarted). Version 0.15 allows this feature to be switched on or off using the -persistmempool command-line option (See PR 9966). By default, the option is set to true, and the mempool is saved on shutdown and reloaded on startup. If set to false, the mempool.dat file will not be loaded on startup or saved on shutdown. New RPC methods Version 0.15 introduces several new RPC methods: abortrescan stops current wallet rescan, e.g. when triggered by an importprivkey call (See PR 10208). combinerawtransaction accepts a JSON array of raw transactions and combines them into a single raw transaction (See PR 10571). estimaterawfee returns raw fee data so that customized logic can be implemented to analyze the data and calculate estimates. See Fee Estimation Improvements for full details on changes to the fee estimation logic and interface. getchaintxstats returns statistics about the total number and rate of transactionsin the chain (See PR 9733). listwallets lists wallets which are currently loaded. See the Multi-wallet sectionof these release notes for full details (See Multi-wallet support). uptime returns the total runtime of the bitcoind server since its last start (See PR 10400). Low-level RPC changes When using Bitcoin Core in multi-wallet mode, RPC requests for wallet methods must specifythe wallet that they’re intended for. See Multi-wallet support for full details. The new database model no longer stores information about transactionversions of unspent outputs (See Performance improvements). This means that: The gettxout RPC no longer has a version field in the response. The gettxoutsetinfo RPC reports hash_serialized_2 instead of hash_serialized,which does not commit to the transaction versions of unspent outputs, but doescommit to the height and coinbase information. The getutxos REST path no longer reports the txvers field in JSON format,and always reports 0 for transaction versions in the binary format The estimatefee RPC is deprecated. Clients should switch to using the estimatesmartfee RPC, which returns better fee estimates. See Fee Estimation Improvements for full details on changes to the fee estimation logic and interface. The gettxoutsetinfo response now contains disk_size and bogosize instead ofbytes_serialized. The first is a more accurate estimate of actual disk usage, butis not deterministic. The second is unrelated to disk usage, but is adatabase-independent metric of UTXO set size: it counts every UTXO entry as 50 + thelength of its scriptPubKey (See PR 10426). signrawtransaction can no longer be used to combine multiple transactions into a single transaction. Instead, use the new combinerawtransaction RPC (See PR 10571). fundrawtransaction no longer accepts a reserveChangeKey option. This option used to allow RPC users to fund a raw transaction using an key from the keypool for the change address without removing it from the available keys in the keypool. The key could then be re-used for a getnewaddress call, which could potentially result in confusing or dangerous behaviour (See PR 10784). estimatepriority and estimatesmartpriority have been removed. See Removal of Coin Age Priority. The listunspent RPC now takes a query_options argument (see PR 8952), which is a JSON objectcontaining one or more of the following members: minimumAmount - a number specifying the minimum value of each UTXO maximumAmount - a number specifying the maximum value of each UTXO maximumCount - a number specifying the minimum number of UTXOs minimumSumAmount - a number specifying the minimum sum value of all UTXOs The getmempoolancestors, getmempooldescendants, getmempoolentry and getrawmempool RPCs no longer return startingpriority and currentpriority. See Removal of Coin Age Priority. The dumpwallet RPC now returns the full absolute path to the dumped wallet. Itused to return no value, even if successful (See PR 9740). In the getpeerinfo RPC, the return object for each peer now returns an addrbind member, which contains the ip address and port of the connection to the peer. This is in addition to the addrlocal member which contains the ip address and port of the local node as reported by the peer (See PR 10478). The disconnectnode RPC can now disconnect a node specified by node ID (as well as by IP address/port). To disconnect a node based on node ID, call the RPC with the new nodeid argument (See PR 10143). The second argument in prioritisetransaction has been renamed from priority_delta to dummy since Bitcoin Core no longer has a concept of coin age priority. The dummy argument has no functional effect, but is retained for positional argument compatibility. See Removal of Coin Age Priority. The resendwallettransactions RPC throws an error if the -walletbroadcast option is set to false (See PR 10995). The second argument in the submitblock RPC argument has been renamed from parameters to dummy. This argument never had any effect, and the renaming is simply to communicate this fact to the user (See PR 10191)(Clients should, however, use positional arguments for submitblock in order to be compatible with BIP 22.) The verbose argument of getblock has been renamed to verbosity and now takes an integer from 0 to 2. Verbose level 0 is equivalent to verbose=false. Verbose level 1 is equivalent to verbose=true. Verbose level 2 will give the full transaction details of each transaction in the output as given by getrawtransaction. The old behavior of using the verbose named argument and a boolean value is still maintained for compatibility. Error codes have been updated to be more accurate for the following error cases (See PR 9853): getblock now returns RPC_MISC_ERROR if the block can’t be found on disk (forexample if the block has been pruned). Previously returned RPC_INTERNAL_ERROR. pruneblockchain now returns RPC_MISC_ERROR if the blocks cannot be prunedbecause the node is not in pruned mode. Previously returned RPC_METHOD_NOT_FOUND. pruneblockchain now returns RPC_INVALID_PARAMETER if the blocks cannot be prunedbecause the supplied timestamp is too late. Previously returned RPC_INTERNAL_ERROR. pruneblockchain now returns RPC_MISC_ERROR if the blocks cannot be prunedbecause the blockchain is too short. Previously returned RPC_INTERNAL_ERROR. setban now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the supplied IP addressor subnet is invalid. Previously returned RPC_CLIENT_NODE_ALREADY_ADDED. setban now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the user tries to unbana node that has not previously been banned. Previously returned RPC_MISC_ERROR. removeprunedfunds now returns RPC_WALLET_ERROR if bitcoind is unable to removethe transaction. Previously returned RPC_INTERNAL_ERROR. removeprunedfunds now returns RPC_INVALID_PARAMETER if the transaction does notexist in the wallet. Previously returned RPC_INTERNAL_ERROR. fundrawtransaction now returns RPC_INVALID_ADDRESS_OR_KEY if an invalid changeaddress is provided. Previously returned RPC_INVALID_PARAMETER. fundrawtransaction now returns RPC_WALLET_ERROR if bitcoind is unable to createthe transaction. The error message provides further details. Previously returnedRPC_INTERNAL_ERROR. bumpfee now returns RPC_INVALID_PARAMETER if the provided transaction hasdescendants in the wallet. Previously returned RPC_MISC_ERROR. bumpfee now returns RPC_INVALID_PARAMETER if the provided transaction hasdescendants in the mempool. Previously returned RPC_MISC_ERROR. bumpfee now returns RPC_WALLET_ERROR if the provided transaction hashas been mined or conflicts with a mined transaction. Previously returnedRPC_INVALID_ADDRESS_OR_KEY. bumpfee now returns RPC_WALLET_ERROR if the provided transaction is notBIP 125 replaceable. Previously returned RPC_INVALID_ADDRESS_OR_KEY. bumpfee now returns RPC_WALLET_ERROR if the provided transaction has alreadybeen bumped by a different transaction. Previously returned RPC_INVALID_REQUEST. bumpfee now returns RPC_WALLET_ERROR if the provided transaction containsinputs which don’t belong to this wallet. Previously returned RPC_INVALID_ADDRESS_OR_KEY. bumpfee now returns RPC_WALLET_ERROR if the provided transaction has multiple changeoutputs. Previously returned RPC_MISC_ERROR. bumpfee now returns RPC_WALLET_ERROR if the provided transaction has no changeoutput. Previously returned RPC_MISC_ERROR. bumpfee now returns RPC_WALLET_ERROR if the fee is too high. Previously returnedRPC_MISC_ERROR. bumpfee now returns RPC_WALLET_ERROR if the fee is too low. Previously returnedRPC_MISC_ERROR. bumpfee now returns RPC_WALLET_ERROR if the change output is too small to bump thefee. Previously returned RPC_MISC_ERROR. 0.15.0 Change log RPC and other APIs #9485 61a640e ZMQ example using python3 and asyncio (mcelrath) #9894 0496e15 remove ‘label’ filter for rpc command help (instagibbs) #9853 02bd6e9 Fix error codes from various RPCs (jnewbery) #9842 598ef9c Fix RPC failure testing (continuation of #9707) (jnewbery) #10038 d34995a Add mallocinfo mode to getmemoryinfo RPC (laanwj) #9500 3568b30 [Qt/RPC] Autocomplete commands for ‘help’ command in debug console (achow101) #10056 e6156a0 [zmq] Call va_end() on va_start()ed args (kallewoof) #10086 7438cea Trivial: move rpcserialversion into RPC option group (jlopp) #10150 350b224 [rpc] Add logging rpc (jnewbery) #10208 393160c [wallet] Rescan abortability (kallewoof) #10143 a987def [net] Allow disconnectnode RPC to be called with node id (jnewbery) #10281 0e8499c doc: Add RPC interface guidelines (laanwj) #9733 d4732f3 Add getchaintxstats RPC (sipa) #10310 f4b15e2 [doc] Add hint about getmempoolentry to getrawmempool help (kallewoof) #8704 96c850c [RPC] Transaction details in getblock (achow101) #8952 9390845 Add query options to listunspent RPC call (pedrobranco) #10413 08ac35a Fix docs (there’s no rpc command setpaytxfee) (RHavar) #8384 e317c0d Add witness data output to TxInError messages (instagibbs) #9571 4677151 RPC: getblockchaininfo returns BIP signaling statistics (pinheadmz) #10450 ef2d062 Fix bumpfee rpc “errors” return value (ryanofsky) #10475 39039b1 [RPC] getmempoolinfo mempoolminfee is a BTC/KB feerate (instagibbs) #10478 296928e rpc: Add listen address to incoming connections in getpeerinfo (laanwj) #10403 08d0390 Fix importmulti failure to return rescan errors (ryanofsky) #9740 9fec4da Add friendly output to dumpwallet (aideca) #10426 16f6c98 Replace bytes_serialized with bogosize (sipa) #10252 980deaf RPC/Mining: Restore API compatibility for prioritisetransaction (luke-jr) #9672 46311e7 Opt-into-RBF for RPC & bitcoin-tx (luke-jr) #10481 9c248e3 Decodehextx scripts sanity check (achow101) #10488 fa1f106 Note that the prioritizetransaction dummy value is deprecated, and has no meaning (TheBlueMatt) #9738 c94b89e gettxoutproof() should return consistent result (jnewbery) #10191 00350bd [trivial] Rename unused RPC arguments ‘dummy’ (jnewbery) #10627 b62b4c8 fixed listunspent rpc convert parameter (tnakagawa) #10412 bef02fb Improve wallet rescan API (ryanofsky) #10400 1680ee0 [RPC] Add an uptime command that displays the amount of time (in seconds) bitcoind has been running (rvelhote) #10683 d81bec7 rpc: Move the generate RPC call to rpcwallet (laanwj) #10710 30bc0f6 REST/RPC example update (Mirobit) #10747 9edda0c [rpc] fix verbose argument for getblock in bitcoin-cli (jnewbery) #10589 104f5f2 More economical fee estimates for RBF and RPC options to control (morcos) #10543 b27b004 Change API to estimaterawfee (morcos) #10807 afd2fca getbalance example covers at least 6 confirms (instagibbs) #10707 75b5643 Better API for estimatesmartfee RPC (morcos) #10784 9e8d6a3 Do not allow users to get keys from keypool without reserving them (TheBlueMatt) #10857 d445a2c [RPC] Add a deprecation warning to getinfo’s output (achow101) #10571 adf170d [RPC]Move transaction combining from signrawtransaction to new RPC (achow101) #10783 041dad9 [RPC] Various rpc argument fixes (instagibbs) #9622 6ef3c7e [rpc] listsinceblock should include lost transactions when parameter is a reorg’d block (kallewoof) #10799 8537187 Prevent user from specifying conflicting parameters to fundrawtx (TheBlueMatt) #10931 0b11a07 Fix misleading “Method not found” multiwallet errors (ryanofsky) #10788 f66c596 [RPC] Fix addwitnessaddress by replacing ismine with producesignature (achow101) #10999 627c3c0 Fix amounts formatting in decoderawtransaction (laanwj) #11002 4268426 [wallet] return correct error code from resendwallettransaction (jnewbery) #11029 96a63a3 [RPC] trivial: gettxout no longer shows version of tx (FelixWeis) #11083 6c2b008 Fix combinerawtransaction RPC help result section (jonasnick) #11027 07164bb [RPC] Only return hex field once in getrawtransaction (achow101) #10698 5af6572 Be consistent in calling transactions “replaceable” for Opt-In RBF (TheBlueMatt) Block and transaction handling #9801 a8c5751 Removed redundant parameter from mempool.PrioritiseTransaction (gubatron) #9819 1efc99c Remove harmless read of unusued priority estimates (morcos) #9822 b7547fa Remove block file location upgrade code (benma) #9602 30ff3a2 Remove coin age priority and free transactions - implementation (morcos) #9548 47510ad Remove min reasonable fee (morcos) #10249 c73af54 Switch CCoinsMap from boost to std unordered_map (sipa) #9966 2a183de Control mempool persistence using a command line parameter (jnewbery) #10199 318ea50 Better fee estimates (morcos) #10196 bee3529 Bugfix: PrioritiseTransaction updates the mempool tx counter (sdaftuar) #10195 1088b02 Switch chainstate db and cache to per-txout model (sipa) #10284 c2ab38b Always log debug information for fee calculation in CreateTransaction (morcos) #10503 efbcf2b Use REJECT_DUPLICATE for already known and conflicted txn (sipa) #10537 b3eb0d6 Few Minor per-utxo assert-semantics re-adds and tweak (TheBlueMatt) #10626 8c841a3 doc: Remove outdated minrelaytxfee comment (MarcoFalke) #10559 234ffc6 Change semantics of HaveCoinInCache to match HaveCoin (morcos) #10581 7878353 Simplify return values of GetCoin/HaveCoin(InCache) (sipa) #10684 a381f6a Remove no longer used mempool.exists(outpoint) (morcos) #10148 d4e551a Use non-atomic flushing with block replay (sipa) #10685 30c2130 Clarify CCoinsViewMemPool documentation (TheBlueMatt) #10558 90a002e Address nits from per-utxo change (morcos) #10706 6859ad2 Improve wallet fee logic and fix GUI bugs (morcos) #10526 754aa02 Force on-the-fly compaction during pertxout upgrade (sipa) #10985 d896d5c Add undocumented -forcecompactdb to force LevelDB compactions (sipa) #10292 e4bbd3d Improved efficiency in COutPoint constructors (mm-s) #10290 8d6d43e Add -stopatheight for benchmarking (sipa) P2P protocol and network code #9726 7639d38 netbase: Do not print an error on connection timeouts through proxy (laanwj) #9805 5b583ef Add seed.btc.petertodd.org to mainnet DNS seeds (petertodd) #9861 22f609f Trivial: Debug log ambiguity fix for peer addrs (keystrike) #9774 90cb2a2 Enable host lookups for -proxy and -onion parameters (jmcorgan) #9558 7b585cf Clarify assumptions made about when BlockCheck is called (TheBlueMatt) #10135 e19586a [p2p] Send the correct error code in reject messages (jnewbery) #9665 eab00d9 Use cached [compact] blocks to respond to getdata messages (TheBlueMatt) #10215 a077a90 Check interruptNet during dnsseed lookups (TheBlueMatt) #10234 faf2dea [net] listbanned RPC and QT should show correct banned subnets (jnewbery) #10134 314ebdf [qa] Fixes segwit block relay test after inv-direct-fetch was disabled (sdaftuar) #10351 3f57c55 removed unused code in INV message (Greg-Griffith) #10061 ae78609 [net] Added SetSocketNoDelay() utility function (tjps) #10408 28c6e8d Net: Improvements to Tor control port parser (str4d) #10460 5c63d66 Broadcast address every day, not 9 hours (sipa) #10471 400fdd0 Denote functions CNode::GetRecvVersion() and CNode::GetRefCount() as const (pavlosantoniou) #10345 67700b3 [P2P] Timeout for headers sync (sdaftuar) #10564 8d9f45e Return early in IsBanned (gmaxwell) #10587 de8db47 Net: Fix resource leak in ReadBinaryFile(…) (practicalswift) #9549 b33ca14 [net] Avoid possibility of NULL pointer dereference in MarkBlockAsInFlight(…) (practicalswift) #10446 2772dc9 net: avoid extra dns query per seed (theuni) #10824 9dd6a2b Avoid unnecessary work in SetNetworkActive (promag) #10948 df3a6f4 p2p: Hardcoded seeds update pre-0.15 branch (laanwj) #10977 02f4c4a [net] Fix use of uninitialized value in getnetworkinfo(const JSONRPCRequest&) (practicalswift) #10982 c8b62c7 Disconnect network service bits 6 and 8 until Aug 1, 2018 (TheBlueMatt) #11012 0e5cff6 Make sure to clean up mapBlockSource if we’ve already seen the block (theuni) Validation #9725 67023e9 CValidationInterface Cleanups (TheBlueMatt) #10178 2584925 Remove CValidationInterface::UpdatedTransaction (TheBlueMatt) #10201 a6548a4 pass Consensus::Params& to functions in validation.cpp and make them static (mariodian) #10297 431a548 Simplify DisconnectBlock arguments/return value (sipa) #10464 f94b7d5 Introduce static DoWarning (simplify UpdateTip) (jtimon) #10569 2e7d8f8 Fix stopatheight (achow101) #10192 2935b46 Cache full script execution results in addition to signatures (TheBlueMatt) #10179 21ed30a Give CValidationInterface Support for calling notifications on the CScheduler Thread (TheBlueMatt) #10557 66270a4 Make check to distinguish between orphan txs and old txs more efficient (morcos) #10775 7c2400c nCheckDepth chain height fix (romanornr) #10821 16240f4 Add SSE4 optimized SHA256 (sipa) #10854 04d395e Avoid using sizes on non-fixed-width types to derive protocol constants (gmaxwell) #10945 2a50b11 Update defaultAssumeValid according to release-process.md (gmaxwell) #10986 2361208 Update chain transaction statistics (sipa) #11028 6bdf4b3 Avoid masking of difficulty adjustment errors by checkpoints (sipa) #9533 cb598cf Allow non-power-of-2 signature cache sizes (sipa) #9208 acd9957 Improve DisconnectTip performance (sdaftuar) #10618 f90603a Remove confusing MAX_BLOCK_BASE_SIZE (gmaxwell) #10758 bd92424 Fix some chainstate-init-order bugs (TheBlueMatt) #10550 b7296bc Don’t return stale data from CCoinsViewCache::Cursor() (ryanofsky) #10998 2507fd5 Fix upgrade cancel warnings (TheBlueMatt) #9868 cbdb473 Abstract out the command line options for block assembly (sipa) Build system #9727 5f0556d Remove fallbacks for boost_filesystem < v3 (laanwj) #9788 50a2265 gitian: bump descriptors for master (theuni) #9794 7ca2f54 Minor update to qrencode package builder (mitchellcash) #9514 2cc0df1 release: Windows signing script (theuni) #9921 8b789d8 build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL (laanwj) #10011 32d1b34 build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT (laanwj) #9946 90dd9e6 Fix build errors if spaces in path or parent directory (pinheadmz) #10136 81da4c7 build: Disable Wshadow warning (laanwj) #10166 64962ae Ignore Doxyfile generated from Doxyfile.in template (paveljanik) #10239 0416ea9 Make Boost use std::atomic internally (sipa) #10228 27faa6c build: regenerate bitcoin-config.h as necessary (theuni) #10273 8979f45 [scripts] Minor improvements to macdeployqtplus script (chrisgavin) #10325 a26280b 0.15.0 Depends Updates (fanquake) #10328 79aeff6 Update contrib/debian to latest Ubuntu PPA upload (TheBlueMatt) #7522 d25449f Bugfix: Only use git for build info if the repository is actually the right one (luke-jr) #10489 e654d61 build: silence gcc7’s implicit fallthrough warning (theuni) #10549 ad1a13e Avoid printing generic and duplicated “checking for QT” during ./configure (drizzt) #10628 8465b68 [depends] expat 2.2.1 (fanquake) #10806 db825d2 build: verify that the assembler can handle crc32 functions (theuni) #10766 b4d03be Building Environment: Set ARFLAGS to cr (ReneNyffenegger) #10803 91edda8 Explicitly search for bdb5.3 (pstratem) #10855 81560b0 random: only use getentropy on openbsd (theuni) #10508 1caafa6 Run Qt wallet tests on travis (ryanofsky) #10851 e222618 depends: fix fontconfig with newer glibc (theuni) #10971 88b1e4b build: fix missing sse42 in depends builds (theuni) #11097 129b03f gitian: quick hack to fix version string in releases (theuni) #10039 919aaf6 Fix compile errors with Qt 5.3.2 and Boost 1.55.0 (ryanofsky) #10168 7032021 Fix build warning from #error text (jnewbery) #10301 318392c Check if sys/random.h is required for getentropy (jameshilliard) GUI #9724 1a9fd5c Qt/Intro: Add explanation of IBD process (luke-jr) #9834 b00ba62 qt: clean up initialize/shutdown signals (benma) #9481 ce01e62 [Qt] Show more significant warning if we fall back to the default fee (jonasschnelli) #9974 b9f930b Add basic Qt wallet test (ryanofsky) #9690 a387d3a Change ‘Clear’ button string to ‘Reset’ (da2x) #9592 9c7b7cf [Qt] Add checkbox in the GUI to opt-in to RBF when creating a transaction (ryanofsky) #10098 2b477e6 Make qt wallet test compatible with qt4 (ryanofsky) #9890 1fa4ae6 Add a button to open the config file in a text editor (ericshawlinux) #10156 51833a1 Fix for issues with startup and multiple monitors on windows (AllanDoensen) #10177 de01da7 Changed “Send” button default status from true to false (KibbledJiveElkZoo) #10221 e96486c Stop treating coinbase outputs differently in GUI: show them at 1conf (TheBlueMatt) #10231 987a6c0 [Qt] Reduce a significant cs_main lock freeze (jonasschnelli) #10242 f6f3b58 [qt] Don’t call method on null WalletModel object (ryanofsky) #10093 a3e756b [Qt] Don’t add arguments of sensitive command to console window (jonasschnelli) #10362 95546c8 [GUI] Add OSX keystroke to RPCConsole info (spencerlievens) #9697 962cd3f [Qt] simple fee bumper with user verification (jonasschnelli) #10390 e477516 [wallet] remove minimum total fee option (instagibbs) #10420 4314544 Add Qt tests for wallet spends & bumpfee (ryanofsky) #10454 c1c9a95 Fix broken q4 test build (ryanofsky) #10449 64beb13 Overhaul Qt fee bumper (jonasschnelli) #10582 7c72fb9 Pass in smart fee slider value to coin control dialog (morcos) #10673 4c72cc3 [qt] Avoid potential null pointer dereference in TransactionView::exportClicked() (practicalswift) #10769 8fdd23a [Qt] replace fee slider with a Dropdown, extend conf. targets (jonasschnelli) #10870 412b466 [Qt] Use wallet 0 in rpc console if running with multiple wallets (jonasschnelli) #10988 a9dd111 qt: Increase BLOCK_CHAIN_SIZE constants (laanwj) #10644 e292140 Slightly overhaul NSI pixmaps (jonasschnelli) #10660 0c3542e Allow to cancel the txdb upgrade via splashscreen keypress ‘q’ (jonasschnelli) #11332 46c8d23 Fix possible crash with invalid nCustomFeeRadio in QSettings (achow101, TheBlueMatt) Wallet #9359 f7ec7cf Add test for CWalletTx::GetImmatureCredit() returning stale values (ryanofsky) #9576 56ab672 [wallet] Remove redundant initialization (practicalswift) #9333 fa625b0 Document CWalletTx::mapValue entries and remove erase of nonexistent “version” entry (ryanofsky) #9906 72fb515 Disallow copy constructor CReserveKeys (instagibbs) #9369 3178b2c Factor out CWallet::nTimeSmart computation into a method (ryanofsky) #9830 afcd7c0 Add safe flag to listunspent result (NicolasDorier) #9993 c49355c Initialize nRelockTime (pstratem) #9818 3d857f3 Save watch only key timestamps when reimporting keys (ryanofsky) #9294 f34cdcb Use internal HD chain for change outputs (hd split) (jonasschnelli) #10164 e183ea2 Wallet: reduce excess logic InMempool() (kewde) #10186 c9ff4f8 Remove SYNC_TRANSACTION_NOT_IN_BLOCK magic number (jnewbery) #10226 64c45aa wallet: Use boost to more portably ensure -wallet specifies only a filename (luke-jr) #9827 c91ca0a Improve ScanForWalletTransactions return value (ryanofsky) #9951 fa1ac28 Wallet database handling abstractions/simplifications (laanwj) #10265 c29a0d4 [wallet/moveonly] Check non-null pindex before potentially referencing (kallewoof) #10283 a550f6e Cleanup: reduce to one GetMinimumFee call signature (morcos) #10294 e2b99b1 [Wallet] unset change position when there is no change (instagibbs) #10115 d3dce0e Avoid reading the old hd master key during wallet encryption (TheBlueMatt) #10341 18c9deb rpc/wallet: Workaround older UniValue which returns a std::string temporary for get_str (luke-jr) #10308 94e5227 [wallet] Securely erase potentially sensitive keys/values (tjps) #10257 ea1fd43 [test] Add test for getmemoryinfo (jimmysong) #10295 ce8176d [qt] Move some WalletModel functions into CWallet (ryanofsky) #10506 7cc2c67 Fix bumpfee test after #10449 (ryanofsky) #10500 098b01d Avoid CWalletTx copies in GetAddressBalances and GetAddressGroupings (ryanofsky) #10455 0747d33 Simplify feebumper minimum fee code slightly (ryanofsky) #10522 2805d60 [wallet] Remove unused variables (practicalswift) #8694 177433a Basic multiwallet support (luke-jr) #10598 7a74f88 Supress struct/class mismatch warnings introduced in #10284 (paveljanik) #9343 209eef6 Don’t create change at dust limit (morcos) #10744 ed88e31 Use method name via func macro (darksh1ne) #10712 e8b9523 Add change output if necessary to reduce excess fee (morcos) #10816 1c011ff Properly forbid -salvagewallet and -zapwallettxes for multi wallet (morcos) #10235 5cfdda2 Track keypool entries as internal vs external in memory (TheBlueMatt) #10330 bf0a08b [wallet] fix zapwallettxes interaction with persistent mempool (jnewbery) #10831 0b01935 Batch flushing operations to the walletdb during top up and increase keypool size (gmaxwell) #10795 7b6e8bc No longer ever reuse keypool indexes (TheBlueMatt) #10849 bde4f93 Multiwallet: simplest endpoint support (jonasschnelli) #10817 9022aa3 Redefine Dust and add a discard_rate (morcos) #10883 bf3b742 Rename -usewallet to -rpcwallet (morcos) #10604 420238d [wallet/tests] Add listwallets RPC, include wallet name in getwalletinfo and add multiwallet test (jnewbery) #10885 70888a3 Reject invalid wallets (promag) #10949 af56397 Clarify help message for -discardfee (morcos) #10942 2e857bb Eliminate fee overpaying edge case when subtracting fee from recipients (morcos) #10995 fa64636 Fix resendwallettransactions assert failure if -walletbroadcast=0 (TheBlueMatt) #11022 653a46d Basic keypool topup (jnewbery) #11081 9fe1f6b Add length check for CExtKey deserialization (jonasschnelli, guidovranken) #11044 4ef8374 [wallet] Keypool topup cleanups (jnewbery) #11145 e51bb71 Fix rounding bug in calculation of minimum change (morcos) #9605 779f2f9 Use CScheduler for wallet flushing, remove ThreadFlushWalletDB (TheBlueMatt) #10108 4e3efd4 ApproximateBestSubset should take inputs by reference, not value (RHavar) Tests and QA #9744 8efd1c8 Remove unused module from rpc-tests (34ro) #9657 7ff4a53 Improve rpc-tests.py (jnewbery) #9766 7146d96 Add –exclude option to rpc-tests.py (jnewbery) #9577 d6064a8 Fix docstrings in qa tests (jnewbery) #9823 a13a417 qa: Set correct path for binaries in rpc tests (MarcoFalke) #9847 6206252 Extra test vector for BIP32 (sipa) #9350 88c2ae3 [Trivial] Adding label for amount inside of tx_valid/tx_invalid.json (Christewart) #9888 36afd4d travis: Verify commits only for one target (MarcoFalke) #9904 58861ad test: Fail if InitBlockIndex fails (laanwj) #9828 67c5cc1 Avoid -Wshadow warnings in wallet_tests (ryanofsky) #9832 48c3429 [qa] assert_start_raises_init_error (NicolasDorier) #9739 9d5fcbf Fix BIP68 activation test (jnewbery) #9547 d32581c bench: Assert that division by zero is unreachable (practicalswift) #9843 c78adbf Fix segwit getblocktemplate test (jnewbery) #9929 d5ce14e tests: Delete unused function _rpchost_to_args (laanwj) #9555 19be26a [test] Avoid reading a potentially uninitialized variable in tx_invalid-test (transaction_tests.cpp) (practicalswift) #9945 ac23a7c Improve logging in bctest.py if there is a formatting mismatch (jnewbery) #9768 8910b47 [qa] Add logging to test_framework.py (jnewbery) #9972 21833f9 Fix extended rpc tests broken by #9768 (jnewbery) #9977 857d1e1 QA: getblocktemplate_longpoll.py should always use >0 fee tx (sdaftuar) #9970 3cc13ea Improve readability of segwit.py, smartfees.py (sdaftuar) #9497 2c781fb CCheckQueue Unit Tests (JeremyRubin) #10024 9225de2 [trivial] Use log.info() instead of print() in remaining functional test cases (jnewbery) #9956 3192e52 Reorganise qa directory (jnewbery) #10017 02d64bd combine_logs.py - aggregates log files from multiple bitcoinds during functional tests (jnewbery) #10047 dfef6b6 [tests] Remove unused variables and imports (practicalswift) #9701 a230b05 Make bumpfee tests less fragile (ryanofsky) #10053 ca20923 [test] Allow functional test cases to be skipped (jnewbery) #10052 a0b1e57 [test] Run extended tests once daily in Travis (jnewbery) #10069 1118493 [QA] Fix typo in fundrawtransaction test (NicolasDorier) #10083 c044f03 [QA] Renaming rawTx into rawtx (NicolasDorier) #10073 b1a4f27 Actually run assumevalid.py (jnewbery) #9780 c412fd8 Suppress noisy output from qa tests in Travis (jnewbery) #10096 79af9fb Check that all test scripts in test/functional are being run (jnewbery) #10076 5b029aa [qa] combine_logs: Use ordered list for logfiles (MarcoFalke) #10107 f2734c2 Remove unused variable. Remove accidental trailing semicolons in Python code (practicalswift) #10109 8ac8041 Remove SingleNodeConnCB (jnewbery) #10114 edc62c9 [tests] sync_with_ping should assert that ping hasn’t timed out (jnewbery) #10128 427d2fd Speed Up CuckooCache tests (JeremyRubin) #10072 12af74b Remove sources of unreliablility in extended functional tests (jnewbery) #10077 ebfd653 [qa] Add setnetworkactive smoke test (MarcoFalke) #10152 080d7c7 [trivial] remove unused line in Travis config (jnewbery) #10159 df1ca9e [tests] color test results and sort alphabetically (jnewbery) #10124 88799ea [test] Suppress test logging spam (jnewbery) #10142 ed09dd3 Run bitcoin_test-qt under minimal QPA platform (ryanofsky) #9949 a27dbc5 [bench] Avoid function call arguments which are pointers to uninitialized values (practicalswift) #10187 b44adf9 tests: Fix test_runner return value in case of skipped test (laanwj) #10197 d86bb07 [tests] Functional test warnings (jnewbery) #10219 9111df9 Tests: Order Python Tests Differently (jimmysong) #10229 f3db4c6 Tests: Add test for getdifficulty (jimmysong) #10224 2723bcd [test] Add test for getaddednodeinfo (jimmysong) #10023 c530c15 [tests] remove maxblocksinflight.py (functionality covered by other test) (jnewbery) #10097 1b25b6d Move zmq test skipping logic into individual test case (jnewbery) #10272 54e2d87 [Tests] Prevent warning: variable ‘x’ is uninitialized (paveljanik) #10225 e0a7e19 [test] Add aborttrescan tests (kallewoof) #10278 8254a8a [test] Add Unit Test for GetListenPort (jimmysong) #10280 47535d7 [test] Unit test amount.h/amount.cpp (jimmysong) #10256 80c3a73 [test] Add test for gettxout to wallet.py (jimmysong) #10264 492d22f [test] Add tests for getconnectioncount, getnettotals and ping (jimmysong) #10169 8f3e384 [tests] Remove func test code duplication (jnewbery) #10198 dc8fc0c [tests] Remove is_network_split from functional test framework (jnewbery) #10255 3c5e6c9 [test] Add test for listaddressgroupings (jimmysong) #10137 75171f0 Remove unused import. Remove accidental trailing semicolons (practicalswift) #10307 83073de [tests] allow zmq test to be run in out-of-tree builds (jnewbery) #10344 e927483 [tests] Fix abandonconflict.py intermittency (jnewbery) #10318 170bc2c [tests] fix wait_for_inv() (jnewbery) #10171 fff72de [tests] Add node methods to test framework (jnewbery) #10352 23d78c4 test: Add elapsed time to RPC tracing (laanwj) #10342 6a796b2 [tests] Improve mempool_persist test (jnewbery) #10287 776ba23 [tests] Update Unit Test for addrman.h/addrman.cpp (jimmysong) #10365 7ee5236 [tests] increase timeouts in sendheaders test (jnewbery) #10361 f6241b3 qa: disablewallet: Check that wallet is really disabled (MarcoFalke) #10371 4b766fc [tests] Clean up addrman_tests.cpp (jimmysong) #10253 87abe20 [test] Add test for getnetworkhashps (jimmysong) #10376 8bd16ee [tests] fix disconnect_ban intermittency (jnewbery) #10374 5411997 qa: Warn when specified test is not found (MarcoFalke) #10405 0542978 tests: Correct testcase in script_tests.json for large number OP_EQUAL (laanwj) #10429 6b99daf tests: fix spurious addrman test failure (theuni) #10433 8e57256 [tests] improve tmpdir structure (jnewbery) #10415 217b416 [tests] Speed up fuzzing by ~200x when using afl-fuzz (practicalswift) #10445 b4b057a Add test for empty chain and reorg consistency for gettxoutsetinfo (gmaxwell) #10423 1aefc94 [tests] skipped tests should clean up after themselves (jnewbery) #10359 329fc1d [tests] functional tests should call BitcoinTestFramework start/stop node methods (jnewbery) #10514 e103b3f Bugfix: missing == 0 after randrange (sipa) #10515 c871f32 [test] Add test for getchaintxstats (jimmysong) #10509 bea5b00 Remove xvfb configuration from travis (ryanofsky) #10535 30853e1 [qa] fundrawtx: Fix shutdown race (MarcoFalke) #9909 300f8e7 tests: Add FindEarliestAtLeast test for edge cases (ryanofsky) #10331 75e898c Share config between util and functional tests (jnewbery) #10321 e801084 Use FastRandomContext for all tests (sipa) #10524 6c2d81f [tests] Remove printf(…) (practicalswift) #10547 71ab6e5 [tests] Use FastRandomContext instead of boost::random::{mt19937,uniform_int_distribution} (practicalswift) #10551 6702617 [Tests] Wallet encryption functional tests (achow101) #10555 643fa0b [tests] various improvements to zmq_test.py (jnewbery) #10533 d083bd9 [tests] Use cookie auth instead of rpcuser and rpcpassword (achow101) #10632 c68a9a6 qa: Add stopatheight test (MarcoFalke) #10636 4bc853b [qa] util: Check return code after closing bitcoind proc (MarcoFalke) #10662 e0a7801 Initialize randomness in benchmarks (achow101) #10612 7c87a9c The young person’s guide to the test_framework (jnewbery) #10659 acb1153 [qa] blockchain: Pass on closed connection during generate call (MarcoFalke) #10690 416af3e [qa] Bugfix: allow overriding extra_args in ComparisonTestFramework (sdaftuar) #10556 65cc7aa Move stop/start functions from utils.py into BitcoinTestFramework (jnewbery) #10704 dd07f47 [tests] nits in dbcrash.py (jnewbery) #10743 be82498 [test] don’t run dbcrash.py on Travis (jnewbery) #10761 d3b5870 [tests] fix replace_by_fee.py (jnewbery) #10759 1d4805c Fix multi_rpc test for hosts that dont default to utf8 (TheBlueMatt) #10190 e4f226a [tests] mining functional tests (including regression test for submitblock) (jnewbery) #10739 1fc783f test: Move variable state down where it is used (paveljanik) #9980 fee0d80 Fix mem access violation merkleblock (Christewart) #10893 0c173a1 [QA] Avoid running multiwallet.py twice (jonasschnelli) #10927 9d5e8f9 test: Make sure wallet.backup is created in temp path (laanwj) #10899 f29d5db [test] Qt: Use _putenv_s instead of setenv on Windows builds (brianmcmichael) #10912 5c8eb79 [tests] Fix incorrect memory_cleanse(…) call in crypto_tests.cpp (practicalswift) #11001 fa8a063 [tests] Test disconnecting unsupported service bits logic (jnewbery) #10695 929fd72 [qa] Rewrite BIP65/BIP66 functional tests (sdaftuar) #10963 ecd2135 [bench] Restore format state of cout after printing with std::fixed/setprecision (practicalswift) #11025 e5d26e4 qa: Fix inv race in example_test (MarcoFalke) #10765 2c811e0 Tests: address placement should be deterministic by default (ReneNyffenegger) #11000 ac016e1 test: Add resendwallettransactions functional tests (promag) #11032 aeb3175 [qa] Fix block message processing error in sendheaders.py (sdaftuar) #10105 0b9fb68 [tests] fixup - make all Travis test runs quiet, non just cron job runs (jnewbery) #10222 6ce7337 [tests] test_runner - check unicode (jnewbery) #10327 35da2ae [tests] remove import-abort-rescan.py (jnewbery) #11023 bf74d37 [tests] Add option to attach a python debugger if functional test fails (jnewbery) #10565 8c2098a [coverage] Remove subtrees and benchmarks from coverage report (achow101) Miscellaneous #9871 be8ba2c Add a tree sha512 hash to merge commits (sipa) #9821 d19d45a util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD (laanwj) #9903 ba80a68 Docs: add details to -rpcclienttimeout doc (ian-kelling) #9910 53c300f Docs: correct and elaborate -rpcbind doc (ian-kelling) #9905 01b7cda [contrib] gh-merge: Move second sha512 check to the end (MarcoFalke) #9880 4df8213 Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1 (TheBlueMatt) #9932 00c13ea Fix verify-commits on travis and always check top commit’s tree (TheBlueMatt) #9952 6996e06 Add historical release notes for 0.14.0 (laanwj) #9940 fa99663 Fix verify-commits on OSX, update for new bad Tree-SHA512, point travis to different keyservers (TheBlueMatt) #9963 8040ae6 util: Properly handle errors during log message formatting (laanwj) #9984 cce056d devtools: Make github-merge compute SHA512 from git, instead of worktree (laanwj) #9995 8bcf934 [doc] clarify blockchain size and pruning (askmike) #9734 0c17afc Add updating of chainTxData to release process (sipa) #10063 530fcbd add missing spaces so that markdown recognizes headline (flack) #10085 db1ae54 Docs: remove ‘noconnect’ option (jlopp) #10090 8e4f7e7 Update bitcoin.conf with example for pruning (coinables) #9424 1a5aaab Change LogAcceptCategory to use uint32_t rather than sets of strings (gmaxwell) #10036 fbf36ca Fix init README format to render correctly on github (jlopp) #10058 a2cd0b0 No need to use OpenSSL malloc/free (tjps) #10123 471ed00 Allow debug logs to be excluded from specified component (jnewbery) #10104 fadf078 linearize script: Option to use RPC cookie (achow101) #10162 a3a2160 [trivial] Log calls to getblocktemplate (jnewbery) #10155 928695b build: Deduplicate version numbers (laanwj) #10211 a86255b [doc] Contributor fixes & new “finding reviewers” section (kallewoof) #10250 1428f30 Fix some empty vector references (sipa) #10270 95f5e44 Remove Clang workaround for Boost 1.46 (fanquake) #10263 cb007e4 Trivial: fix fee estimate write error log message (CryptAxe) #9670 bd9ec0e contrib: github-merge improvements (laanwj) #10260 1d75597 [doc] Minor corrections to osx dependencies (fanquake) #10189 750c5a5 devtools/net: add a verifier for scriptable changes. Use it to make CNode::id private (theuni) #10322 bc64b5a Use hardware timestamps in RNG seeding (sipa) #10381 7f2b9e0 Shadowing warnings are not enabled by default, update doc accordingly (paveljanik) #10380 b6ee855 [doc] Removing comments about dirty entries on txmempool (madeo) #10383 d0c37ee [logging] log system time and mock time (jnewbery) #10404 b45a52a doc: Add logging to FinalizeNode() (sdaftuar) #10388 526e839 Output line to debug.log when IsInitialBlockDownload latches to false (morcos) #10372 15254e9 Add perf counter data to GetStrongRandBytes state in scheduler (TheBlueMatt) #10461 55b72f3 Update style guide (sipa) #10486 10e8c0a devtools: Retry after signing fails in github-merge (laanwj) #10447 f259263 Make bitcoind invalid argument error message specific (laanwj) #10495 6a38b79 contrib: Update location of seeds.txt (laanwj) #10469 b6b150b Fixing typo in rpcdump.cpp help message (keystrike) #10451 27b9931 contrib/init/bitcoind.openrcconf: Don’t disable wallet by default (luke-jr) #10323 00d3692 Update to latest libsecp256k1 master (sipa) #10422 cec9e1e Fix timestamp in fee estimate debug message (morcos) #10566 5d034ee [docs] Use the “domain name setup” image (previously unused) in the gitian docs (practicalswift) #10534 a514ac3 Clarify prevector::erase and avoid swap-to-clear (sipa) #10575 22ec768 Header include guideline (sipa) #10480 fbf5d3b Improve commit-check-script.sh (sipa) #10502 1ad3d4e scripted-diff: Remove BOOST_FOREACH, Q_FOREACH and PAIRTYPE (jtimon) #10377 b63be2c Use rdrand as entropy source on supported platforms (sipa) #9895 228c319 Turn TryCreateDirectory() into TryCreateDirectories() (benma) #10602 d76e84a Make clang-format use C++11 features (practicalswift) #10623 c38f540 doc: Add 0.14.2 release notes (MarcoFalke) #10276 b750b33 contrib/verifybinaries: allow filtering by platform (knocte) #10248 01c4b14 Rewrite addrdb with less duplication using CHashVerifier (sipa) #10577 232508f Add an explanation of quickly hashing onto a non-power of two range (gmaxwell) #10608 eee398f Add a comment explaining the use of MAX_BLOCK_BASE_SIZE (gmaxwell) #10728 7397af9 fix typo in help text for removeprunedfunds (AkioNak) #10193 6dbcc74 scripted-diff: Remove #include <boost/foreach.hpp> (jtimon) #10676 379aed0 document script-based return fields for validateaddress (instagibbs) #10651 cef4b5c Verify binaries from bitcoincore.org and bitcoin.org (TheBlueMatt) #10786 ca4c545 Add PR description to merge commit in github-merge.py (sipa) #10812 c5904e8 [utils] Allow bitcoin-cli’s -rpcconnect option to be used with square brackets (jnewbery) #10842 3895e25 Fix incorrect Doxygen tag (@ince → @since). Doxygen parameter name matching (practicalswift) #10681 df0793f add gdb attach process to test README (instagibbs) #10789 1124328 Punctuation/grammer fixes in rpcwallet.cpp (stevendlander) #10655 78f307b Properly document target_confirmations in listsinceblock (RHavar) #10917 5c003cb developer-notes: add reference to snake_case and PascalCase (benma) #11003 4b5a7ce Docs: Capitalize bullet points in CONTRIBUTING guide (eklitzke) #10968 98aa3f6 Add instructions for parallel gitian builds (coblee) #11076 1c4b9b3 0.15 release-notes nits: fix redundancy, remove accidental parenthesis & fix range style (practicalswift) #11090 8f0121c Update contributor names in release-notes.md (Derek701) #11056 cbdd338 disable jni in builds (instagibbs) #11080 2b59cfb doc: Update build-openbsd for 6.1 (laanwj) #11119 0a6af47 [doc] build-windows: Mention that only trusty works (MarcoFalke) #11108 e8ad101 Changing -txindex requires -reindex, not -reindex-chainstate (TheBlueMatt) #9792 342b9bc FastRandomContext improvements and switch to ChaCha20 (sipa) #9505 67ed40e Prevector Quick Destruct (JeremyRubin) #10820 ef37f20 Use cpuid intrinsics instead of asm code (sipa) #9999 a328904 [LevelDB] Plug leveldb logs to bitcoin logs (NicolasDorier) #9693 c5e9e42 Prevent integer overflow in ReadVarInt (gmaxwell) #10129 351d0ad scheduler: fix sub-second precision with boost < 1.50 (theuni) #10153 fade788 logging: Fix off-by-one for shrinkdebugfile default (MarcoFalke) #10305 c45da32 Fix potential NPD introduced in b297426c (TheBlueMatt) #10338 daf3e7d Maintain state across GetStrongRandBytes calls (sipa) #10544 a4fe077 Update to LevelDB 1.20 (sipa) #10614 cafe24f random: fix crash on some 64bit platforms (theuni) #10714 2a09a38 Avoid printing incorrect block indexing time due to uninitialized variable (practicalswift) #10837 8bc6d1f Fix resource leak on error in GetDevURandom (corebob) #10832 89bb036 init: Factor out AppInitLockDataDirectory and fix startup core dump issue (laanwj) #10914 b995a37 Add missing lock in CScheduler::AreThreadsServicingQueue() (TheBlueMatt) #10958 659c096 Update to latest Bitcoin patches for LevelDB (sipa) #10919 c1c671f Fix more init bugs (TheBlueMatt) Credits Thanks to everyone who directly contributed to this release: ロハン ダル Ahmad Kazi aideca Akio Nakamura Alex Morcos Allan Doensen Andres G. Aragoneses Andrew Chow Angel Leon Awemany Bob McElrath Brian McMichael BtcDrak Charlie Lee Chris Gavin Chris Stewart Cory Fields CryptAxe Dag Robole Daniel Aleksandersen Daniel Cousens darksh1ne Dimitris Tsapakidis Eric Shaw Evan Klitzke fanquake Felix Weis flack Guido Vranken Greg Griffith Gregory Maxwell Gregory Sanders Ian Kelling Jack Grigg James Evans James Hilliard Jameson Lopp Jeremy Rubin Jimmy Song João Barbosa Johnathan Corgan John Newbery Jonas Schnelli Jorge Timón Karl-Johan Alm kewde KibbledJiveElkZoo Kirit Thadaka kobake Kyle Honeycutt Lawrence Nahum Luke Dashjr Marco Falke Marcos Mayorga Marijn Stollenga Mario Dian Mark Friedenbach Marko Bencun Masahiko Hyuga Matt Corallo Matthew Zipkin Matthias Grundmann Michael Goldstein Michael Rotarius Mikerah Mike van Rossum Mitchell Cash Nicolas Dorier Patrick Strateman Pavel Janík Pavlos Antoniou Pavol Rusnak Pedro Branco Peter Todd Pieter Wuille practicalswift René Nyffenegger Ricardo Velhote romanornr Russell Yanofsky Rusty Russell Ryan Havar shaolinfry Shigeya Suzuki Simone Madeo Spencer Lievens Steven D. Lander Suhas Daftuar Takashi Mitsuta Thomas Snider Timothy Redaelli tintinweb tnaka Warren Togami Wladimir J. van der Laan As well as everyone that helped translating on Transifex. View the full article
  4. Bitcoin Core version 0.15.0 is now available from: https://bitcoin.org/bin/bitcoin-core-0.15.0/ and https://bitcoincore.org/bin/bitcoin-core-0.15.0/ This is a new major version release, including new features, various bugfixesand performance improvements, as well as updated translations. Please report bugs using the issue tracker at GitHub: https://github.com/bitcoin/bitcoin/issues To receive security and update notifications, please subscribe to: https://bitcoincore.org/en/list/announcements/join/ How to Upgrade If you are running an older version, shut it down. Wait until it has completelyshut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac)or bitcoind/bitcoin-qt (on Linux). The first time you run version 0.15.0, your chainstate database will be converted to anew format, which will take anywhere from a few minutes to half an hour,depending on the speed of your machine. The file format of fee_estimates.dat changed in version 0.15.0. Hence, adowngrade from version 0.15.0 or upgrade to version 0.15.0 will cause all feeestimates to be discarded. Note that the block database format also changed in version 0.8.0 and there is noautomatic upgrade code from before version 0.8 to version 0.15.0. Upgradingdirectly from 0.7.x and earlier without redownloading the blockchain is not supported.However, as usual, old wallet versions are still supported. Downgrading warning The chainstate database for this release is not compatible with previousreleases, so if you run 0.15 and then decide to switch back to anyolder version, you will need to run the old release with the -reindex-chainstateoption to rebuild the chainstate data structures in the old format. If your node has pruning enabled, this will entail re-downloading andprocessing the entire blockchain. Compatibility Bitcoin Core is extensively tested on multiple operating systems usingthe Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not supported. Bitcoin Core should also work on most other Unix-like systems but is notfrequently tested on them. Notes for 0.15.0 Current SegWit support Version 0.15.0 supports adding a segregated witness address via the addwitnessaddress RPC, butplease note that this is a testing/expert RPC, which does not guarantee recovery from backup. Only usethis RPC if you know what you are doing. More complete wallet support for segregated witness is comingin a next version. Rescanning with encrypted wallets As in previous versions, when using an encrypted HD wallet, the keypool cannot be topped up without unlockingthe wallet. This means that currently, in order to recover from a backup of an encrypted HD wallet, the usermust unlock the wallet with a really long timeout and manually trigger a rescan, otherwise they risk missingsome keys when auto-topup cannot run. Unfortunately there is no rescan RPC in this version, that will beincluded in a future version, so for now a rescan can be triggered using one of the import* commands, usinga dummy address generated by another (trusted) wallet. Notable changes Performance Improvements Version 0.15 contains a number of significant performance improvements, which makeInitial Block Download, startup, transaction and block validation much faster: The chainstate database (which is used for tracking UTXOs) has been changedfrom a per-transaction model to a per-output model (See PR 10195). Advantages of this modelare that it: avoids the CPU overhead of deserializing and serializing the unused outputs; has more predictable memory usage; uses simpler code; is adaptable to various future cache flushing strategies. As a result, validating the blockchain during Initial Block Download (IBD) and reindexis ~30-40% faster, uses 10-20% less memory, and flushes to disk far less frequently.The only downside is that the on-disk database is 15% larger. During the conversion from the previous formata few extra gigabytes may be used. Earlier versions experienced a spike in memory usage while flushing UTXO updates to disk.As a result, only half of the available memory was actually used as cache, and the other half wasreserved to accommodate flushing. This is no longer the case (See PR 10148), and the entirety ofthe available cache (see -dbcache) is now actually used as cache. This reduces the flushingfrequency by a factor 2 or more. In previous versions, signature validation for transactions has been cached when thetransaction is accepted to the mempool. Version 0.15 extends this to cache the entire scriptvalidity (See PR 10192). This means that if a transaction in a block has already been accepted to themempool, the scriptSig does not need to be re-evaluated. Empirical tests show thatthis results in new block validation being 40-50% faster. LevelDB has been upgraded to version 1.20 (See PR 10544). This version contains hardware acceleration for CRCon architectures supporting SSE 4.2. As a result, synchronization and block validation are now faster. SHA256 hashing has been optimized for architectures supporting SSE 4 (See PR 10821). SHA256 is around50% faster on supported hardware, which results in around 5% faster IBD and blockvalidation. In version 0.15, SHA256 hardware optimization is disabled in release builds bydefault, but can be enabled by using --enable-experimental-asm when building. Refill of the keypool no longer flushes the wallet between each key which resulted in a ~20x speedup in creating a new wallet. Part of this speedup was used to increase the default keypool to 1000 keys to make recovery more robust. (See PR 10831). Fee Estimation Improvements Fee estimation has been significantly improved in version 0.15, with more accurate fee estimates used by the wallet and a wider range of options for advanced users of the estimatesmartfee and estimaterawfee RPCs (See PR 10199). Changes to internal logic and wallet behavior Internally, estimates are now tracked on 3 different time horizons. This allows for longer targets and means estimates adjust more quickly to changes in conditions. Estimates can now be conservative or economical. Conservative estimates use longer time horizons to produce an estimate which is less susceptible to rapid changes in fee conditions. Economical estimates use shorter time horizons and will be more affected by short-term changes in fee conditions. Economical estimates may be considerably lower during periods of low transaction activity (for example over weekends), but may result in transactions being unconfirmed if prevailing fees increase rapidly. By default, the wallet will use conservative fee estimates to increase the reliability of transactions being confirmed within the desired target. For transactions that are marked as replaceable, the wallet will use an economical estimate by default, since the fee can be ‘bumped’ if the fee conditions change rapidly (See PR 10589). Estimates can now be made for confirmation targets up to 1008 blocks (one week). More data on historical fee rates is stored, leading to more precise fee estimates. Transactions which leave the mempool due to eviction or other non-confirmed reasons are now taken into account by the fee estimation logic, leading to more accurate fee estimates. The fee estimation logic will make sure enough data has been gathered to return a meaningful estimate. If there is insufficient data, a fallback default fee is used. Changes to fee estimate RPCs The estimatefee RPC is now deprecated in favor of using only estimatesmartfee (which is the implementation used by the GUI) The estimatesmartfee RPC interface has been changed (See PR 10707): The nblocks argument has been renamed to conf_target (to be consistent with other RPC methods). An estimate_mode argument has been added. This argument takes one of the following strings: CONSERVATIVE, ECONOMICAL or UNSET (which defaults to CONSERVATIVE). The RPC return object now contains an errors member, which returns errors encountered during processing. If Bitcoin Core has not been running for long enough and has not seen enough blocks or transactions to produce an accurate fee estimation, an error will be returned (previously a value of -1 was used to indicate an error, which could be confused for a feerate). A new estimaterawfee RPC is added to provide raw fee data. External clients can query and use this data in their own fee estimation logic. Multi-wallet support Bitcoin Core now supports loading multiple, separate wallets (See PR 8694, PR 10849). The wallets are completely separated, with individual balances, keys and received transactions. Multi-wallet is enabled by using more than one -wallet argument when starting Bitcoin, either on the command line or in the Bitcoin config file. In Bitcoin-Qt, only the first wallet will be displayed and accessible for creating and signing transactions. GUI selectable multiple wallets will be supported in a future version. However, even in 0.15 other loaded wallets will remain synchronized to the node’s current tip in the background. This can be useful if running a pruned node, since loading a wallet where the most recent sync is beyond the pruned height results in having to download and revalidate the whole blockchain. Continuing to synchronize all wallets in the background avoids this problem. Bitcoin Core 0.15.0 contains the following changes to the RPC interface and bitcoin-cli for multi-wallet: When running Bitcoin Core with a single wallet, there are no changes to the RPC interface or bitcoin-cli. All RPC calls and bitcoin-cli commands continue to work as before. When running Bitcoin Core with multi-wallet, all node-level RPC methods continue to work as before. HTTP RPC requests should be send to the normal <RPC IP address>:<RPC port>/ endpoint, and bitcoin-cli commands should be run as before. A node-level RPC method is any method which does not require access to the wallet. When running Bitcoin Core with multi-wallet, wallet-level RPC methods must specify the wallet for which they’re intended in every request. HTTP RPC requests should be send to the <RPC IP address>:<RPC port>/wallet/<wallet name>/ endpoint, for example 127.0.0.1:8332/wallet/wallet1.dat/. bitcoin-cli commands should be run with a -rpcwallet option, for example bitcoin-cli -rpcwallet=wallet1.dat getbalance. A new node-level listwallets RPC method is added to display which wallets are currently loaded. The names returned by this method are the same as those used in the HTTP endpoint and for the rpcwallet argument. Note that while multi-wallet is now fully supported, the RPC multi-wallet interface should be considered unstable for version 0.15.0, and there may backwards-incompatible changes in future versions. Replace-by-fee control in the GUI Bitcoin Core has supported creating opt-in replace-by-fee (RBF) transactionssince version 0.12.0, and since version 0.14.0 has included a bumpfee RPC method toreplace unconfirmed opt-in RBF transactions with a new transaction that paysa higher fee. In version 0.15, creating an opt-in RBF transaction and replacing the unconfirmedtransaction with a higher-fee transaction are both supported in the GUI (See PR 9592). Removal of Coin Age Priority In previous versions of Bitcoin Core, a portion of each block could be reserved for transactions based on the age and value of UTXOs they spent. This concept (Coin Age Priority) is a policy choice by miners, and there are no consensus rules around the inclusion of Coin Age Priority transactions in blocks. In practice, only a few miners continue to use Coin Age Priority for transaction selection in blocks. Bitcoin Core 0.15 removes all remaining support for Coin Age Priority (See PR 9602). This has the following implications: The concept of free transactions has been removed. High Coin Age Priority transactions would previously be allowed to be relayed even if they didn’t attach a miner fee. This is no longer possible since there is no concept of Coin Age Priority. The -limitfreerelay and -relaypriority options which controlled relay of free transactions have therefore been removed. The -sendfreetransactions option has been removed, since almost all miners do not include transactions which do not attach a transaction fee. The -blockprioritysize option has been removed. The estimatepriority and estimatesmartpriority RPCs have been removed. The getmempoolancestors, getmempooldescendants, getmempoolentry and getrawmempool RPCs no longer return startingpriority and currentpriority. The prioritisetransaction RPC no longer takes a priority_delta argument, which is replaced by a dummy argument for backwards compatibility with clients using positional arguments. The RPC is still used to change the apparent fee-rate of the transaction by using the fee_delta argument. -minrelaytxfee can now be set to 0. If minrelaytxfee is set, then fees smaller than minrelaytxfee (per kB) are rejected from relaying, mining and transaction creation. This defaults to 1000 satoshi/kB. The -printpriority option has been updated to only output the fee rate and hash of transactions included in a block by the mining code. Mempool Persistence Across Restarts Version 0.14 introduced mempool persistence across restarts (the mempool is saved to a mempool.dat file in the data directory prior to shutdown and restores the mempool when the node is restarted). Version 0.15 allows this feature to be switched on or off using the -persistmempool command-line option (See PR 9966). By default, the option is set to true, and the mempool is saved on shutdown and reloaded on startup. If set to false, the mempool.dat file will not be loaded on startup or saved on shutdown. New RPC methods Version 0.15 introduces several new RPC methods: abortrescan stops current wallet rescan, e.g. when triggered by an importprivkey call (See PR 10208). combinerawtransaction accepts a JSON array of raw transactions and combines them into a single raw transaction (See PR 10571). estimaterawfee returns raw fee data so that customized logic can be implemented to analyze the data and calculate estimates. See Fee Estimation Improvements for full details on changes to the fee estimation logic and interface. getchaintxstats returns statistics about the total number and rate of transactionsin the chain (See PR 9733). listwallets lists wallets which are currently loaded. See the Multi-wallet sectionof these release notes for full details (See Multi-wallet support). uptime returns the total runtime of the bitcoind server since its last start (See PR 10400). Low-level RPC changes When using Bitcoin Core in multi-wallet mode, RPC requests for wallet methods must specifythe wallet that they’re intended for. See Multi-wallet support for full details. The new database model no longer stores information about transactionversions of unspent outputs (See Performance improvements). This means that: The gettxout RPC no longer has a version field in the response. The gettxoutsetinfo RPC reports hash_serialized_2 instead of hash_serialized,which does not commit to the transaction versions of unspent outputs, but doescommit to the height and coinbase information. The getutxos REST path no longer reports the txvers field in JSON format,and always reports 0 for transaction versions in the binary format The estimatefee RPC is deprecated. Clients should switch to using the estimatesmartfee RPC, which returns better fee estimates. See Fee Estimation Improvements for full details on changes to the fee estimation logic and interface. The gettxoutsetinfo response now contains disk_size and bogosize instead ofbytes_serialized. The first is a more accurate estimate of actual disk usage, butis not deterministic. The second is unrelated to disk usage, but is adatabase-independent metric of UTXO set size: it counts every UTXO entry as 50 + thelength of its scriptPubKey (See PR 10426). signrawtransaction can no longer be used to combine multiple transactions into a single transaction. Instead, use the new combinerawtransaction RPC (See PR 10571). fundrawtransaction no longer accepts a reserveChangeKey option. This option used to allow RPC users to fund a raw transaction using an key from the keypool for the change address without removing it from the available keys in the keypool. The key could then be re-used for a getnewaddress call, which could potentially result in confusing or dangerous behaviour (See PR 10784). estimatepriority and estimatesmartpriority have been removed. See Removal of Coin Age Priority. The listunspent RPC now takes a query_options argument (see PR 8952), which is a JSON objectcontaining one or more of the following members: minimumAmount - a number specifying the minimum value of each UTXO maximumAmount - a number specifying the maximum value of each UTXO maximumCount - a number specifying the minimum number of UTXOs minimumSumAmount - a number specifying the minimum sum value of all UTXOs The getmempoolancestors, getmempooldescendants, getmempoolentry and getrawmempool RPCs no longer return startingpriority and currentpriority. See Removal of Coin Age Priority. The dumpwallet RPC now returns the full absolute path to the dumped wallet. Itused to return no value, even if successful (See PR 9740). In the getpeerinfo RPC, the return object for each peer now returns an addrbind member, which contains the ip address and port of the connection to the peer. This is in addition to the addrlocal member which contains the ip address and port of the local node as reported by the peer (See PR 10478). The disconnectnode RPC can now disconnect a node specified by node ID (as well as by IP address/port). To disconnect a node based on node ID, call the RPC with the new nodeid argument (See PR 10143). The second argument in prioritisetransaction has been renamed from priority_delta to dummy since Bitcoin Core no longer has a concept of coin age priority. The dummy argument has no functional effect, but is retained for positional argument compatibility. See Removal of Coin Age Priority. The resendwallettransactions RPC throws an error if the -walletbroadcast option is set to false (See PR 10995). The second argument in the submitblock RPC argument has been renamed from parameters to dummy. This argument never had any effect, and the renaming is simply to communicate this fact to the user (See PR 10191)(Clients should, however, use positional arguments for submitblock in order to be compatible with BIP 22.) The verbose argument of getblock has been renamed to verbosity and now takes an integer from 0 to 2. Verbose level 0 is equivalent to verbose=false. Verbose level 1 is equivalent to verbose=true. Verbose level 2 will give the full transaction details of each transaction in the output as given by getrawtransaction. The old behavior of using the verbose named argument and a boolean value is still maintained for compatibility. Error codes have been updated to be more accurate for the following error cases (See PR 9853): getblock now returns RPC_MISC_ERROR if the block can’t be found on disk (forexample if the block has been pruned). Previously returned RPC_INTERNAL_ERROR. pruneblockchain now returns RPC_MISC_ERROR if the blocks cannot be prunedbecause the node is not in pruned mode. Previously returned RPC_METHOD_NOT_FOUND. pruneblockchain now returns RPC_INVALID_PARAMETER if the blocks cannot be prunedbecause the supplied timestamp is too late. Previously returned RPC_INTERNAL_ERROR. pruneblockchain now returns RPC_MISC_ERROR if the blocks cannot be prunedbecause the blockchain is too short. Previously returned RPC_INTERNAL_ERROR. setban now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the supplied IP addressor subnet is invalid. Previously returned RPC_CLIENT_NODE_ALREADY_ADDED. setban now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the user tries to unbana node that has not previously been banned. Previously returned RPC_MISC_ERROR. removeprunedfunds now returns RPC_WALLET_ERROR if bitcoind is unable to removethe transaction. Previously returned RPC_INTERNAL_ERROR. removeprunedfunds now returns RPC_INVALID_PARAMETER if the transaction does notexist in the wallet. Previously returned RPC_INTERNAL_ERROR. fundrawtransaction now returns RPC_INVALID_ADDRESS_OR_KEY if an invalid changeaddress is provided. Previously returned RPC_INVALID_PARAMETER. fundrawtransaction now returns RPC_WALLET_ERROR if bitcoind is unable to createthe transaction. The error message provides further details. Previously returnedRPC_INTERNAL_ERROR. bumpfee now returns RPC_INVALID_PARAMETER if the provided transaction hasdescendants in the wallet. Previously returned RPC_MISC_ERROR. bumpfee now returns RPC_INVALID_PARAMETER if the provided transaction hasdescendants in the mempool. Previously returned RPC_MISC_ERROR. bumpfee now returns RPC_WALLET_ERROR if the provided transaction hashas been mined or conflicts with a mined transaction. Previously returnedRPC_INVALID_ADDRESS_OR_KEY. bumpfee now returns RPC_WALLET_ERROR if the provided transaction is notBIP 125 replaceable. Previously returned RPC_INVALID_ADDRESS_OR_KEY. bumpfee now returns RPC_WALLET_ERROR if the provided transaction has alreadybeen bumped by a different transaction. Previously returned RPC_INVALID_REQUEST. bumpfee now returns RPC_WALLET_ERROR if the provided transaction containsinputs which don’t belong to this wallet. Previously returned RPC_INVALID_ADDRESS_OR_KEY. bumpfee now returns RPC_WALLET_ERROR if the provided transaction has multiple changeoutputs. Previously returned RPC_MISC_ERROR. bumpfee now returns RPC_WALLET_ERROR if the provided transaction has no changeoutput. Previously returned RPC_MISC_ERROR. bumpfee now returns RPC_WALLET_ERROR if the fee is too high. Previously returnedRPC_MISC_ERROR. bumpfee now returns RPC_WALLET_ERROR if the fee is too low. Previously returnedRPC_MISC_ERROR. bumpfee now returns RPC_WALLET_ERROR if the change output is too small to bump thefee. Previously returned RPC_MISC_ERROR. 0.15.0 Change log RPC and other APIs #9485 61a640e ZMQ example using python3 and asyncio (mcelrath) #9894 0496e15 remove ‘label’ filter for rpc command help (instagibbs) #9853 02bd6e9 Fix error codes from various RPCs (jnewbery) #9842 598ef9c Fix RPC failure testing (continuation of #9707) (jnewbery) #10038 d34995a Add mallocinfo mode to getmemoryinfo RPC (laanwj) #9500 3568b30 [Qt/RPC] Autocomplete commands for ‘help’ command in debug console (achow101) #10056 e6156a0 [zmq] Call va_end() on va_start()ed args (kallewoof) #10086 7438cea Trivial: move rpcserialversion into RPC option group (jlopp) #10150 350b224 [rpc] Add logging rpc (jnewbery) #10208 393160c [wallet] Rescan abortability (kallewoof) #10143 a987def [net] Allow disconnectnode RPC to be called with node id (jnewbery) #10281 0e8499c doc: Add RPC interface guidelines (laanwj) #9733 d4732f3 Add getchaintxstats RPC (sipa) #10310 f4b15e2 [doc] Add hint about getmempoolentry to getrawmempool help (kallewoof) #8704 96c850c [RPC] Transaction details in getblock (achow101) #8952 9390845 Add query options to listunspent RPC call (pedrobranco) #10413 08ac35a Fix docs (there’s no rpc command setpaytxfee) (RHavar) #8384 e317c0d Add witness data output to TxInError messages (instagibbs) #9571 4677151 RPC: getblockchaininfo returns BIP signaling statistics (pinheadmz) #10450 ef2d062 Fix bumpfee rpc “errors” return value (ryanofsky) #10475 39039b1 [RPC] getmempoolinfo mempoolminfee is a BTC/KB feerate (instagibbs) #10478 296928e rpc: Add listen address to incoming connections in getpeerinfo (laanwj) #10403 08d0390 Fix importmulti failure to return rescan errors (ryanofsky) #9740 9fec4da Add friendly output to dumpwallet (aideca) #10426 16f6c98 Replace bytes_serialized with bogosize (sipa) #10252 980deaf RPC/Mining: Restore API compatibility for prioritisetransaction (luke-jr) #9672 46311e7 Opt-into-RBF for RPC & bitcoin-tx (luke-jr) #10481 9c248e3 Decodehextx scripts sanity check (achow101) #10488 fa1f106 Note that the prioritizetransaction dummy value is deprecated, and has no meaning (TheBlueMatt) #9738 c94b89e gettxoutproof() should return consistent result (jnewbery) #10191 00350bd [trivial] Rename unused RPC arguments ‘dummy’ (jnewbery) #10627 b62b4c8 fixed listunspent rpc convert parameter (tnakagawa) #10412 bef02fb Improve wallet rescan API (ryanofsky) #10400 1680ee0 [RPC] Add an uptime command that displays the amount of time (in seconds) bitcoind has been running (rvelhote) #10683 d81bec7 rpc: Move the generate RPC call to rpcwallet (laanwj) #10710 30bc0f6 REST/RPC example update (Mirobit) #10747 9edda0c [rpc] fix verbose argument for getblock in bitcoin-cli (jnewbery) #10589 104f5f2 More economical fee estimates for RBF and RPC options to control (morcos) #10543 b27b004 Change API to estimaterawfee (morcos) #10807 afd2fca getbalance example covers at least 6 confirms (instagibbs) #10707 75b5643 Better API for estimatesmartfee RPC (morcos) #10784 9e8d6a3 Do not allow users to get keys from keypool without reserving them (TheBlueMatt) #10857 d445a2c [RPC] Add a deprecation warning to getinfo’s output (achow101) #10571 adf170d [RPC]Move transaction combining from signrawtransaction to new RPC (achow101) #10783 041dad9 [RPC] Various rpc argument fixes (instagibbs) #9622 6ef3c7e [rpc] listsinceblock should include lost transactions when parameter is a reorg’d block (kallewoof) #10799 8537187 Prevent user from specifying conflicting parameters to fundrawtx (TheBlueMatt) #10931 0b11a07 Fix misleading “Method not found” multiwallet errors (ryanofsky) #10788 f66c596 [RPC] Fix addwitnessaddress by replacing ismine with producesignature (achow101) #10999 627c3c0 Fix amounts formatting in decoderawtransaction (laanwj) #11002 4268426 [wallet] return correct error code from resendwallettransaction (jnewbery) #11029 96a63a3 [RPC] trivial: gettxout no longer shows version of tx (FelixWeis) #11083 6c2b008 Fix combinerawtransaction RPC help result section (jonasnick) #11027 07164bb [RPC] Only return hex field once in getrawtransaction (achow101) #10698 5af6572 Be consistent in calling transactions “replaceable” for Opt-In RBF (TheBlueMatt) Block and transaction handling #9801 a8c5751 Removed redundant parameter from mempool.PrioritiseTransaction (gubatron) #9819 1efc99c Remove harmless read of unusued priority estimates (morcos) #9822 b7547fa Remove block file location upgrade code (benma) #9602 30ff3a2 Remove coin age priority and free transactions - implementation (morcos) #9548 47510ad Remove min reasonable fee (morcos) #10249 c73af54 Switch CCoinsMap from boost to std unordered_map (sipa) #9966 2a183de Control mempool persistence using a command line parameter (jnewbery) #10199 318ea50 Better fee estimates (morcos) #10196 bee3529 Bugfix: PrioritiseTransaction updates the mempool tx counter (sdaftuar) #10195 1088b02 Switch chainstate db and cache to per-txout model (sipa) #10284 c2ab38b Always log debug information for fee calculation in CreateTransaction (morcos) #10503 efbcf2b Use REJECT_DUPLICATE for already known and conflicted txn (sipa) #10537 b3eb0d6 Few Minor per-utxo assert-semantics re-adds and tweak (TheBlueMatt) #10626 8c841a3 doc: Remove outdated minrelaytxfee comment (MarcoFalke) #10559 234ffc6 Change semantics of HaveCoinInCache to match HaveCoin (morcos) #10581 7878353 Simplify return values of GetCoin/HaveCoin(InCache) (sipa) #10684 a381f6a Remove no longer used mempool.exists(outpoint) (morcos) #10148 d4e551a Use non-atomic flushing with block replay (sipa) #10685 30c2130 Clarify CCoinsViewMemPool documentation (TheBlueMatt) #10558 90a002e Address nits from per-utxo change (morcos) #10706 6859ad2 Improve wallet fee logic and fix GUI bugs (morcos) #10526 754aa02 Force on-the-fly compaction during pertxout upgrade (sipa) #10985 d896d5c Add undocumented -forcecompactdb to force LevelDB compactions (sipa) #10292 e4bbd3d Improved efficiency in COutPoint constructors (mm-s) #10290 8d6d43e Add -stopatheight for benchmarking (sipa) P2P protocol and network code #9726 7639d38 netbase: Do not print an error on connection timeouts through proxy (laanwj) #9805 5b583ef Add seed.btc.petertodd.org to mainnet DNS seeds (petertodd) #9861 22f609f Trivial: Debug log ambiguity fix for peer addrs (keystrike) #9774 90cb2a2 Enable host lookups for -proxy and -onion parameters (jmcorgan) #9558 7b585cf Clarify assumptions made about when BlockCheck is called (TheBlueMatt) #10135 e19586a [p2p] Send the correct error code in reject messages (jnewbery) #9665 eab00d9 Use cached [compact] blocks to respond to getdata messages (TheBlueMatt) #10215 a077a90 Check interruptNet during dnsseed lookups (TheBlueMatt) #10234 faf2dea [net] listbanned RPC and QT should show correct banned subnets (jnewbery) #10134 314ebdf [qa] Fixes segwit block relay test after inv-direct-fetch was disabled (sdaftuar) #10351 3f57c55 removed unused code in INV message (Greg-Griffith) #10061 ae78609 [net] Added SetSocketNoDelay() utility function (tjps) #10408 28c6e8d Net: Improvements to Tor control port parser (str4d) #10460 5c63d66 Broadcast address every day, not 9 hours (sipa) #10471 400fdd0 Denote functions CNode::GetRecvVersion() and CNode::GetRefCount() as const (pavlosantoniou) #10345 67700b3 [P2P] Timeout for headers sync (sdaftuar) #10564 8d9f45e Return early in IsBanned (gmaxwell) #10587 de8db47 Net: Fix resource leak in ReadBinaryFile(…) (practicalswift) #9549 b33ca14 [net] Avoid possibility of NULL pointer dereference in MarkBlockAsInFlight(…) (practicalswift) #10446 2772dc9 net: avoid extra dns query per seed (theuni) #10824 9dd6a2b Avoid unnecessary work in SetNetworkActive (promag) #10948 df3a6f4 p2p: Hardcoded seeds update pre-0.15 branch (laanwj) #10977 02f4c4a [net] Fix use of uninitialized value in getnetworkinfo(const JSONRPCRequest&) (practicalswift) #10982 c8b62c7 Disconnect network service bits 6 and 8 until Aug 1, 2018 (TheBlueMatt) #11012 0e5cff6 Make sure to clean up mapBlockSource if we’ve already seen the block (theuni) Validation #9725 67023e9 CValidationInterface Cleanups (TheBlueMatt) #10178 2584925 Remove CValidationInterface::UpdatedTransaction (TheBlueMatt) #10201 a6548a4 pass Consensus::Params& to functions in validation.cpp and make them static (mariodian) #10297 431a548 Simplify DisconnectBlock arguments/return value (sipa) #10464 f94b7d5 Introduce static DoWarning (simplify UpdateTip) (jtimon) #10569 2e7d8f8 Fix stopatheight (achow101) #10192 2935b46 Cache full script execution results in addition to signatures (TheBlueMatt) #10179 21ed30a Give CValidationInterface Support for calling notifications on the CScheduler Thread (TheBlueMatt) #10557 66270a4 Make check to distinguish between orphan txs and old txs more efficient (morcos) #10775 7c2400c nCheckDepth chain height fix (romanornr) #10821 16240f4 Add SSE4 optimized SHA256 (sipa) #10854 04d395e Avoid using sizes on non-fixed-width types to derive protocol constants (gmaxwell) #10945 2a50b11 Update defaultAssumeValid according to release-process.md (gmaxwell) #10986 2361208 Update chain transaction statistics (sipa) #11028 6bdf4b3 Avoid masking of difficulty adjustment errors by checkpoints (sipa) #9533 cb598cf Allow non-power-of-2 signature cache sizes (sipa) #9208 acd9957 Improve DisconnectTip performance (sdaftuar) #10618 f90603a Remove confusing MAX_BLOCK_BASE_SIZE (gmaxwell) #10758 bd92424 Fix some chainstate-init-order bugs (TheBlueMatt) #10550 b7296bc Don’t return stale data from CCoinsViewCache::Cursor() (ryanofsky) #10998 2507fd5 Fix upgrade cancel warnings (TheBlueMatt) #9868 cbdb473 Abstract out the command line options for block assembly (sipa) Build system #9727 5f0556d Remove fallbacks for boost_filesystem < v3 (laanwj) #9788 50a2265 gitian: bump descriptors for master (theuni) #9794 7ca2f54 Minor update to qrencode package builder (mitchellcash) #9514 2cc0df1 release: Windows signing script (theuni) #9921 8b789d8 build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL (laanwj) #10011 32d1b34 build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT (laanwj) #9946 90dd9e6 Fix build errors if spaces in path or parent directory (pinheadmz) #10136 81da4c7 build: Disable Wshadow warning (laanwj) #10166 64962ae Ignore Doxyfile generated from Doxyfile.in template (paveljanik) #10239 0416ea9 Make Boost use std::atomic internally (sipa) #10228 27faa6c build: regenerate bitcoin-config.h as necessary (theuni) #10273 8979f45 [scripts] Minor improvements to macdeployqtplus script (chrisgavin) #10325 a26280b 0.15.0 Depends Updates (fanquake) #10328 79aeff6 Update contrib/debian to latest Ubuntu PPA upload (TheBlueMatt) #7522 d25449f Bugfix: Only use git for build info if the repository is actually the right one (luke-jr) #10489 e654d61 build: silence gcc7’s implicit fallthrough warning (theuni) #10549 ad1a13e Avoid printing generic and duplicated “checking for QT” during ./configure (drizzt) #10628 8465b68 [depends] expat 2.2.1 (fanquake) #10806 db825d2 build: verify that the assembler can handle crc32 functions (theuni) #10766 b4d03be Building Environment: Set ARFLAGS to cr (ReneNyffenegger) #10803 91edda8 Explicitly search for bdb5.3 (pstratem) #10855 81560b0 random: only use getentropy on openbsd (theuni) #10508 1caafa6 Run Qt wallet tests on travis (ryanofsky) #10851 e222618 depends: fix fontconfig with newer glibc (theuni) #10971 88b1e4b build: fix missing sse42 in depends builds (theuni) #11097 129b03f gitian: quick hack to fix version string in releases (theuni) #10039 919aaf6 Fix compile errors with Qt 5.3.2 and Boost 1.55.0 (ryanofsky) #10168 7032021 Fix build warning from #error text (jnewbery) #10301 318392c Check if sys/random.h is required for getentropy (jameshilliard) GUI #9724 1a9fd5c Qt/Intro: Add explanation of IBD process (luke-jr) #9834 b00ba62 qt: clean up initialize/shutdown signals (benma) #9481 ce01e62 [Qt] Show more significant warning if we fall back to the default fee (jonasschnelli) #9974 b9f930b Add basic Qt wallet test (ryanofsky) #9690 a387d3a Change ‘Clear’ button string to ‘Reset’ (da2x) #9592 9c7b7cf [Qt] Add checkbox in the GUI to opt-in to RBF when creating a transaction (ryanofsky) #10098 2b477e6 Make qt wallet test compatible with qt4 (ryanofsky) #9890 1fa4ae6 Add a button to open the config file in a text editor (ericshawlinux) #10156 51833a1 Fix for issues with startup and multiple monitors on windows (AllanDoensen) #10177 de01da7 Changed “Send” button default status from true to false (KibbledJiveElkZoo) #10221 e96486c Stop treating coinbase outputs differently in GUI: show them at 1conf (TheBlueMatt) #10231 987a6c0 [Qt] Reduce a significant cs_main lock freeze (jonasschnelli) #10242 f6f3b58 [qt] Don’t call method on null WalletModel object (ryanofsky) #10093 a3e756b [Qt] Don’t add arguments of sensitive command to console window (jonasschnelli) #10362 95546c8 [GUI] Add OSX keystroke to RPCConsole info (spencerlievens) #9697 962cd3f [Qt] simple fee bumper with user verification (jonasschnelli) #10390 e477516 [wallet] remove minimum total fee option (instagibbs) #10420 4314544 Add Qt tests for wallet spends & bumpfee (ryanofsky) #10454 c1c9a95 Fix broken q4 test build (ryanofsky) #10449 64beb13 Overhaul Qt fee bumper (jonasschnelli) #10582 7c72fb9 Pass in smart fee slider value to coin control dialog (morcos) #10673 4c72cc3 [qt] Avoid potential null pointer dereference in TransactionView::exportClicked() (practicalswift) #10769 8fdd23a [Qt] replace fee slider with a Dropdown, extend conf. targets (jonasschnelli) #10870 412b466 [Qt] Use wallet 0 in rpc console if running with multiple wallets (jonasschnelli) #10988 a9dd111 qt: Increase BLOCK_CHAIN_SIZE constants (laanwj) #10644 e292140 Slightly overhaul NSI pixmaps (jonasschnelli) #10660 0c3542e Allow to cancel the txdb upgrade via splashscreen keypress ‘q’ (jonasschnelli) Wallet #9359 f7ec7cf Add test for CWalletTx::GetImmatureCredit() returning stale values (ryanofsky) #9576 56ab672 [wallet] Remove redundant initialization (practicalswift) #9333 fa625b0 Document CWalletTx::mapValue entries and remove erase of nonexistent “version” entry (ryanofsky) #9906 72fb515 Disallow copy constructor CReserveKeys (instagibbs) #9369 3178b2c Factor out CWallet::nTimeSmart computation into a method (ryanofsky) #9830 afcd7c0 Add safe flag to listunspent result (NicolasDorier) #9993 c49355c Initialize nRelockTime (pstratem) #9818 3d857f3 Save watch only key timestamps when reimporting keys (ryanofsky) #9294 f34cdcb Use internal HD chain for change outputs (hd split) (jonasschnelli) #10164 e183ea2 Wallet: reduce excess logic InMempool() (kewde) #10186 c9ff4f8 Remove SYNC_TRANSACTION_NOT_IN_BLOCK magic number (jnewbery) #10226 64c45aa wallet: Use boost to more portably ensure -wallet specifies only a filename (luke-jr) #9827 c91ca0a Improve ScanForWalletTransactions return value (ryanofsky) #9951 fa1ac28 Wallet database handling abstractions/simplifications (laanwj) #10265 c29a0d4 [wallet/moveonly] Check non-null pindex before potentially referencing (kallewoof) #10283 a550f6e Cleanup: reduce to one GetMinimumFee call signature (morcos) #10294 e2b99b1 [Wallet] unset change position when there is no change (instagibbs) #10115 d3dce0e Avoid reading the old hd master key during wallet encryption (TheBlueMatt) #10341 18c9deb rpc/wallet: Workaround older UniValue which returns a std::string temporary for get_str (luke-jr) #10308 94e5227 [wallet] Securely erase potentially sensitive keys/values (tjps) #10257 ea1fd43 [test] Add test for getmemoryinfo (jimmysong) #10295 ce8176d [qt] Move some WalletModel functions into CWallet (ryanofsky) #10506 7cc2c67 Fix bumpfee test after #10449 (ryanofsky) #10500 098b01d Avoid CWalletTx copies in GetAddressBalances and GetAddressGroupings (ryanofsky) #10455 0747d33 Simplify feebumper minimum fee code slightly (ryanofsky) #10522 2805d60 [wallet] Remove unused variables (practicalswift) #8694 177433a Basic multiwallet support (luke-jr) #10598 7a74f88 Supress struct/class mismatch warnings introduced in #10284 (paveljanik) #9343 209eef6 Don’t create change at dust limit (morcos) #10744 ed88e31 Use method name via func macro (darksh1ne) #10712 e8b9523 Add change output if necessary to reduce excess fee (morcos) #10816 1c011ff Properly forbid -salvagewallet and -zapwallettxes for multi wallet (morcos) #10235 5cfdda2 Track keypool entries as internal vs external in memory (TheBlueMatt) #10330 bf0a08b [wallet] fix zapwallettxes interaction with persistent mempool (jnewbery) #10831 0b01935 Batch flushing operations to the walletdb during top up and increase keypool size (gmaxwell) #10795 7b6e8bc No longer ever reuse keypool indexes (TheBlueMatt) #10849 bde4f93 Multiwallet: simplest endpoint support (jonasschnelli) #10817 9022aa3 Redefine Dust and add a discard_rate (morcos) #10883 bf3b742 Rename -usewallet to -rpcwallet (morcos) #10604 420238d [wallet/tests] Add listwallets RPC, include wallet name in getwalletinfo and add multiwallet test (jnewbery) #10885 70888a3 Reject invalid wallets (promag) #10949 af56397 Clarify help message for -discardfee (morcos) #10942 2e857bb Eliminate fee overpaying edge case when subtracting fee from recipients (morcos) #10995 fa64636 Fix resendwallettransactions assert failure if -walletbroadcast=0 (TheBlueMatt) #11022 653a46d Basic keypool topup (jnewbery) #11081 9fe1f6b Add length check for CExtKey deserialization (jonasschnelli, guidovranken) #11044 4ef8374 [wallet] Keypool topup cleanups (jnewbery) #11145 e51bb71 Fix rounding bug in calculation of minimum change (morcos) #9605 779f2f9 Use CScheduler for wallet flushing, remove ThreadFlushWalletDB (TheBlueMatt) #10108 4e3efd4 ApproximateBestSubset should take inputs by reference, not value (RHavar) Tests and QA #9744 8efd1c8 Remove unused module from rpc-tests (34ro) #9657 7ff4a53 Improve rpc-tests.py (jnewbery) #9766 7146d96 Add –exclude option to rpc-tests.py (jnewbery) #9577 d6064a8 Fix docstrings in qa tests (jnewbery) #9823 a13a417 qa: Set correct path for binaries in rpc tests (MarcoFalke) #9847 6206252 Extra test vector for BIP32 (sipa) #9350 88c2ae3 [Trivial] Adding label for amount inside of tx_valid/tx_invalid.json (Christewart) #9888 36afd4d travis: Verify commits only for one target (MarcoFalke) #9904 58861ad test: Fail if InitBlockIndex fails (laanwj) #9828 67c5cc1 Avoid -Wshadow warnings in wallet_tests (ryanofsky) #9832 48c3429 [qa] assert_start_raises_init_error (NicolasDorier) #9739 9d5fcbf Fix BIP68 activation test (jnewbery) #9547 d32581c bench: Assert that division by zero is unreachable (practicalswift) #9843 c78adbf Fix segwit getblocktemplate test (jnewbery) #9929 d5ce14e tests: Delete unused function _rpchost_to_args (laanwj) #9555 19be26a [test] Avoid reading a potentially uninitialized variable in tx_invalid-test (transaction_tests.cpp) (practicalswift) #9945 ac23a7c Improve logging in bctest.py if there is a formatting mismatch (jnewbery) #9768 8910b47 [qa] Add logging to test_framework.py (jnewbery) #9972 21833f9 Fix extended rpc tests broken by #9768 (jnewbery) #9977 857d1e1 QA: getblocktemplate_longpoll.py should always use >0 fee tx (sdaftuar) #9970 3cc13ea Improve readability of segwit.py, smartfees.py (sdaftuar) #9497 2c781fb CCheckQueue Unit Tests (JeremyRubin) #10024 9225de2 [trivial] Use log.info() instead of print() in remaining functional test cases (jnewbery) #9956 3192e52 Reorganise qa directory (jnewbery) #10017 02d64bd combine_logs.py - aggregates log files from multiple bitcoinds during functional tests (jnewbery) #10047 dfef6b6 [tests] Remove unused variables and imports (practicalswift) #9701 a230b05 Make bumpfee tests less fragile (ryanofsky) #10053 ca20923 [test] Allow functional test cases to be skipped (jnewbery) #10052 a0b1e57 [test] Run extended tests once daily in Travis (jnewbery) #10069 1118493 [QA] Fix typo in fundrawtransaction test (NicolasDorier) #10083 c044f03 [QA] Renaming rawTx into rawtx (NicolasDorier) #10073 b1a4f27 Actually run assumevalid.py (jnewbery) #9780 c412fd8 Suppress noisy output from qa tests in Travis (jnewbery) #10096 79af9fb Check that all test scripts in test/functional are being run (jnewbery) #10076 5b029aa [qa] combine_logs: Use ordered list for logfiles (MarcoFalke) #10107 f2734c2 Remove unused variable. Remove accidental trailing semicolons in Python code (practicalswift) #10109 8ac8041 Remove SingleNodeConnCB (jnewbery) #10114 edc62c9 [tests] sync_with_ping should assert that ping hasn’t timed out (jnewbery) #10128 427d2fd Speed Up CuckooCache tests (JeremyRubin) #10072 12af74b Remove sources of unreliablility in extended functional tests (jnewbery) #10077 ebfd653 [qa] Add setnetworkactive smoke test (MarcoFalke) #10152 080d7c7 [trivial] remove unused line in Travis config (jnewbery) #10159 df1ca9e [tests] color test results and sort alphabetically (jnewbery) #10124 88799ea [test] Suppress test logging spam (jnewbery) #10142 ed09dd3 Run bitcoin_test-qt under minimal QPA platform (ryanofsky) #9949 a27dbc5 [bench] Avoid function call arguments which are pointers to uninitialized values (practicalswift) #10187 b44adf9 tests: Fix test_runner return value in case of skipped test (laanwj) #10197 d86bb07 [tests] Functional test warnings (jnewbery) #10219 9111df9 Tests: Order Python Tests Differently (jimmysong) #10229 f3db4c6 Tests: Add test for getdifficulty (jimmysong) #10224 2723bcd [test] Add test for getaddednodeinfo (jimmysong) #10023 c530c15 [tests] remove maxblocksinflight.py (functionality covered by other test) (jnewbery) #10097 1b25b6d Move zmq test skipping logic into individual test case (jnewbery) #10272 54e2d87 [Tests] Prevent warning: variable ‘x’ is uninitialized (paveljanik) #10225 e0a7e19 [test] Add aborttrescan tests (kallewoof) #10278 8254a8a [test] Add Unit Test for GetListenPort (jimmysong) #10280 47535d7 [test] Unit test amount.h/amount.cpp (jimmysong) #10256 80c3a73 [test] Add test for gettxout to wallet.py (jimmysong) #10264 492d22f [test] Add tests for getconnectioncount, getnettotals and ping (jimmysong) #10169 8f3e384 [tests] Remove func test code duplication (jnewbery) #10198 dc8fc0c [tests] Remove is_network_split from functional test framework (jnewbery) #10255 3c5e6c9 [test] Add test for listaddressgroupings (jimmysong) #10137 75171f0 Remove unused import. Remove accidental trailing semicolons (practicalswift) #10307 83073de [tests] allow zmq test to be run in out-of-tree builds (jnewbery) #10344 e927483 [tests] Fix abandonconflict.py intermittency (jnewbery) #10318 170bc2c [tests] fix wait_for_inv() (jnewbery) #10171 fff72de [tests] Add node methods to test framework (jnewbery) #10352 23d78c4 test: Add elapsed time to RPC tracing (laanwj) #10342 6a796b2 [tests] Improve mempool_persist test (jnewbery) #10287 776ba23 [tests] Update Unit Test for addrman.h/addrman.cpp (jimmysong) #10365 7ee5236 [tests] increase timeouts in sendheaders test (jnewbery) #10361 f6241b3 qa: disablewallet: Check that wallet is really disabled (MarcoFalke) #10371 4b766fc [tests] Clean up addrman_tests.cpp (jimmysong) #10253 87abe20 [test] Add test for getnetworkhashps (jimmysong) #10376 8bd16ee [tests] fix disconnect_ban intermittency (jnewbery) #10374 5411997 qa: Warn when specified test is not found (MarcoFalke) #10405 0542978 tests: Correct testcase in script_tests.json for large number OP_EQUAL (laanwj) #10429 6b99daf tests: fix spurious addrman test failure (theuni) #10433 8e57256 [tests] improve tmpdir structure (jnewbery) #10415 217b416 [tests] Speed up fuzzing by ~200x when using afl-fuzz (practicalswift) #10445 b4b057a Add test for empty chain and reorg consistency for gettxoutsetinfo (gmaxwell) #10423 1aefc94 [tests] skipped tests should clean up after themselves (jnewbery) #10359 329fc1d [tests] functional tests should call BitcoinTestFramework start/stop node methods (jnewbery) #10514 e103b3f Bugfix: missing == 0 after randrange (sipa) #10515 c871f32 [test] Add test for getchaintxstats (jimmysong) #10509 bea5b00 Remove xvfb configuration from travis (ryanofsky) #10535 30853e1 [qa] fundrawtx: Fix shutdown race (MarcoFalke) #9909 300f8e7 tests: Add FindEarliestAtLeast test for edge cases (ryanofsky) #10331 75e898c Share config between util and functional tests (jnewbery) #10321 e801084 Use FastRandomContext for all tests (sipa) #10524 6c2d81f [tests] Remove printf(…) (practicalswift) #10547 71ab6e5 [tests] Use FastRandomContext instead of boost::random::{mt19937,uniform_int_distribution} (practicalswift) #10551 6702617 [Tests] Wallet encryption functional tests (achow101) #10555 643fa0b [tests] various improvements to zmq_test.py (jnewbery) #10533 d083bd9 [tests] Use cookie auth instead of rpcuser and rpcpassword (achow101) #10632 c68a9a6 qa: Add stopatheight test (MarcoFalke) #10636 4bc853b [qa] util: Check return code after closing bitcoind proc (MarcoFalke) #10662 e0a7801 Initialize randomness in benchmarks (achow101) #10612 7c87a9c The young person’s guide to the test_framework (jnewbery) #10659 acb1153 [qa] blockchain: Pass on closed connection during generate call (MarcoFalke) #10690 416af3e [qa] Bugfix: allow overriding extra_args in ComparisonTestFramework (sdaftuar) #10556 65cc7aa Move stop/start functions from utils.py into BitcoinTestFramework (jnewbery) #10704 dd07f47 [tests] nits in dbcrash.py (jnewbery) #10743 be82498 [test] don’t run dbcrash.py on Travis (jnewbery) #10761 d3b5870 [tests] fix replace_by_fee.py (jnewbery) #10759 1d4805c Fix multi_rpc test for hosts that dont default to utf8 (TheBlueMatt) #10190 e4f226a [tests] mining functional tests (including regression test for submitblock) (jnewbery) #10739 1fc783f test: Move variable state down where it is used (paveljanik) #9980 fee0d80 Fix mem access violation merkleblock (Christewart) #10893 0c173a1 [QA] Avoid running multiwallet.py twice (jonasschnelli) #10927 9d5e8f9 test: Make sure wallet.backup is created in temp path (laanwj) #10899 f29d5db [test] Qt: Use _putenv_s instead of setenv on Windows builds (brianmcmichael) #10912 5c8eb79 [tests] Fix incorrect memory_cleanse(…) call in crypto_tests.cpp (practicalswift) #11001 fa8a063 [tests] Test disconnecting unsupported service bits logic (jnewbery) #10695 929fd72 [qa] Rewrite BIP65/BIP66 functional tests (sdaftuar) #10963 ecd2135 [bench] Restore format state of cout after printing with std::fixed/setprecision (practicalswift) #11025 e5d26e4 qa: Fix inv race in example_test (MarcoFalke) #10765 2c811e0 Tests: address placement should be deterministic by default (ReneNyffenegger) #11000 ac016e1 test: Add resendwallettransactions functional tests (promag) #11032 aeb3175 [qa] Fix block message processing error in sendheaders.py (sdaftuar) #10105 0b9fb68 [tests] fixup - make all Travis test runs quiet, non just cron job runs (jnewbery) #10222 6ce7337 [tests] test_runner - check unicode (jnewbery) #10327 35da2ae [tests] remove import-abort-rescan.py (jnewbery) #11023 bf74d37 [tests] Add option to attach a python debugger if functional test fails (jnewbery) #10565 8c2098a [coverage] Remove subtrees and benchmarks from coverage report (achow101) Miscellaneous #9871 be8ba2c Add a tree sha512 hash to merge commits (sipa) #9821 d19d45a util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD (laanwj) #9903 ba80a68 Docs: add details to -rpcclienttimeout doc (ian-kelling) #9910 53c300f Docs: correct and elaborate -rpcbind doc (ian-kelling) #9905 01b7cda [contrib] gh-merge: Move second sha512 check to the end (MarcoFalke) #9880 4df8213 Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1 (TheBlueMatt) #9932 00c13ea Fix verify-commits on travis and always check top commit’s tree (TheBlueMatt) #9952 6996e06 Add historical release notes for 0.14.0 (laanwj) #9940 fa99663 Fix verify-commits on OSX, update for new bad Tree-SHA512, point travis to different keyservers (TheBlueMatt) #9963 8040ae6 util: Properly handle errors during log message formatting (laanwj) #9984 cce056d devtools: Make github-merge compute SHA512 from git, instead of worktree (laanwj) #9995 8bcf934 [doc] clarify blockchain size and pruning (askmike) #9734 0c17afc Add updating of chainTxData to release process (sipa) #10063 530fcbd add missing spaces so that markdown recognizes headline (flack) #10085 db1ae54 Docs: remove ‘noconnect’ option (jlopp) #10090 8e4f7e7 Update bitcoin.conf with example for pruning (coinables) #9424 1a5aaab Change LogAcceptCategory to use uint32_t rather than sets of strings (gmaxwell) #10036 fbf36ca Fix init README format to render correctly on github (jlopp) #10058 a2cd0b0 No need to use OpenSSL malloc/free (tjps) #10123 471ed00 Allow debug logs to be excluded from specified component (jnewbery) #10104 fadf078 linearize script: Option to use RPC cookie (achow101) #10162 a3a2160 [trivial] Log calls to getblocktemplate (jnewbery) #10155 928695b build: Deduplicate version numbers (laanwj) #10211 a86255b [doc] Contributor fixes & new “finding reviewers” section (kallewoof) #10250 1428f30 Fix some empty vector references (sipa) #10270 95f5e44 Remove Clang workaround for Boost 1.46 (fanquake) #10263 cb007e4 Trivial: fix fee estimate write error log message (CryptAxe) #9670 bd9ec0e contrib: github-merge improvements (laanwj) #10260 1d75597 [doc] Minor corrections to osx dependencies (fanquake) #10189 750c5a5 devtools/net: add a verifier for scriptable changes. Use it to make CNode::id private (theuni) #10322 bc64b5a Use hardware timestamps in RNG seeding (sipa) #10381 7f2b9e0 Shadowing warnings are not enabled by default, update doc accordingly (paveljanik) #10380 b6ee855 [doc] Removing comments about dirty entries on txmempool (madeo) #10383 d0c37ee [logging] log system time and mock time (jnewbery) #10404 b45a52a doc: Add logging to FinalizeNode() (sdaftuar) #10388 526e839 Output line to debug.log when IsInitialBlockDownload latches to false (morcos) #10372 15254e9 Add perf counter data to GetStrongRandBytes state in scheduler (TheBlueMatt) #10461 55b72f3 Update style guide (sipa) #10486 10e8c0a devtools: Retry after signing fails in github-merge (laanwj) #10447 f259263 Make bitcoind invalid argument error message specific (laanwj) #10495 6a38b79 contrib: Update location of seeds.txt (laanwj) #10469 b6b150b Fixing typo in rpcdump.cpp help message (keystrike) #10451 27b9931 contrib/init/bitcoind.openrcconf: Don’t disable wallet by default (luke-jr) #10323 00d3692 Update to latest libsecp256k1 master (sipa) #10422 cec9e1e Fix timestamp in fee estimate debug message (morcos) #10566 5d034ee [docs] Use the “domain name setup” image (previously unused) in the gitian docs (practicalswift) #10534 a514ac3 Clarify prevector::erase and avoid swap-to-clear (sipa) #10575 22ec768 Header include guideline (sipa) #10480 fbf5d3b Improve commit-check-script.sh (sipa) #10502 1ad3d4e scripted-diff: Remove BOOST_FOREACH, Q_FOREACH and PAIRTYPE (jtimon) #10377 b63be2c Use rdrand as entropy source on supported platforms (sipa) #9895 228c319 Turn TryCreateDirectory() into TryCreateDirectories() (benma) #10602 d76e84a Make clang-format use C++11 features (practicalswift) #10623 c38f540 doc: Add 0.14.2 release notes (MarcoFalke) #10276 b750b33 contrib/verifybinaries: allow filtering by platform (knocte) #10248 01c4b14 Rewrite addrdb with less duplication using CHashVerifier (sipa) #10577 232508f Add an explanation of quickly hashing onto a non-power of two range (gmaxwell) #10608 eee398f Add a comment explaining the use of MAX_BLOCK_BASE_SIZE (gmaxwell) #10728 7397af9 fix typo in help text for removeprunedfunds (AkioNak) #10193 6dbcc74 scripted-diff: Remove #include <boost/foreach.hpp> (jtimon) #10676 379aed0 document script-based return fields for validateaddress (instagibbs) #10651 cef4b5c Verify binaries from bitcoincore.org and bitcoin.org (TheBlueMatt) #10786 ca4c545 Add PR description to merge commit in github-merge.py (sipa) #10812 c5904e8 [utils] Allow bitcoin-cli’s -rpcconnect option to be used with square brackets (jnewbery) #10842 3895e25 Fix incorrect Doxygen tag (@ince → @since). Doxygen parameter name matching (practicalswift) #10681 df0793f add gdb attach process to test README (instagibbs) #10789 1124328 Punctuation/grammer fixes in rpcwallet.cpp (stevendlander) #10655 78f307b Properly document target_confirmations in listsinceblock (RHavar) #10917 5c003cb developer-notes: add reference to snake_case and PascalCase (benma) #11003 4b5a7ce Docs: Capitalize bullet points in CONTRIBUTING guide (eklitzke) #10968 98aa3f6 Add instructions for parallel gitian builds (coblee) #11076 1c4b9b3 0.15 release-notes nits: fix redundancy, remove accidental parenthesis & fix range style (practicalswift) #11090 8f0121c Update contributor names in release-notes.md (Derek701) #11056 cbdd338 disable jni in builds (instagibbs) #11080 2b59cfb doc: Update build-openbsd for 6.1 (laanwj) #11119 0a6af47 [doc] build-windows: Mention that only trusty works (MarcoFalke) #11108 e8ad101 Changing -txindex requires -reindex, not -reindex-chainstate (TheBlueMatt) #9792 342b9bc FastRandomContext improvements and switch to ChaCha20 (sipa) #9505 67ed40e Prevector Quick Destruct (JeremyRubin) #10820 ef37f20 Use cpuid intrinsics instead of asm code (sipa) #9999 a328904 [LevelDB] Plug leveldb logs to bitcoin logs (NicolasDorier) #9693 c5e9e42 Prevent integer overflow in ReadVarInt (gmaxwell) #10129 351d0ad scheduler: fix sub-second precision with boost < 1.50 (theuni) #10153 fade788 logging: Fix off-by-one for shrinkdebugfile default (MarcoFalke) #10305 c45da32 Fix potential NPD introduced in b297426c (TheBlueMatt) #10338 daf3e7d Maintain state across GetStrongRandBytes calls (sipa) #10544 a4fe077 Update to LevelDB 1.20 (sipa) #10614 cafe24f random: fix crash on some 64bit platforms (theuni) #10714 2a09a38 Avoid printing incorrect block indexing time due to uninitialized variable (practicalswift) #10837 8bc6d1f Fix resource leak on error in GetDevURandom (corebob) #10832 89bb036 init: Factor out AppInitLockDataDirectory and fix startup core dump issue (laanwj) #10914 b995a37 Add missing lock in CScheduler::AreThreadsServicingQueue() (TheBlueMatt) #10958 659c096 Update to latest Bitcoin patches for LevelDB (sipa) #10919 c1c671f Fix more init bugs (TheBlueMatt) Credits Thanks to everyone who directly contributed to this release: ロハン ダル Ahmad Kazi aideca Akio Nakamura Alex Morcos Allan Doensen Andres G. Aragoneses Andrew Chow Angel Leon Awemany Bob McElrath Brian McMichael BtcDrak Charlie Lee Chris Gavin Chris Stewart Cory Fields CryptAxe Dag Robole Daniel Aleksandersen Daniel Cousens darksh1ne Dimitris Tsapakidis Eric Shaw Evan Klitzke fanquake Felix Weis flack Guido Vranken Greg Griffith Gregory Maxwell Gregory Sanders Ian Kelling Jack Grigg James Evans James Hilliard Jameson Lopp Jeremy Rubin Jimmy Song João Barbosa Johnathan Corgan John Newbery Jonas Schnelli Jorge Timón Karl-Johan Alm kewde KibbledJiveElkZoo Kirit Thadaka kobake Kyle Honeycutt Lawrence Nahum Luke Dashjr Marco Falke Marcos Mayorga Marijn Stollenga Mario Dian Mark Friedenbach Marko Bencun Masahiko Hyuga Matt Corallo Matthew Zipkin Matthias Grundmann Michael Goldstein Michael Rotarius Mikerah Mike van Rossum Mitchell Cash Nicolas Dorier Patrick Strateman Pavel Janík Pavlos Antoniou Pavol Rusnak Pedro Branco Peter Todd Pieter Wuille practicalswift René Nyffenegger Ricardo Velhote romanornr Russell Yanofsky Rusty Russell Ryan Havar shaolinfry Shigeya Suzuki Simone Madeo Spencer Lievens Steven D. Lander Suhas Daftuar Takashi Mitsuta Thomas Snider Timothy Redaelli tintinweb tnaka Warren Togami Wladimir J. van der Laan As well as everyone that helped translating on Transifex. View the full article
  5. style="margin: 0;color: black;"> View this email in a browser BitMEX Crypto Trader Digest Sep 08, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX From The BitMEX Research Desk The SegWit2x Hardfork - Part 1 - The Supporters and OpponentsAbstract: This piece examines the political landscape around the SegWit2x hardfork. Although some see SegWit2x as a sensible middle ground compromise, others see this kind of bargaining as the worst possible outcome. The Big Bad Wolf This week the PBOC decreed that its plebes may not invest or trade Initial Coin Offerings (ICOs). However when one engages in critical thought, it appears this ban has more bark than bite. Examining the way in which the ban was presented to the public, and the actions that were not taken, leads me to believe that this ban is for publicity only. What Is Banned ICOs are considered an illegal form of financing by the PBOC. Exchanges must stop supporting any trading of the tokens. Almost immediately most of the Chinese ICO trading platforms shut down. Over the past few days, many exchanges delisted any tokens from their platform. As you can imagine, without the cannon fodder of retail punters, token prices initially collapsed. Projects that raised money from Chinese nationals must refund them their Bitcoin or Ether. Since in practice, this is impossible to accomplish, the PBOC now has a nice excuse to shut down any exchange it wishes for violating the law. Token exchange owners must take their butt finessing with a smile on their face. They must bend over again when asked, or the PBOC will find them in violation of a law that is impossible to abide by. Similar to the large exchanges that deal with RMB to Bitcoin or Ether trading, the PBOC now has token trading platforms firmly under their control. That is the primary reason for these new regulations. What Is Not Banned The PBOC might have banned the issuance and trading of ICOs in China; however, they did not outlaw the way in which ICOs are funded. The revolutionary aspect of ICOs is that the money raised is in the form of a non-governmentally aligned currency. Usually that is Bitcoin or Ether. If Chinese punters can still convert RMB into Bitcoin or Ether legally, and withdraw their digital currency from the exchange, they can still subscribe for any ICO they wish. Once the trader’s assets are purely in the crypto space, it is very difficult for the PBOC to control where that money goes. The PBOC isn’t stupid. They are very informed on how money flows into and out of ICOs. Therefore, this was a deliberate omission from the new ICO regulations. What the PBOC did is construct a beautiful piece of PR. The PBOC demonstrated that it cares about the wellbeing of retail investors. The PBOC has prevented investors from losing money in this risky and volatile new asset class. If the PBOC really cared about the financial health of China it would stop propping up the property market by continuing to allow banks to issue credit. But that will never happen, so another industry was targeted to prove their good intentions. By allowing the big three exchanges to continue business as usual, the PBOC is allowing the ICO market to limp along in China. The high priests recognise that a vibrant ICO market in China is valuable. It helps promote entrepreneurs to create the next wave of useful technological applications that could propel China forward. The National Congress The 19th National Congress of the Communist Party begins in October. Every aspect of life in China is affected by this pow-wow. Xi Jinping must present a country that is chugging along towards greatness. No outward crack in the veneer of harmony and prosperity is allowed. The once vibrant ICO industry in China was a liability. The amounts of money raised grew and grew, and the risk of a high profile project absconding with hundreds of millions of dollars could not be ignored. The last thing Beijing needs before the all-important National Congress is a horde of destitute punters protesting about losing their money in one or more shitcoins. One day after the ban, CCTV ran a piece about the cessation of ICO trading in China. They claimed that 60 ICOs raised 2.616bn CNY, across 47 platforms, involving 105,000 investors. The highly coordinated nature of the announcement and than a prime time television piece about the new regulations is good theatre. Insecure governments will create good theatre in advance of important jamborees. The plebes must feel the love. The Future, BTFD! The crypto market does not respect the PBOC like it once did. Bitcoin and Ether declined 15% and 20% respectively immediately following the ban. However, both have almost paired Monday’s losses. To many traders, this ban presented a perfect opportunity to increase their exposure to the asset class. While the PBOC banned ICOs, it did not address the root cause of why Chinese investors are desperate to hand their savings to teams with slick websites. The property market is still too expensive for most traders, and after the 2015 carnage, many traders avoid the A-share market. The PBOC continues to allow domestic banks to expand the money supply through aggressive lending. This unabashed money printing creates a fear amongst comrades of a massive upcoming devaluation of the RMB. Any asset or scheme that can generate inflation beating returns excites desperate Chinese savers. After experiencing a modicum of freedom over the investment of their savings, Chinese investors will chafe under these new regulations. The forbidden fruit tastes sweeter. By banning ICOs, the PBOC just created the industry’s best marketing tool. The ICO asset class is still very niche. But now that CCTV is educating everyone in China about what they are. More people will attempt to purchase this taboo asset. Far from negative, this is one of the best things that could happen to any alternative asset. ICO fundraising in China will move underground. After the National Congress, the restrictions on ICO fundraising will loosen. Remember the “crackdown” on the big three exchanges earlier this year. After a few months, the PBOC relented and allowed trading and withdrawals to function normally again. Savvy offshore trading platforms will profit from the gap in the market caused by the closure of the leading onshore Chinese trading platforms. While overt fundraising through WeChat and QQ groups will cease for now, motivated ICO promoters will create innovative ways to access the insatiable demand for alternative savings products from Chinese investors. XBTUSD Funding Mean Reversion Strategy After over a year in existence, it is time to analyse the predictive properties of the XBTUSD funding rate. The XBTUSD 100x leveraged contract is a Bitcoin / USD total return swap that has no expiry date. To anchor the price of the swap back to the spot market, an interest payment (we call this funding) is exchanged between longs and shorts. The interest rate by and large is determined by the previously observed 8-hour time weighted average premium of the swap vs. the spot price. The funding rate is published with an 8-hour grace period before it is charged. That allows traders who do not wish to pay or receive funding to exit their positions before the funding timestamp. The question is, can you predict the future price of Bitcoin by the published funding rate? I have analysed data from March 2017 until now. My data series consists of the funding rate every 8 hours, and the log return of the XBTUSD swap over the next 8 hours.T0: NowT1: 8 hours in the futureX-axis: Funding Rate published T0 to be charged at T1Y-axis: Log(XBTUSD P1 / XBTUSD P0) Simple Regression The above chart is a XY scatter plot of the data. The chart clearly illustrates the funding rate contains no significant predictive power. Digging Deeper When the funding is extremely positive or negative, this could signal a reversal in the market’s direction i.e. mean reversion. Using an extreme funding rate as the signal, we can take the counter trend position. Example: If the published funding is at the maximum +0.375%, does that predict with greater accuracy whether the return of XBTUSD in the next 8 hours will be negative? To further analyse this hypothesis, I calculated the sample mean and standard deviation of the funding rate in basis points (bps).1bps = 0.01%Mean: 1.66bpsStandard Deviation: 17.13bps I constructed one and two sigma bands. I then conducted mean reversion tests.1 Sigma = 1 Standard Deviation Hypothesis: A large negative funding rate predicts a positive return for the next 8 hour period. A large positive funding rate predicts a negative return for the next 8 hour period. The magnitude of the funding rate tested depends on the number of sigmas away from the mean. The following table lists the results. Sigmas Funding Rate Sample Size % Success Cumulative Funding Cumulative XBTUSD Return Cumulative Return % of Total Observations -2 -32.61 21 47.62% -7.71% 3.36% 11.07% 4.01% -1 -15.47 62 53.23% -16.76% -18.15% -1.38% 11.83% 1 18.80 81 45.68% 25.10% -14.77% 10.33% 15.46% 2 35.93 36 44.44% 13.49% 6.90% 20.39% 6.87% Sample Size - Out of 524 funding periods, this is the number of times that the funding rate was less than or equal to the sigma adjusted test (assuming a negative funding rate).% Success - Out of the sample size, this is the number of times where the funding rate was negative and the next period return was positive or vice versa.Cumulative Return - This is the net return, including funding, of both success and failure situations. If the funding rate is negative, you go long, and you receive funding because the rate is negative. If the funding rate is positive, you go short, and you receive funding because the rate is positive.% of Total Observations - Sample Size / 524 (Total Number of Funding Periods) Conclusion The data clearly illustrates that traders may use an extreme funding rate as a signal to take the counter trend position. The added benefit of receiving funding for bucking the trend is what provides a significant majority of this strategy’s returns. A simple trading algo can be constructed to capture this alpha. At each funding timestamp, if the funding rate is above or below your limit, place the counter trend trade. Immediately after the next funding timestamp, close your XBTUSD position. The one caveat is the sample size is still relatively small. I will revisit this study early next year to observe if the results change. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe
  6. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Sep 08, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX From The BitMEX Research Desk The SegWit2x Hardfork - Part 1 - The Supporters and OpponentsAbstract: This piece examines the political landscape around the SegWit2x hardfork. Although some see SegWit2x as a sensible middle ground compromise, others see this kind of bargaining as the worst possible outcome. The Big Bad Wolf This week the PBOC decreed that its plebes may not invest or trade Initial Coin Offerings (ICOs). However when one engages in critical thought, it appears this ban has more bark than bite. Examining the way in which the ban was presented to the public, and the actions that were not taken, leads me to believe that this ban is for publicity only.What Is BannedICOs are considered an illegal form of financing by the PBOC. Exchanges must stop supporting any trading of the tokens. Almost immediately most of the Chinese ICO trading platforms shut down. Over the past few days, many exchanges delisted any tokens from their platform. As you can imagine, without the cannon fodder of retail punters, token prices initially collapsed.Projects that raised money from Chinese nationals must refund them their Bitcoin or Ether. Since in practice, this is impossible to accomplish, the PBOC now has a nice excuse to shut down any exchange it wishes for violating the law.Token exchange owners must take their butt finessing with a smile on their face. They must bend over again when asked, or the PBOC will find them in violation of a law that is impossible to abide by.Similar to the large exchanges that deal with RMB to Bitcoin or Ether trading, the PBOC now has token trading platforms firmly under their control. That is the primary reason for these new regulations.What Is Not BannedThe PBOC might have banned the issuance and trading of ICOs in China; however, they did not outlaw the way in which ICOs are funded. The revolutionary aspect of ICOs is that the money raised is in the form of a non-governmentally aligned currency. Usually that is Bitcoin or Ether.If Chinese punters can still convert RMB into Bitcoin or Ether legally, and withdraw their digital currency from the exchange, they can still subscribe for any ICO they wish. Once the trader’s assets are purely in the crypto space, it is very difficult for the PBOC to control where that money goes.The PBOC isn’t stupid. They are very informed on how money flows into and out of ICOs. Therefore, this was a deliberate omission from the new ICO regulations. What the PBOC did is construct a beautiful piece of PR.The PBOC demonstrated that it cares about the wellbeing of retail investors. The PBOC has prevented investors from losing money in this risky and volatile new asset class. If the PBOC really cared about the financial health of China it would stop propping up the property market by continuing to allow banks to issue credit. But that will never happen, so another industry was targeted to prove their good intentions.By allowing the big three exchanges to continue business as usual, the PBOC is allowing the ICO market to limp along in China. The high priests recognise that a vibrant ICO market in China is valuable. It helps promote entrepreneurs to create the next wave of useful technological applications that could propel China forward.The National CongressThe 19th National Congress of the Communist Party begins in October. Every aspect of life in China is affected by this pow-wow. Xi Jinping must present a country that is chugging along towards greatness. No outward crack in the veneer of harmony and prosperity is allowed.The once vibrant ICO industry in China was a liability. The amounts of money raised grew and grew, and the risk of a high profile project absconding with hundreds of millions of dollars could not be ignored. The last thing Beijing needs before the all-important National Congress is a horde of destitute punters protesting about losing their money in one or more shitcoins.One day after the ban, CCTV ran a piece about the cessation of ICO trading in China. They claimed that 60 ICOs raised 2.616bn CNY, across 47 platforms, involving 105,000 investors. The highly coordinated nature of the announcement and than a prime time television piece about the new regulations is good theatre. Insecure governments will create good theatre in advance of important jamborees. The plebes must feel the love.The Future, BTFD!The crypto market does not respect the PBOC like it once did. Bitcoin and Ether declined 15% and 20% respectively immediately following the ban. However, both have almost paired Monday’s losses. To many traders, this ban presented a perfect opportunity to increase their exposure to the asset class.While the PBOC banned ICOs, it did not address the root cause of why Chinese investors are desperate to hand their savings to teams with slick websites. The property market is still too expensive for most traders, and after the 2015 carnage, many traders avoid the A-share market. The PBOC continues to allow domestic banks to expand the money supply through aggressive lending. This unabashed money printing creates a fear amongst comrades of a massive upcoming devaluation of the RMB. Any asset or scheme that can generate inflation beating returns excites desperate Chinese savers.After experiencing a modicum of freedom over the investment of their savings, Chinese investors will chafe under these new regulations. The forbidden fruit tastes sweeter. By banning ICOs, the PBOC just created the industry’s best marketing tool.The ICO asset class is still very niche. But now that CCTV is educating everyone in China about what they are. More people will attempt to purchase this taboo asset. Far from negative, this is one of the best things that could happen to any alternative asset.ICO fundraising in China will move underground. After the National Congress, the restrictions on ICO fundraising will loosen. Remember the “crackdown” on the big three exchanges earlier this year. After a few months, the PBOC relented and allowed trading and withdrawals to function normally again.Savvy offshore trading platforms will profit from the gap in the market caused by the closure of the leading onshore Chinese trading platforms. While overt fundraising through WeChat and QQ groups will cease for now, motivated ICO promoters will create innovative ways to access the insatiable demand for alternative savings products from Chinese investors. XBTUSD Funding Mean Reversion Strategy After over a year in existence, it is time to analyse the predictive properties of the XBTUSD funding rate. The XBTUSD 100x leveraged contract is a Bitcoin / USD total return swap that has no expiry date. To anchor the price of the swap back to the spot market, an interest payment (we call this funding) is exchanged between longs and shorts. The interest rate by and large is determined by the previously observed 8-hour time weighted average premium of the swap vs. the spot price.The funding rate is published with an 8-hour grace period before it is charged. That allows traders who do not wish to pay or receive funding to exit their positions before the funding timestamp. The question is, can you predict the future price of Bitcoin by the published funding rate?I have analysed data from March 2017 until now. My data series consists of the funding rate every 8 hours, and the log return of the XBTUSD swap over the next 8 hours.T0: NowT1: 8 hours in the futureX-axis: Funding Rate published T0 to be charged at T1Y-axis: Log(XBTUSD P1 / XBTUSD P0)Simple RegressionThe above chart is a XY scatter plot of the data. The chart clearly illustrates the funding rate contains no significant predictive power.Digging DeeperWhen the funding is extremely positive or negative, this could signal a reversal in the market’s direction i.e. mean reversion. Using an extreme funding rate as the signal, we can take the counter trend position.Example:If the published funding is at the maximum +0.375%, does that predict with greater accuracy whether the return of XBTUSD in the next 8 hours will be negative?To further analyse this hypothesis, I calculated the sample mean and standard deviation of the funding rate in basis points (bps).1bps = 0.01%Mean: 1.66bpsStandard Deviation: 17.13bpsI constructed one and two sigma bands. I then conducted mean reversion tests.1 Sigma = 1 Standard DeviationHypothesis:A large negative funding rate predicts a positive return for the next 8 hour period. A large positive funding rate predicts a negative return for the next 8 hour period.The magnitude of the funding rate tested depends on the number of sigmas away from the mean.The following table lists the results. Sigmas Funding Rate Sample Size % Success Cumulative Funding Cumulative XBTUSD Return Cumulative Return % of Total Observations -2 -32.61 21 47.62% -7.71% 3.36% 11.07% 4.01% -1 -15.47 62 53.23% -16.76% -18.15% -1.38% 11.83% 1 18.80 81 45.68% 25.10% -14.77% 10.33% 15.46% 2 35.93 36 44.44% 13.49% 6.90% 20.39% 6.87% Sample Size - Out of 524 funding periods, this is the number of times that the funding rate was less than or equal to the sigma adjusted test (assuming a negative funding rate).% Success - Out of the sample size, this is the number of times where the funding rate was negative and the next period return was positive or vice versa.Cumulative Return - This is the net return, including funding, of both success and failure situations. If the funding rate is negative, you go long, and you receive funding because the rate is negative. If the funding rate is positive, you go short, and you receive funding because the rate is positive.% of Total Observations - Sample Size / 524 (Total Number of Funding Periods)ConclusionThe data clearly illustrates that traders may use an extreme funding rate as a signal to take the counter trend position. The added benefit of receiving funding for bucking the trend is what provides a significant majority of this strategy’s returns.A simple trading algo can be constructed to capture this alpha. At each funding timestamp, if the funding rate is above or below your limit, place the counter trend trade. Immediately after the next funding timestamp, close your XBTUSD position.The one caveat is the sample size is still relatively small. I will revisit this study early next year to observe if the results change. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  7. style="margin: 0;color: black;"> View this email in a browser BitMEX Crypto Trader Digest Sep 01, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX BitMEX Research Desk In order to expand BitMEX's though leadership in the wider digital currency community, we launched a dedicated research desk. The BitMEX Research Desk will produce thoughtful, interesting, and provocative research pieces dealing with issues facing the community. The majority of the pieces will be written by a long time Bitcoiner. The desk aims to produce 1-2 pieces of content per week. The following newsletter is dedicated to the first pieces of content. In the future, all content will be published to a dedicated research portal. In order to create an excellent product, we need reader feedback. Please don't hesitate to suggest ways in which we can improve. Bitcoin Cash: Potential Price Implications of Investment Flow Data The launch of Bitcoin Cash On 1st August 2017, a new coin was launched, Bitcoin Cash (BCH). This was a chain split from the Bitcoin (BTC) chain. Therefore, every Bitcoin holder at the time of the split, received both Bitcoin Cash and got to keep their original Bitcoin holdings. For example those holding 1 coin prior to the split, then received 1 BTC and 1 BCH after the split. Bitcoin Cash has the following key features: Blocksize limit increase Bitcoin Cash increased the blocksize limit, to 8MB from 1MB. This increases the potential transaction throughput of the network, by approximately 4x compared to Bitcoin with SegWit or 8x compared to Bitcoin before SegWit. This higher capacity is a key advantage and should result in lower transaction fees. New transaction digest algorithm Bitcoin Cash uses the new transaction digest algorithm for signature verification in BIP143 (part of the SegWit upgrade to Bitcoin, while other parts of the SegWit upgrade were removed). This upgrade fixes the quadratic scaling of sighash operations bug and improves scalability. Using the old hashing digest, each time the transaction size doubles, the number of hashing operations required to verify the transaction increases by a factor of 4 (2 squared), however after this fix, hashing scales linearly with respect to transaction size. The new digest algorithm is compulsory on Bitcoin Cash and is only optional on Bitcoin after SegWit. The new transaction digest algorithm also ensures that Bitcoin Cash transactions are invalid on Bitcoin and Bitcoin transactions are invalid on Bitcoin Cash, such that issues with users accidentally losing funds are mostly avoided. For example, if you send Bitcoin, your Bitcoin Cash remains where it is, and vica versa. New mining difficulty adjustment Bitcoin Cash has a new downward difficulty adjustment, this made the Bitcoin Cash block header invalid according to Bitcoin’s rules. Many mobile wallets therefore need to upgrade to follow the Bitcoin Cash chain, a key safety mechanism ensuring wallets follow the same chain as the one their transactions occur on. In addition to this, the new difficulty adjustment ensures the block time will not be too long, should only a small number of miners decide to switch to Bitcoin Cash. The new difficulty adjustment can cause the difficulty to fall too quickly if the gap between blocks is too long. Unfortunately this can incentivize miners to leave the network so that they can return when the difficulty adjusts and profitability improves. The impact of this appears to be that the capacity of the network oscillates in a volatile way and this appears to be a major weakness of the coin. In our view this requires a fix. The coin launch was in many respects born out of a political dispute over the best way forward for Bitcoin, with opposing factions strongly disagreeing with each other on the best strategy. Therefore, to some extent, there is an ideological competition between the two coins, with each side hoping their chosen coin will be the most successful. The dispute is difficult to accurately characterize, however the cause of it appears to be that each side looks at the scaling issue with a different key focus. One side appears to prioritise onchain capacity increases, while the other side appears keen to ensure that upgrades occur in a smooth, safe and voluntarist manner. Therefore, although there is not necessarily any direct disagreement between the sides, both groups are determined advocates of their favoured solutions, such that their respective coins have the potential to remain viable in the long run, in our view. It is this determination that can keep coins alive, more than anything else. There has been some analysis comparing various metrics of the two coins, in particular focusing on mining profitability. Mining profitability is an area of particular interest given the volatile difficulty adjustment on Bitcoin Cash, causing hashrate swings between the two coins. This research note will instead focus on the apparent investor flows between the two coins. Obtaining meaningful data here is more challenging than looking at mining profitability, however the implications of this analysis could prove to be more significant in the long run. The fact that two potentially opposing groups were each given both tokens and can now trade them against each other, to reflect their ideological objectives, makes the trading and financial market dynamics of this situation somewhat unique and interesting, in our view. Analysis of investment flows As the following chart shows, since the chain split, as at 23rd August, 2.8 million coins on Bitcoin Cash have been spent at least once. This compares to 3.4 million coins being spent at least once on the Bitcoin chain. We calculated these figures by looking at both blockchains and subtracting the amount of coins which were unspent since the split, from the total coin supply. Bitcoin Cash has c82% of the spend, using this metric, compared to Bitcoin (2.8m/3.4m = c82%). In contrast, according to data from fork.lol, Bitcoin Cash only has c4.9% the transaction volume of Bitcoin. Therefore, since Bitcoin Cash usage is low relative to Bitcoin, it may be somewhat reasonable to assume that most of spend on Bitcoin Cash is “investment flow related”. One may think this low usage (4.9%) is a negative for Bitcoin Cash, however although transaction volume is an important metric, in our view, this has limited implications on financial markets compared to investment flows, which consider value. Bitcoin (BTC) vs Bitcoin Cash (BCH) – Value of coins spent at least once since the chain split Source: BitMEX research, Bitcoin blockchain, Bitcoin Cash blockchain At the time of the split, there were approximately 16.5 million Bitcoins in existence. Therefore, as the chart below shows, 17.2% of these have been spent at least once on Bitcoin Cash, while the remaining 82.8% of coins remain unspent. Bitcoin Cash (BCH) – Proportion of spent vs unspent coins since the chain split Source: BitMEX research, Bitcoin Cash blockchain The above data can in theory be used to estimate the behavior of investors. One could use this information to indirectly estimate the proportion of coin holders that have sold their Bitcoin Cash, which may have implications on the future price. For example: If the value of Bitcoin Cash coins spent since the split is large (perhaps 40%), many users may have already sold their Bitcoin Cash and therefore the future price outlook could be positive, as the future supply of Bitcoin Cash coins could be limited. If the value of Bitcoin Cash coins spent since the split is low (perhaps 4%), many users may still be yet to sell their Bitcoin Cash and therefore the future price outlook could be negative, as the future supply of Bitcoin Cash could be high. The below chart may illustrate this to some extent. On the 2nd day after the split, there was significant spend on the Bitcoin Cash chain (around 520,000 coins spent for the first time since the split), which may have increased the supply of coins on exchanges and then had a negative impact on the price in the following days. Since around 10th August, the daily spend (for the first time since the split) of Bitcoin Cash has been lower at around the 60,000 level, indicating supply entering the market may be lower. This could be supporting the Bitcoin Cash price to some extent. Bitcoin Cash price (% vs Bitcoin) compared to daily Bitcoin Cash spend Source: BitMEX research, Bitcoin Cash blockchain, Bittrex (for market prices) In our view, the 17.2% figure could be considered reasonably high, given that perhaps millions of coins may be lost and that the many investors are likely to be lazy and do nothing. The supply of new Bitcoin Cash coins entering the market may therefore continue this gradual decline. Therefore, in our view, this analysis indicates the price outlook for Bitcoin Cash is neutral to positive. Of course the above analysis is an oversimplification and there are many other factors at play. The 17.2% figure does not imply this value of coins has actually been sold, many investors may have either spent their coins in preparation to sell at a later point or even be splitting coins before doing the opposite trade (Selling Bitcoin and buying Bitcoin Cash). In addition to this, the analysis says little about the demand for Bitcoin Cash and focuses primarily on supply. In order for the price of Bitcoin Cash to increase, strong demand is also required. There are also many other challenges facing Bitcoin Cash, such as fixing the volatile and unusual difficulty adjustment system and improving the P2P network. Therefore we are not recommending readers to invest in Bitcoin Cash, however if you are considering it, we believe this type of analysis may be useful. An Overview of the Covert ASICBOOST Allegation Explanatory Image - Illustrative diagram of the Merkle Trees inside a Bitcoin block Overview ASICBOOST is a methodology of reducing the amount of work a mining ASIC is required to do, in order to compute a hashing attempt for Bitcoin’s Proof of Work (PoW). SHA256, which is the hashing algorithm used for Bitcoin's PoW, splits the data into 64 byte chunks before the computations occur. The Bitcoin block header is 80 bytes and therefore there are two chunks. The ASICBOOST methodology involves keeping the value of one of the chunks the same, for multiple hashing attempts. This reduces the work required by only partially doing the work for this chunk, for multiple hashing attempts. This research note should be considered as an illustrative overview of covert ASICBOOST, not an accurate or detailed analysis. Some of the complexities have been overlooked. It is not known whether miners are actually using this methodology to mine Bitcoin or not. We do not have sufficient evidence to conclude one way or the other. The purpose of this piece is to outline the theory of covert ASICBOOST, without reaching any conclusions. The ASICBOOST methodology was first formally described in a paper published in March 2016. ”Normal” Hashing When a Bitcoin miner hashes, for each attempt, some data in the block header is changed, such that the hash is different. The string which changes is called the nonce. The miner varies the 4 byte nonce, which is located in the block header (on the top right of the image), for each hashing attempt. Once all the nonces have been exhausted, the extra nonce, which is located in the coinbase transaction (on the bottom left of the image) is altered, to provide extra entropy. Changing the coinbase transaction alters the Merkle root hash, which impacts both chunk 1 and chunk 2, such that work is required on each chunk of the block header to calculate the PoW. Contrary to a popular myth, the extra nonce was in Satoshi’s original Bitcoin design and was not added later to provide extra entropy to miners. Overt ASICBOOST Using this methodology, instead of changing the extra nonce the miner alters the 4 byte version bits field in the block header instead (top left of the image). This implies chunk 2 remains unchanged for multiple hashing attempts and work is therefore saved. If this methodology is used, changes in the version bits are visible to everyone and this ASICBOOST methodology is therefore easily detectable. Covert ASICBOOST The aim here is to keep the last 4 bytes of the Merkle root hash the same, while generating entropy by changing the first 28 bytes of the Merkle root hash. Therefore chunk 2 remains unchanged for multiple hashing attempts and work is saved. However, finding multiple Merkle root hashes where the last 4 bytes collide is not easy. The only way to do this is to calculate many hashes, using the brute force method. In order to find one such collision the square root of 2^32 hashing attempts are expected to be required. This is because we are looking for one 4 byte collision, which is 32 bits. This requires 2^32 attempts and then we square root this due to the birthday paradox. This is a total of 65,536 attempts. Each attempt may require changing the extra nonce to generate a new Merkle root hash. However, due to the structure of the Merkle tree, this would require even more additional hashing. If we change the extra nonce, a new is hash is required for each row of the Merkle tree. For a large Bitcoin block, with perhaps 10 or more rows, this is a lot of extra work and therefore this is an inefficient process. The following methodologies may make this process more efficient: Option 1 – Produce empty or smaller blocks. This simply reduces the size of the Merkle tree and therefore fewer hashing operations are required to generate a different Merkle root hash. The extra nonce can therefore be varied in the normal way to produce more Merkle root hashes. Option 2 – Shuffling the branches of the right hand side of the Merkle tree. An illustration of this is provided in the red circles in the explanatory image. By shuffling the top of the right hand side of the Merkle tree, a new Merkle root hash is generated, by only doing 2 extra hashes, regardless of the size of the Merkle tree. This may be possible, but there could be restrictions preventing such shuffling, such as transaction ordering. If one transaction spends the output of another transaction in the same block, it must be to the right hand side of it. Option 3 – Shuffling the position of transactions on the right hand side of the tree, or swapping transactions. The above methodologies could be combined. The impact of the Segregated Witness upgrade proposal As shown in blue in the explanatory image, the Segregated Witness proposal gives the miner the option (if they want to use SegWit) of adding a 2nd Merkle tree to the block, with the Merkle root hash of this tree inside the coinbase transaction. This 2nd Merkle tree is required to have the same structure as the main Merkle tree, the difference is that transaction inputs redeemed by segregating the witness, have their signature in the 2nd Merkle tree (as well as the other transaction data). In contrast to this, only the version, inputs, outputs and locktime of the transactions remain in the main Merkle tree, with the signature excluded. Since the transaction structure must be the same, any alterations to the main Merkle tree, such as shuffling branches, must also be reflected in the 2nd Merkle tree. Therefore any efficiency gains from option 2 or option 3 above, are lost, and covert ASICBOOST becomes inefficient. However, after the SegWIt upgrade, a miner could still do covert ASICBOOST, but only by either using option 1 or by excluding the optional witness commitment. The theory is that doing either of these things, too often, may be suspicious and that the miner would like to keep the usage of ASICBOOST as unprovable, to maintain a secret competitive advantage. Alleged evidence of the usage of covert ASICBOOST There have been accusations that a large mining pool may be using covert ASICBOOST and that this pool is therefore more profitable than other miners. Evidence for this claim is said to include the following: The particular pool in question produces a much higher proportion of empty or smaller blocks than its mining peers (we will publish research on this in the coming weeks). The ability to do ASICBOOST is built inside the pools hardware products. This has been available for over a year and may be costly to include. One could argue that this investment would be wasted if ASICBOOST is not being used. However, this hardware based evidence does not point to covert ASICBOOST in particular and could also be used for overt ASICBOOST. The pool in question is said to own some patents related to ASICBOOST, which could be considered as circumstantial evidence. Further circumstantial evidence is that this may be an explanation for the company’s desire to prevent SegWit being activated on Bitcoin. Although in our view, even if this is true, this may only be part of the reason for attempting to prevent the activation of SegWit. In our view, although it is possible the allegations are true, the evidence is not conclusive. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe
  8. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Sep 01, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX BitMEX Research Desk In order to expand BitMEX's though leadership in the wider digital currency community, we launched a dedicated research desk. The BitMEX Research Desk will produce thoughtful, interesting, and provocative research pieces dealing with issues facing the community. The majority of the pieces will be written by a long time Bitcoiner. The desk aims to produce 1-2 pieces of content per week. The following newsletter is dedicated to the first pieces of content. In the future, all content will be published to a dedicated research portal. In order to create an excellent product, we need reader feedback. Please don't hesitate to suggest ways in which we can improve. Bitcoin Cash: Potential Price Implications of Investment Flow Data The launch of Bitcoin CashOn 1st August 2017, a new coin was launched, Bitcoin Cash (BCH). This was a chain split from the Bitcoin (BTC) chain. Therefore, every Bitcoin holder at the time of the split, received both Bitcoin Cash and got to keep their original Bitcoin holdings. For example those holding 1 coin prior to the split, then received 1 BTC and 1 BCH after the split.Bitcoin Cash has the following key features: Blocksize limit increase Bitcoin Cash increased the blocksize limit, to 8MB from 1MB. This increases the potential transaction throughput of the network, by approximately 4x compared to Bitcoin with SegWit or 8x compared to Bitcoin before SegWit. This higher capacity is a key advantage and should result in lower transaction fees. New transaction digest algorithm Bitcoin Cash uses the new transaction digest algorithm for signature verification in BIP143 (part of the SegWit upgrade to Bitcoin, while other parts of the SegWit upgrade were removed). This upgrade fixes the quadratic scaling of sighash operations bug and improves scalability. Using the old hashing digest, each time the transaction size doubles, the number of hashing operations required to verify the transaction increases by a factor of 4 (2 squared), however after this fix, hashing scales linearly with respect to transaction size. The new digest algorithm is compulsory on Bitcoin Cash and is only optional on Bitcoin after SegWit. The new transaction digest algorithm also ensures that Bitcoin Cash transactions are invalid on Bitcoin and Bitcoin transactions are invalid on Bitcoin Cash, such that issues with users accidentally losing funds are mostly avoided. For example, if you send Bitcoin, your Bitcoin Cash remains where it is, and vica versa. New mining difficulty adjustment Bitcoin Cash has a new downward difficulty adjustment, this made the Bitcoin Cash block header invalid according to Bitcoin’s rules. Many mobile wallets therefore need to upgrade to follow the Bitcoin Cash chain, a key safety mechanism ensuring wallets follow the same chain as the one their transactions occur on. In addition to this, the new difficulty adjustment ensures the block time will not be too long, should only a small number of miners decide to switch to Bitcoin Cash. The new difficulty adjustment can cause the difficulty to fall too quickly if the gap between blocks is too long. Unfortunately this can incentivize miners to leave the network so that they can return when the difficulty adjusts and profitability improves. The impact of this appears to be that the capacity of the network oscillates in a volatile way and this appears to be a major weakness of the coin. In our view this requires a fix. The coin launch was in many respects born out of a political dispute over the best way forward for Bitcoin, with opposing factions strongly disagreeing with each other on the best strategy. Therefore, to some extent, there is an ideological competition between the two coins, with each side hoping their chosen coin will be the most successful. The dispute is difficult to accurately characterize, however the cause of it appears to be that each side looks at the scaling issue with a different key focus. One side appears to prioritise onchain capacity increases, while the other side appears keen to ensure that upgrades occur in a smooth, safe and voluntarist manner. Therefore, although there is not necessarily any direct disagreement between the sides, both groups are determined advocates of their favoured solutions, such that their respective coins have the potential to remain viable in the long run, in our view. It is this determination that can keep coins alive, more than anything else. There has been some analysis comparing various metrics of the two coins, in particular focusing on mining profitability. Mining profitability is an area of particular interest given the volatile difficulty adjustment on Bitcoin Cash, causing hashrate swings between the two coins. This research note will instead focus on the apparent investor flows between the two coins. Obtaining meaningful data here is more challenging than looking at mining profitability, however the implications of this analysis could prove to be more significant in the long run. The fact that two potentially opposing groups were each given both tokens and can now trade them against each other, to reflect their ideological objectives, makes the trading and financial market dynamics of this situation somewhat unique and interesting, in our view. Analysis of investment flowsAs the following chart shows, since the chain split, as at 23rd August, 2.8 million coins on Bitcoin Cash have been spent at least once. This compares to 3.4 million coins being spent at least once on the Bitcoin chain. We calculated these figures by looking at both blockchains and subtracting the amount of coins which were unspent since the split, from the total coin supply. Bitcoin Cash has c82% of the spend, using this metric, compared to Bitcoin (2.8m/3.4m = c82%). In contrast, according to data from fork.lol, Bitcoin Cash only has c4.9% the transaction volume of Bitcoin. Therefore, since Bitcoin Cash usage is low relative to Bitcoin, it may be somewhat reasonable to assume that most of spend on Bitcoin Cash is “investment flow related”. One may think this low usage (4.9%) is a negative for Bitcoin Cash, however although transaction volume is an important metric, in our view, this has limited implications on financial markets compared to investment flows, which consider value. Bitcoin (BTC) vs Bitcoin Cash (BCH) – Value of coins spent at least once since the chain split Source: BitMEX research, Bitcoin blockchain, Bitcoin Cash blockchain At the time of the split, there were approximately 16.5 million Bitcoins in existence. Therefore, as the chart below shows, 17.2% of these have been spent at least once on Bitcoin Cash, while the remaining 82.8% of coins remain unspent. Bitcoin Cash (BCH) – Proportion of spent vs unspent coins since the chain split Source: BitMEX research, Bitcoin Cash blockchain The above data can in theory be used to estimate the behavior of investors. One could use this information to indirectly estimate the proportion of coin holders that have sold their Bitcoin Cash, which may have implications on the future price. For example: If the value of Bitcoin Cash coins spent since the split is large (perhaps 40%), many users may have already sold their Bitcoin Cash and therefore the future price outlook could be positive, as the future supply of Bitcoin Cash coins could be limited. If the value of Bitcoin Cash coins spent since the split is low (perhaps 4%), many users may still be yet to sell their Bitcoin Cash and therefore the future price outlook could be negative, as the future supply of Bitcoin Cash could be high. The below chart may illustrate this to some extent. On the 2nd day after the split, there was significant spend on the Bitcoin Cash chain (around 520,000 coins spent for the first time since the split), which may have increased the supply of coins on exchanges and then had a negative impact on the price in the following days. Since around 10th August, the daily spend (for the first time since the split) of Bitcoin Cash has been lower at around the 60,000 level, indicating supply entering the market may be lower. This could be supporting the Bitcoin Cash price to some extent. Bitcoin Cash price (% vs Bitcoin) compared to daily Bitcoin Cash spend Source: BitMEX research, Bitcoin Cash blockchain, Bittrex (for market prices) In our view, the 17.2% figure could be considered reasonably high, given that perhaps millions of coins may be lost and that the many investors are likely to be lazy and do nothing. The supply of new Bitcoin Cash coins entering the market may therefore continue this gradual decline. Therefore, in our view, this analysis indicates the price outlook for Bitcoin Cash is neutral to positive. Of course the above analysis is an oversimplification and there are many other factors at play. The 17.2% figure does not imply this value of coins has actually been sold, many investors may have either spent their coins in preparation to sell at a later point or even be splitting coins before doing the opposite trade (Selling Bitcoin and buying Bitcoin Cash). In addition to this, the analysis says little about the demand for Bitcoin Cash and focuses primarily on supply. In order for the price of Bitcoin Cash to increase, strong demand is also required. There are also many other challenges facing Bitcoin Cash, such as fixing the volatile and unusual difficulty adjustment system and improving the P2P network. Therefore we are not recommending readers to invest in Bitcoin Cash, however if you are considering it, we believe this type of analysis may be useful. An Overview of the Covert ASICBOOST Allegation Explanatory Image - Illustrative diagram of the Merkle Trees inside a Bitcoin block OverviewASICBOOST is a methodology of reducing the amount of work a mining ASIC is required to do, in order to compute a hashing attempt for Bitcoin’s Proof of Work (PoW). SHA256, which is the hashing algorithm used for Bitcoin's PoW, splits the data into 64 byte chunks before the computations occur. The Bitcoin block header is 80 bytes and therefore there are two chunks. The ASICBOOST methodology involves keeping the value of one of the chunks the same, for multiple hashing attempts. This reduces the work required by only partially doing the work for this chunk, for multiple hashing attempts. This research note should be considered as an illustrative overview of covert ASICBOOST, not an accurate or detailed analysis. Some of the complexities have been overlooked. It is not known whether miners are actually using this methodology to mine Bitcoin or not. We do not have sufficient evidence to conclude one way or the other. The purpose of this piece is to outline the theory of covert ASICBOOST, without reaching any conclusions. The ASICBOOST methodology was first formally described in a paper published in March 2016. ”Normal” HashingWhen a Bitcoin miner hashes, for each attempt, some data in the block header is changed, such that the hash is different. The string which changes is called the nonce. The miner varies the 4 byte nonce, which is located in the block header (on the top right of the image), for each hashing attempt. Once all the nonces have been exhausted, the extra nonce, which is located in the coinbase transaction (on the bottom left of the image) is altered, to provide extra entropy. Changing the coinbase transaction alters the Merkle root hash, which impacts both chunk 1 and chunk 2, such that work is required on each chunk of the block header to calculate the PoW. Contrary to a popular myth, the extra nonce was in Satoshi’s original Bitcoin design and was not added later to provide extra entropy to miners. Overt ASICBOOSTUsing this methodology, instead of changing the extra nonce the miner alters the 4 byte version bits field in the block header instead (top left of the image). This implies chunk 2 remains unchanged for multiple hashing attempts and work is therefore saved. If this methodology is used, changes in the version bits are visible to everyone and this ASICBOOST methodology is therefore easily detectable.Covert ASICBOOSTThe aim here is to keep the last 4 bytes of the Merkle root hash the same, while generating entropy by changing the first 28 bytes of the Merkle root hash. Therefore chunk 2 remains unchanged for multiple hashing attempts and work is saved. However, finding multiple Merkle root hashes where the last 4 bytes collide is not easy. The only way to do this is to calculate many hashes, using the brute force method. In order to find one such collision the square root of 2^32 hashing attempts are expected to be required. This is because we are looking for one 4 byte collision, which is 32 bits. This requires 2^32 attempts and then we square root this due to the birthday paradox. This is a total of 65,536 attempts. Each attempt may require changing the extra nonce to generate a new Merkle root hash. However, due to the structure of the Merkle tree, this would require even more additional hashing. If we change the extra nonce, a new is hash is required for each row of the Merkle tree. For a large Bitcoin block, with perhaps 10 or more rows, this is a lot of extra work and therefore this is an inefficient process. The following methodologies may make this process more efficient: Option 1 – Produce empty or smaller blocks. This simply reduces the size of the Merkle tree and therefore fewer hashing operations are required to generate a different Merkle root hash. The extra nonce can therefore be varied in the normal way to produce more Merkle root hashes. Option 2 – Shuffling the branches of the right hand side of the Merkle tree. An illustration of this is provided in the red circles in the explanatory image. By shuffling the top of the right hand side of the Merkle tree, a new Merkle root hash is generated, by only doing 2 extra hashes, regardless of the size of the Merkle tree. This may be possible, but there could be restrictions preventing such shuffling, such as transaction ordering. If one transaction spends the output of another transaction in the same block, it must be to the right hand side of it. Option 3 – Shuffling the position of transactions on the right hand side of the tree, or swapping transactions. The above methodologies could be combined. The impact of the Segregated Witness upgrade proposalAs shown in blue in the explanatory image, the Segregated Witness proposal gives the miner the option (if they want to use SegWit) of adding a 2nd Merkle tree to the block, with the Merkle root hash of this tree inside the coinbase transaction. This 2nd Merkle tree is required to have the same structure as the main Merkle tree, the difference is that transaction inputs redeemed by segregating the witness, have their signature in the 2nd Merkle tree (as well as the other transaction data). In contrast to this, only the version, inputs, outputs and locktime of the transactions remain in the main Merkle tree, with the signature excluded. Since the transaction structure must be the same, any alterations to the main Merkle tree, such as shuffling branches, must also be reflected in the 2nd Merkle tree. Therefore any efficiency gains from option 2 or option 3 above, are lost, and covert ASICBOOST becomes inefficient. However, after the SegWIt upgrade, a miner could still do covert ASICBOOST, but only by either using option 1 or by excluding the optional witness commitment. The theory is that doing either of these things, too often, may be suspicious and that the miner would like to keep the usage of ASICBOOST as unprovable, to maintain a secret competitive advantage. Alleged evidence of the usage of covert ASICBOOSTThere have been accusations that a large mining pool may be using covert ASICBOOST and that this pool is therefore more profitable than other miners. Evidence for this claim is said to include the following: The particular pool in question produces a much higher proportion of empty or smaller blocks than its mining peers (we will publish research on this in the coming weeks). The ability to do ASICBOOST is built inside the pools hardware products. This has been available for over a year and may be costly to include. One could argue that this investment would be wasted if ASICBOOST is not being used. However, this hardware based evidence does not point to covert ASICBOOST in particular and could also be used for overt ASICBOOST. The pool in question is said to own some patents related to ASICBOOST, which could be considered as circumstantial evidence. Further circumstantial evidence is that this may be an explanation for the company’s desire to prevent SegWit being activated on Bitcoin. Although in our view, even if this is true, this may only be part of the reason for attempting to prevent the activation of SegWit. In our view, although it is possible the allegations are true, the evidence is not conclusive. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  9. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Aug 24, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX Everyone's Doing It CNBC anchors are now shilling shitcoins they just heard about last week only because of their violent price rises. The S&P 500 has performed tremendously since 2009, however, volatility, trading volumes, and general investor interest has collapsed alongside a secular bull market. For those who make their money in financial media and advice, volatility is needed. Volatility is the lifeblood of traders and digital currency markets. While the usefulness of Bitcoin in everyday commerce is limited by volatility, it captures the attention of traders. Figure 1. 30day Realised Vol (LHS) vs. XBTUSD (RHS) Figure 2. 30day Realised Vol (LHS) vs. ETHUSD (RHS) The two charts above plot the 30 day realised volatility of Bitcoin and Ether against its USD value from June 2016. A linear regression of the realised volatility against the USD price produces a positive correlation of 66% and 48% for Bitcoin and Ether respectively. It is clear that higher volatility correlates with a higher price. Digital currencies are call options. The greater the volatility, the more valuable the option. If you desire a non-volatile store of value, try gold. Unfortunately, gold isn’t up 30x on the year. Observing the charts, Bitcoin and Ether were much less interesting this time last year. Those who scoffed at the digital currency complex because of the high volatility back then look even sillier today. Traders and investors crave volatility. Volatility creates opportunities for differences of opinion. Volatility creates headlines, which brings new players to the game. The Hedgies Are ComingThe intense upside volatility creates an environment where investors are finally excited about investing again. Bloomberg recently ran a story about an ex-Harvard endowment fund manager who is starting a digital currency hedge fund in Hong Kong. Another Bloomberg piece profiled the new $100 million crypto hedge fund founded by a former Hong Kong art dealer. Like moths to a flame, enlightened fund managers are hopping on the next train to 2 and 20 riches. I receive linkedin messages daily from newly minted fund managers on the crypto haj through Asia. Many of these newbies come from legacy financial institutions. In most cases they have commitments for $5 to $25 million. One thing many managers convey to me is how much easier it is to raise money for a digital currency hedge fund. While the AUM is much smaller at this stage, investors will gladly hand over their money even after you inform them it is entirely possible that they will swiftly lose every cent. An AUM Thought ExperimentA properly structured hedge fund takes somewhere between 60 to 90 days to set up. As always, lawyers and banks must be greased. That costs between $50k to $100k depending on the jurisdiction and the complexity of the structure. Most of the funds I have met contain a money man and an ideas man. The money man possesses a Rolodex of wealthy people and the pedigree necessary to separate rich people from their assets. The ideas man has a trading background, and will be the one formulating and executing trading strategies. These individuals were earning mid to high 6-figure salaries at traditional banks, hedge funds, and or asset management firms. Even though they will take a pay cut to enter this new field, they will still draw decent salaries. Budget $300k per annum combined for their salaries. On the technology side, depending on the strategies employed, the fund must have wallet security and trading technology. Assume this costs $100k per annum. This figure can easily balloon if the fund aims to execute algorithmic strategies. That will require a CTO with financial services experience. Anyone good is going to either want a serious cut of the equity or beaucoup d’argent. Now, don’t forget the accountants. Managing OPM requires periodic audits by accredited firms. I hear Friedman LLP is quite excellent. Budget another $100k per year for these services. Setup Costs: $100k Yearly Operating Costs: $500k Like most hedge funds, the crypto managers will charge 2% of AUM and 20% of returns. To cover the $500k operating costs at a minimum requires a $25mm AUM. If you can’t raise that amount of money, you shouldn’t attempt to raise a fund under traditional legal structures and from accredited investors. That does not mean sub-$25mm funds do not exist. These small funds will take money from friends and family of the principles, and will not feature the same rigour surrounding legal structure and audit. Anecdotal reports point to over 100 funds globally being formed this year. The FOMO began in earnest this summer. That means by this fall an estimated $2.5bn will need to find a home in one or more digital currencies. The vast majority of dry powder will deploy into Bitcoin and Ether. Their combined market cap is $100bn. Many of the current holders are not selling. In the face of a $2.5bn tidal wave, marginal sellers will begin to demand higher and higher prices. Marginal buyers who engage in similar thought experiments will front run the assured demand from new funds. There are many reasons to be bearish on the short term price of Bitcoin and Ether. Hard forks, scaling issues, and proof of work changes are respectable reasons to doubt the veracity of this bull market. But these fund managers must shit or get off the pot. A stable and strong bid from hedgies will embolden bullish speculators to BTFD, and shorts to cover quickly. XBTU17 Basis Forecast Figure 1. Annualised % Premium against time to expiry In less than 6 weeks, XBTU17 will expire. Looking to the XBTM17 historical basis helps frame a prediction on how XBTU17 could trade over the next month until expiry. The above chart plots the annualised basis from the time each futures contract became the on-the-run quarterly contract until it became off-the-run. On 15 September 2017, XBTZ17 will list, and will become the on-the-run quarterly contract. Liquidity will gradually migrate from XBTU17 into XBTZ17. XBTU17’s annualised basis trading range is much tighter compared with XBTM17’s. The below table lists the max and min annualised basis for each contract. Table 1. Basis for XBTM17, XBTU17 and XBTM17 t = matching length of current XBTU17 contract XBTM17 XBTM17 t XBTU17 Max 122% 63% 29% Min -46% -9% -14% With a few weeks remaining, basis traders have a few decisions to make. These decisions depend on their views on the spot price of Bitcoin. Late Stage RallyBasis tends to spike when the market breaks through a major upside resistance level. XBTU17 basis spiked when spot cracked through $3,000. The next major level is $5,000. If you believe that spot can rise that high before expiry, go long XBTU17 basis into the rally. Once $5,000 is conquered, reverse directions, go short, to put on a cash and carry arbitrage position. On the long side, this trade profits from a rise in basis from the current sub 20% p.a. to an upside target of +50% p.a. On the reversal, this trade profits from earning positive carry by shorting XBTU17 at +50% p.a., and holding until expiry. Range Bound TradingThe diminishing amount of XBTU17 theta remaining means that the basis volatility will fall. Unless there is an explosive rally or correction, the basis will not move aggressively in either direction, but rather slowly diminish into settlement. Traders should take advantage of the positive basis, and short XBTU17, placing themselves in a cash and carry arbitrage trade. The short XBTU17 position is held until expiry. Late Stage CorrectionGiven the underlying bullishness of the market, dips will be bought. Large XBTU17 % discounts will not persist for very long as bottom feeders load up on cheap Bitcoin long exposure. If such a situation does occur, the previous Range Bound Trading scenario trade recommendation can be closed out early in profit. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  10. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Aug 10, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX I Ain't Yo Daddy This July the BitMEX team absconded to Milwaukee, Wisconsin for a team offsite. Milwaukee in the summer is beautiful. I thoroughly enjoyed morning runs on the banks of lakes and rivers in clean, crisp, and dry air. I’m currently training for Winter squash season in Hong Kong. Anything that makes keeping to my cardio schedule easier is appreciated. One day at lunch Ben and his wife wanted to eat oysters. They left the table and returned shortly afterwards. Ben recounted how they attempted to purchase oysters, but due to a silly regulation, they had to be seated, served, and supervised while eating them. There was a long line for table service so they were unable to consume anything. The nanny state is alive and well. Two adults cannot be trusted to put a shell to their mouth and slurp a morsel of food. Instead, they must be supervised by another human, and pay tips and tax for that privilege. The infantilization of the global population shows no signs of abating. The government injects itself into every aspect of our lives, and in most cases we are worse off for it. Bitcoin in some respects is a reaction against this trend. Bitcoin and the digital currency industry empowers adults to take control of their financial well being. This is liberating, but it comes with costs. Adults are expected to make informed decisions by ingesting all available information. Adults make their own good and bad choices. There is no CEO of Bitcoin to tell adults how to behave, where to trade, protect them if they lose their password, or police trading venues. Some Bitcoin traders live by this ethos of personal responsibility. However, many of these same traders express concern that Bitcoin markets do not operate like other regulated asset classes. In a recent Medium article entitled “Meet ‘Spoofy’. How a Single entity dominates the price of Bitcoin.”, the author rants and raves about how a trader or group of traders are spoofing and distorting the market. The author does present interesting allegations about Tether; however, that rabbit hole is best addressed in another newsletter. I wholeheartedly do not wish Bitcoin to trade like traditional assets. Traders should be free to, well trade. I will detail certain market practices, and why I believe they pose no threat to the integrity of the Bitcoin markets. Insider TradingThe job of a trader is to have better information than the market. That is the textbook definition of insider trading. Traders who do not use inside information will not make money. Insider trading is most policed in the equity markets. The reason why there are discontinuous jumps in the price of stocks is that information is held back from the market. If all available information could be traded upon at any time, trading patterns would be smoother. American regulators are the most aggressive prosecutors of insider traders. The irony is that US congressmen and women are allowed to insider trade on companies which they essentially regulate. That creates an interesting love triangle. Companies lobby (aka bribe) lawmakers about regulations. The lawmakers know that certain decisions they make will positively or negatively impact the stock price once made public. These same lawmakers then trade on this information and earn above average returns. Excessive regulation and legalese provide a defensive moat for large companies against small ones. The cycle perpetuates itself because only large and well heeled companies can afford the cost of continuous bribery. This bribery presents a much better return on investment than improving their underlying product. Lawmakers receive cash on both sides of the equation. Their reelection campaigns are funded by big business, and they get to trade the stock ahead of important regulatory changes. A variant of this triangle is present in most heavily bureaucratic governments. Bitcoin trading occurs across a set of unaffiliated exchanges and various jurisdictions. The notion of what could constitute inside information is difficult to discern. Given the lack of a generally accepted theory on the fundamental value of Bitcoin, a piece of market news has positive or negative implications depending on who you ask. In the ICO and altcoin markets, knowledge about potential partnerships, software bugs, or completion of certain development milestones before the general public can provide immense profits. The traders who invest the time speaking with the developers and are active in the community, are the traders who make the most money. What a thought, if you put more effort into your craft, you make more money. SpoofingSpoofing is illegal on most regulated exchanges. Spoofing is the act of posting a order you do not have the intention of honoring. Spoofing is bluffing. I find it incredible that this is illegal in certain markets. If you wanted to buy $1 billion worth of Bitcoin right now, would you tell the market? No. A smart trader would bluff that they wished to sell $1 billion worth of Bitcoin, and then if the market believes him and trades lower, buy at a lower price. If a trader has the collateral needed to place an order, he or she should be allowed to place that order. Whether or not he intends to get filled is irrelevant. The big problem, however, is if the exchange violates price -> time priority in order to let the spoofer get off the hook, if a legitimate trade occurs based on their price. Rather than focus on the flashing of large orders on Bitcoin exchanges, the author of the above mentioned article should focus on whether price -> time order matching priority was violated. Speaking for BitMEX, price -> time priority is sacrosanct. We have never, and will never violate this essential law of order matching. Many point and click traders believe that the mythical market makers on most Bitcoin exchanges are allowed to violate price -> time priority. The human trader sees a price, they think about it, then place a manual order. The order they thought would be instantly filled is not. Now the market has moved away from them. They cry foul. They believe their order should have been filled, and somehow the market maker was able to get out of a valid trade. At BitMEX order matching is done atomically. If your order submission creates a match, there is no way a market maker can pull their quote before being filled. I reiterate, price -> time priority always holds at BitMEX. Point and click traders must recognise that the human eye to brain to motor function loop is extremely slow when compared to a trading robot. You are slow, but the exchange in most cases is not at fault. If you cannot accept your inferiority as a human, either trade with a robot, or trade using a higher time frame. ReputationThe most successful Bitcoin exchanges have the most pristine reputations. There is no deposit insurance or global Bitcoin trading cop to run to. If you do not approve of the way an exchange operates or their business practices, you are free to leave the platform at any time. In order to retain customers, exchange operators must cater to their users. Contrast that to traditional asset markets. Financial institutions fluff regulators rather than improve the experience of their paying customers. Reputations take forever to build, and are tarnished instantly. Regulatory agencies can be bought, and most are held captive to the industries they police. Most high level jobs at financial institutions are held by ex-regulators. There has to be a pot of gold at the end of the rainbow to entice capable individuals to accept government jobs that pay less than the private sector. Adults trading digital currency markets have extreme power to shape the collective trading experience. A tweet or reddit post from a KOL greatly impacts the perceived safety and integrity of an exchange. Adults should use this power to create a trading environment that is conducive to safety and wealth generation. The above mentioned Medium article is a great example. The mainstream financial press picked up on this and amplified the reach of the author’s views. These views are not kind on many of the exchanges mentioned in the post. This surely will drive business to other outfits who, rightly or wrongly, are deemed to be honest. The court of public opinion is the best motivator. Day TradersIf you cannot devote at least 12 hours per day in chat rooms, on message boards, and constantly monitoring your positions, do not day trade digital currencies. Trading with a less than 1 week time horizon is dangerous if you cannot devote yourself to being on call 24/7. This is a market for adults. Be an adult, educate yourself, and in the process obtain true freedom. Push It The hard fork came, went, and now we are much better for it. Depending on who you ask, Bitcoin Cash is a roaring success or failure. Traders are neutral beings only concerned with generating profit. The fear, greed, and widely different policies enacted by exchanges offered juicy arbitrage opportunities. Bitcoin Cash was not the the first altcoin to enter existence through a hard fork of Bitcoin. However, it was the first to be widely publicised. Even the New York Times wrote decent articles explaining what Bitcoin Cash was, and what it could mean for Bitcoin. Even though SegWit is activated, the scaling debate is not finished. Later this fall, it is extremely likely that Bitcoin will hard fork again. A version of Bitcoin with SegWit and a 2MB block size (SegWit2x) will begin trading. Therefore, traders should learn about how to make money using derivatives before, during, and after a hard fork. TheoryI will use the example of Bitcoin (XBT) and Bitcoin Cash (BCH) in this theoretical example. A hard fork of any digital currency is akin to a stock dividend. There is a finite amount of network hash power at any time. Miners will decide which version of a coin to mine based on the price ratio. The difficulty will then adjust to bring the ratio of hash power and price into equilibrium. Price leads difficulty adjustments. 1 August 13:17 UTC was the record date for BCH distribution. If you held XBT on that date, you theoretically were entitled to BCH in a 1:1 ratio. If you purchased Bitcoin after the record date, you did not receive BCH. After the record date, a stock goes ex-dividend. The stock price will drop by the dividend that is paid. If we believe that hard forks act like dividends, then XBT went ex-div on August 1st. XBT should have dropped by the value of BCH. In practice, because price leads difficulty adjustment, it isn’t necessarily true that XBT will or should drop immediately by the value of BCH. Additionally, unlike stock dividends which are a discrete amount of cash, BCH is a tradable currency and its value fluctuates. Holders of long futures contract do not receive dividends. Therefore a futures contract should trade at a discount relative to the expected dividend payment. If it doesn’t, arbitrageurs will buy a stock and sell the future. They will receive the dividend payment from their long stock position, and if that is greater than the futures discount, they make money. The same phenomenon should occur in the Bitcoin futures markets. BitMEX decided that our XBTUSD and XBTU17 products underlying index would not include the value of BCH. Traders who wished to create BCH without any XBT price risk bought XBT, then sold the USD equivalent number of swap or futures contracts, and then receive BCH. Note, they would not receive any BCH for XBT margin held on BitMEX. XBTUSD and XBTU17 theoretically should trade at a discount relative to the value the market places on BCH. The big difference with BCH is that the future price is unknown. Pre-Fork XBTUSD and XBTU17 Behaviour The above chart is the outright % discount of XBTU17 from July 30th to August 3rd. The chart illustrates that traders attempting to create BCH without market risk drove the futures into extreme backwardation. The discount reached almost 5% hours before the record date. The above chart is the outright % premium or discount of XBTUSD during the same time period. Traders also sold XBTUSD to create BCH. The swap was backwardated, which resulted in shorts paying longs funding. Over this time period shorts paid 3.51% of funding. Remarkably the swap reached an outright 3.52% discount hours before the record date. The following trades assume you have no view on the viability of BCH. BCH may or may not be successful, but the trades I will describe yielded predictable positive returns. The trades described also have no Bitcoin / USD price risk. Trade 1: Buy XBTU17 vs. Short XBT SpotPredictably interest rates to borrow Bitcoin spiked during this period. Borrowing Bitcoin during the eye of the storm is not advisable. Prudent traders should have credit lines in place well in advance of the event. That allows them to lock in much cheaper rates. Using the above chart as a guide, putting this trade on hours before the fork yields the best returns. That is when traders are the most irrational. The best part is that the basis will mean revert quickly, and it did, after the fork. Therefore you limit the amount of time you pay to borrow Bitcoin. Assume you paid an egregious 1% per day to borrow Bitcoin. XBTU17’s discount went from 5% to 1% in 24 hours. Therefore, you could have earned 3% in one day on this trade. Trade 2: Buy XBTUSD vs. Short XBT SpotAgain the best time to put this trade on is hours before the fork. The beauty of funding is that for the rate to go from negative to positive, the swap must go from trading at a discount to a premium. Therefore you get paid twice. You capture the full discount, plus when you exit, the swap will be at a premium. While the swap basis mean reverts, you also get paid interest every 8 hours for being short. Once the published rate is positive, you close you long at a premium. After August 1st, it took a subsequent ten funding periods before the rate was positive again. Post-Fork XBTUSD and XBTU17 BehaviourThe fork is over. The community breathes a sigh of relieve and hedges must be unwound. Any trader that created their BCH now has it, and must close short derivative positions. The problem is that if Bitcoin rallies alongside the unwind, basis will rise, and hedgers will be forced to cover at much higher premiums. A priori we know the short squeeze will be violent. Therefore it is prudent to go long basis after the record date. The above chart is the XBTU17 outright % premium from August 3rd to 8th. The massive jump in premium occurred as the price broke $3,000. Remarkably traders were given an opportunity for days following the fork to buy XBTU17 at a discount. Those that did are test driving Lambos while you ride the bus. The above chart is the XBTUSD outright % premium over the same time period. The spike in premium occurred as the price broke $3,000. During that same time period, the funding went from negative to positive. In total, shorts received 1.76% of funding. Trade: Buy XBTU17 vs. Short XBTUSDThe aim of this trade is to play the mean reversion of XBTU17 basis. Hedgers on the margin will choose to short the future to create BCH because the interest rate they pay via the discount pre-fork is fixed. As opposed to XBTUSD which has a variable interest rate, and cannot be known a priori. Therefore XBTU17 basis will go from negative to positive. As the XBTU17 basis mean reverts, XBTUSD’s funding will shift from negative to positive. You benefit from a rising XBTU17 basis, plus your short XBTUSD hedge also receives interest income every 8 hours. Booyakasha! SegWit2x Hard ForkBitcoin Cash was a warm up for the main event later this year. Both the big blockers and SegWit disciples believe their cause was vindicated by the recent hard fork. Big blockers point to the non-zero value of BCH as proof the market values their scaling solution. SegWit folks point to the high and rising price of Bitcoin as proof that the market values their scaling solution. Neither side will back down before the SegWit2x hard fork put forward in the New York Agreement. The Fear Uncertainty and Doubt (FUD) surrounding the SegWit2x hard fork will be deafening. This FUD will put a lid on the Bitcoin price. $5,000 will not be broken until after the hard fork occurs. This sets up an exact replica of the Bitcoin Cash hard fork with more money on the line. The trades and scenarios described above will remain relevant in a few months time. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  11. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Jul 27, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX Bend Over or Hard Fork Quick RecapIn May 2016, the Slock.it team dreamed up a genius way to raise money for their project without prostrating themselves before VC firms. They created a Decentralised Autonomous Organisation (DAO) that raised money from investors in the form of Ether. Each investor became a limited partner (LP) of the DAO. An Ethereum smart contract governed the DAO whereby LPs voted on which projects to fund. Conveniently the first and most popular project was Slock.it. The DAO raised $150 million of ETH, and at the time was the largest crowdfunding project in human history. Unfortunately the DAO’s smart contract was written poorly, and an individual was able to siphon off a third of the AUM by exploiting a flaw in the code. "Code is Law" - the mantra of DAO cheerleaders, which included Vitalik and his acolytes at the Ethereum Foundation. Their blind faith in shoddy smart contract code landed them in a bind. Should the foundation use its political capital to persuade exchanges, miners, and holders to accept an Ethereum hard fork to bail out greedy punters? The foundation chose Yes, breaking the first commandment of DAOs: hard forking Ethereum so that the DAO never happened. Many in the community, especially exchanges, were not pleased that the Ethereum Foundation bailed out DAO investors. The foundation naively assumed no one would want to want the own the chain that contained the tainted DAO. Poloniex saw an opportunity, and listed Ethereum Classic (ETC). The rest is history. The Present DayThis week the SEC ruled that the DAO was a collective investment scheme, and thus a security. They did not bring any enforcement action against the promoters or exchanges that allowed trading of the DAO, they just issued caution. The SEC displayed a great deal of restraint by not perp-walking principals at Slock.it and or the Ethereum Foundation. Shortly after the hard fork, rumours began circulating that the SEC pressured the Foundation to rewrite history via a hard fork. The threat was clear: face a civil or criminal action for sponsoring and selling unlicensed securities, or hard fork. Given the recent inaction by the SEC, there is serious weight to these allegations. Step back and think about it. The SEC may have created ETC. How ironic. Many of the truly innovative and disruptive applications built on the Ethereum protocol will challenge the supremacy of governments in various industries. However, going on one year since the bending over, is Ethereum decentralised enough now to weather concerted action against it by a concerned government regulator? Would the foundation, under government pressure, attempt another hard fork to remove an application that is subversive to a powerful agency. For those who invest heavily in “disruptive” Ethereum based projects, this chain of events should give them pause. Their new and shiny token might be obliterated by an alphabet letter agency dangling the prospect of government sanctioned rape in front of scared founders. Bend over, or hard fork. What's Next for ICOs?The SEC did not pass judgement on all ICOs. Rather they clarified that if your token is clearly a security, don’t play in the US. Most ICO projects go to great length to avoid this scarlet letter. This action will certainly dampen investor enthusiasm for a time; however, the underlying premise of selling usage rights in an application is unchallenged. The world will see fewer ICOs with equity like features, but after the DAO those types of deals were never the most popular anyway. Tezos, Eos, and Bancor are the top three ICOs of 2017 in terms of money raised. All of them are protocols to perform a set of tasks. None of these tokens are collective investment schemes, or provide the owner with rights in a privately listed company. Keep calm, and party like it’s 1999. First DCO, Then ETF Congratulations to Paul and Juthica at LedgerX for reaching the promised land! There are 16 registered Derivatives Clearing Organisations (DCO) in America. This week the CFTC approved LedgerX’s application to become the 17th active DCO. LedgerX specifically focuses on Bitcoin related derivatives. This is a monumental shift in attitude of US regulators towards Bitcoin and the digital currency industry as a whole. The CFTC deems LedgerX capable of safely storing significant amounts of Bitcoin on behalf of exchange members. One of the biggest concerns that any regulator has is how a regulated entity will handle Bitcoin storage. The various exchange hacks over the years proves that Bitcoin custody is a dangerous endeavour. Should this happen, the loss of face will surely end the career of the bureaucrat in charge. Only large trading accounts can become authorised participants on LedgerX. To trade on LedgerX, participants must have several millions of dollars in cash. That restricts the universe of traders to large financial institutions. The popularity of the exchange come launch will provide clues as to the appetite of banks and large trading houses towards Bitcoin. The regulatory stamp of approval does not mean LedgerX won't get hacked; it provides convenient cover in case they do. If a financial institution trades on LedgerX and Bitcoins are lost, they can wash their hands of the loss because they traded with a regulated institution. CFTC raises one Bitcoin DCO, action to the SECIf the CFTC is looking towards the future of finance, what conversations are big dogs at the SEC having? Can they sit back and continue to deny applications for ETFs? They can't claim Bitcoin is unsafe, for their sister regulator body has deemed them so. They can't claim that Bitcoin provenance presents an issue for a retail traded product, for a regulated DCO holds Bitcoin. It is naive to assume the CFTC and SEC heads do not break bread. Traditional equity, fixed income, and commodity listed products' trading volumes are declining. Banks' quarterly earnings reports point to a secular decline in equity, fixed income, and commodity trading volumes. As I have repeatedly said, Bitcoin and digital currency trading represents the fastest growing fee pool globally. The regulatory bodies are slaves of the TBTF financial institutions. One way or another they will earn fees from digital currency trading. The disdain previously shown by bank chieftains is purely for public consumption. 2017 proves without a doubt that facilitating trading and providing financial services for digital currencies is a viable long term business. Hundreds of millions of dollars in fees earned on an industry with a sub-$100B market cap is truly astounding. The demand for a subset of non-correlated assets will force banks to play ball. Mere retail mortals cannot trade on LedgerX. However, we should be excited for the messiah, an ETF. The SEC cannot continue to be a prude rose. I predict that one or more applications for an ETF will be approved within the next 18 months. Old Folks' Home Those who can afford a plane flight are amongst the richest globally. The most avid travellers are the middle aged to geriatric. They have the most disposable income and time. Private banks cater to the middle aged and elderly because they have the most cash. The advertisements of private banks in airports provide a clear glimpse into which age cohorts bank desire. Usually the advertisement features a elderly couple with young grandchildren. The message is clear: invest for the future. You might be dead, but your progeny deserves the fruits of your labor. Due to the target market, private banks are conservative and stuffy. Impressive bank edifices subtly suggest a solid, stable, and responsible financial institution. Once accepted into the the high net worth (HNW) members club, you can expect impeccable service and egregious transaction fees. Your banker / babysitter will present him or herself as the epitome of class and sophistication. The costume jewellery worn: Hermes ties, Louboutin heels, Chanel totes etc., assure you that this person is professional, classy, and can relate to your life experiences. After handing over your minimum low digit millions of USD to a venerable institution, a plethora of “suitable” investment opportunities are presented to you. Given the age demographic of clients, the search for low risk, greater than inflation yielding assets is the name of the game. The money printing orgy since 2009 has decimated returns for elderly fixed income investors. The dash for trash in search of yield necessitated buying junk debt at lower and lower yields, and equities at higher and higher P/E ratios. No investors believe the market is undervalued. Investors of all ages and styles are now alternative investors looking for the next uncorrelated hot thing. Bitcoin and digital currencies in general are finally a tiny fixture of the investment universe. Anything that asset managers can sell to their clients at high fees will be adopted. The question is what is the general perception of the said asset class. Up until this year, Bitcoin and altcoins were playthings of anarchists and drug users. When the digital currency complex reached $100 billion market cap, they became alternative investments. Private bankers, with a straight face, can push their stuffy, conservative, geriatric clients into digital currency investments. The best part is, because the asset class is so new, yuge fees can be charged. Falcon Private Bank in Switzerland received the green light to offer a Bitcoin investment product to its clients. Banks want to be a close second. Falcon is under duress due to a loss of its banking license in Singapore relating to the 1MDB scandal. They have nothing to lose in order to repair their damaged brand. Going full crypto in the hopes of differentiating their product offering is prudent at this stage. Singapore is the Switzerland of Asia. The Monetary Authority of Singapore (MAS) will certainly feel pressure to allow one or more private banks to offer similar products. The MAS has a strong government mandate to make Singapore a FinTech hub globally. A properly sanctioned roadmap to offering Bitcoin and other digital currency products will materialise. Other FinTech and private banking friendly jurisdictions will adopt similar frameworks to encourage domestic private banks to offer similar products. Investment advice surrounding digital currencies presents a juicy fee pool. Regulators cannot ignore the requests of their member banks for a way to skim more money from their clients. The current traditional product offering is boring and yields little. As more banks and asset managers become comfortable with wallet security, a trickle, then a flood of money will find a home in crypto. The chain-split / hard fork drama is a minor distraction to traders with a time horizon greater than 6 months. Political, regulatory, and media capital invested in promoting a new asset class portends to a bright future. Trader Interview - ETFdeniedbot ETFdeniedbot has been BitMEX's top performing trader this year. Active since March, he has achieved a return on his capital at BitMEX of 23225.66%. He did not just have one lucky win at 100x - he has consistently hit it out of the park. It is rare to find such a trader. We reached out to him and he kindly agreed to an interview. Keep an eye out for him in the Trollbox as he is often active. 1. How did you get started in trading and on BitMEX? I bought into bitcoin at the end of 2013, but only started actively trading it a bit over half a year ago. Moved over to BitMEX at the start of March right before the ETF decision since I needed a lag-free place to trade. I only started being a profitable trader after the ETF had blown over. 2. I notice that you did not start with a large amount when you first signed up with BitMEX. Do you think the size of your initial capital matters when you start out? The initial capital size can change some of the strategies available to you. In general, having less means you can hold your positions open for a smaller time period and still make a good profit. However, it also comes down to how much capital you actually have. Even if the money is something you can afford to lose, as long as the sum is a non-trivial amount it'll be hard to cut your emotional ties to it. Especially since it's likely you will lose at least 50% of it before starting to make a consistent profit (I lost pretty much all of mine and had to invest more.) So in my mind, the initial capital is less like an investment and more like a cost for a lesson in trading. 3. What were your motivations to start trading? Well obviously there's the money. I was already invested into bitcoin and figured it would be a cool idea to try to double or triple the amount. After passively watching the charts for years I thought I had a handle on bitcoin and could try to predict the price. Gave it a shot and lost quite a bit and then tried to win it all back like a true addict. 4. Why do you like trading on BitMEX? Initially I picked BitMEX cause of the high leverage allowed and some comments on Reddit. Nowadays I'm not sure what there isn't to like. High volume, high liquidity, low fees all around, isolated leverage, secure wallet, good customer support, no nazi-mods in the trollbox. You even refunded those liquidations caused by the GDAX downtime and subsequent flash crash out of your own pockets. Plus the UI is nice. 5. What are the key things you look for when placing a trade? Big moves downward and high volume combined with big long liquidations. Then I just market buy and either dump my position after a small retrace up within minutes or keep buying if the price isn't going up yet. Usually after many hours of dropping there's a double bottom combined with a retrace going higher than the previous high. If that happens I try to keep my position open and wait for a good top to sell within the next hour or two. 6. How do you manage your risk? I start buying small and then increase the position as it goes deeper, but trying to always stay below 5x. I don't use stops and I only try to sell at a local top. Sometimes it gets pretty sweaty and I have a lot of unrealized losses but usually the trades end up at least breaking even. If things get really bad I might panic sell a bit of my position just to feel better, but I found that's usually right at the bottom. Barring any black swans, it's unlikely the price will tank more than 10% in one go without a retrace, and when the retrace happens I just dump it all regardless of losses. 7. What would be your advice to novice traders starting out on BitMEX? a) Everyone has to find their own way to trade. Whether it's short-term or long-term, buying or selling. What indicators, risk-levels, and leverage to use. Experimenting with different strategies will help you find your style. You have to know when to be bull-headed and when to eat the loss. I've made plenty of bad or questionable trades but got out unscathed by just holding them open. On the other hand, an early stop-loss can save you a lot of headache and minimize the losses, while also allowing you to enter at a better price. c) Very often the best trade you make is the one you don't. If you have no clue what the market might do, then you may as well be flipping a coin by entering the market. d) Any losses you take have to be accepted, and more importantly don't try to win it all back by taking more risks. Additionally, if you lose a lot and start to tilt, it's time to take a break. e) Ignore your emotions. Don't FOMO, don't panic sell. There's always a local top or bottom to enter at if you really want to, but usually it's better to just sit it out if you missed the run. f) Don't gamble with 10x+ leverage. g) If you really do want to gamble all-in, stick to 25x with a manual panic close if it's not going your way. (This only works with position sizes up to 25k with XBTUSD though.) Thanks for your time, truly an inspiration! Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  12. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Jul 12, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX Hong Kong Bitcoin Basis and Arbitrage Trading 101 Seminar Thank you to every one who attended the seminar on 29 June 2017. A video recording is available on the . I plan to hold another similar seminar in Seoul and Tokyo in August. If you are affiliated with any Bitcoin or digital currency meetups or advocacy organisations in either city, please contact us. $1 Trillion Bitcoin I'm saying it: Bitcoin will reach $1 trillion. Why should you believe me? Well, I have picked over 900 stocks. Do you believe me? Please, don't. The recent Bloomberg puff piece on a prolific stock picker’s Bitcoin price prediction was hilarious. The journalist, Camila Russo, gave credibility to Ronnie Moas because he picked over 900 stocks. She failed to disclose how profitable his predictions were over time. While farcical, pieces like these illustrate the bull market is far from finished. Remember the Dow 36,000 book published in 1999 by James K. Glassman and Kevin A. Hassett? Bloomberg and other outlets are desperate for new and exciting ways to pump Bitcoin and other cryptocurrencies. As the argument goes, if a tiny % of wealth is allocated to Bitcoin instead of gold, silver, or another traditional safe haven asset, then Bitcoin is severely undervalued. Revolutionary. Mind blowing. Please take my money. That’s why you pay 2 and 20. I wonder what Moas will charge after MiFID2 for his insightful analysis. The Age of Coin PickersGetting excited about equities or fixed income at these expensive levels is difficult. Bitcoin still isn’t dead, and the recent remarkable price rise gives it staying power and relevance for media outlets. These days, the only edge asset managers might have is if a venerable central bank employee lets something slip over drinks. Stock pickers, aka Long Short hedge fund managers, are dying a slow death. Stock picking is dead thanks to a one-way flow of printed money into the traditional asset markets. Stocks in a particular index or sector all move the same way. The lack of dispersion makes it very tough for expensive money managers to outperform a low-fee index tracking ETF. The digital currency industry presents an excellent investing playground for asset managers. Each coin or token has a distinct value proposition. Many types of idiosyncratic events can cause a particular coin to pump or dump. This volatility between coins creates a perfect environment for coin pickers. If mainstream financial outlets wish to remain relevant to a new type of investor and speculator, journalists must rediscover the skill of critical writing and investigation. Coin pickers are better served by following Slack, Telegram, and WeChat chat rooms than reading news that could be days or weeks old. Digital Currency Hedge FundsThe next hottest thing is to create your own digital currency hedge fund. I receive LinkedIn messages every week from new funds. The most popular strategy is helping lazy or technologically challenged investors access Bitcoin, Ether, Litecoin and other large cap digital currencies. The typical management fee is 2% to 4%. The barriers to entry and skill required to create these types of funds are zero. Fees will quickly go to near zero, and managers will need to acquire actual skills if they wish to retain AUM. Managers with greater trading skills and access to the teams launching hot deals run directional strategies. However, while truly talented traders can read charts and on average earn positive returns, more money is made by having direct access to better information, aka inside information. Digital currency markets are the last truly free markets globally. Profitable traders are those with better information. The best fund managers have access to pre-sale allocations of the best ICOs. In the case of EOS and Tezos, they were able to invest equity in their sponsors, Blockone and DLS, respectively. By the time the average unanointed punter buys a token in the secondary market, the chance they get dumped on significantly escalates. These fund managers live and die by their relationships. As such, it is hard to replicate years spent in the industry through the highs and lows. The third and most sophisticated type of hedge funds are market making and statistical arbitrage funds. These managers are ex-traders who recognise the inefficiencies in the digital currency markets, and have the financial and technological acumen to capture them. I routinely receive pitch decks, where funds earn over 50% per year returns with very low sharpe ratios. The barrier to entry for this type of fund is the highest. Due to the fragmented nature of the trading universe, the skill needed to properly risk manage across exchanges in different domiciles with vastly differed APIs is high. Relationships also matter. The best managers, through close cooperation with the leading exchanges, receive fee rebates and in some cases are lent money by the exchange in order to trade. The best funds have been around for years, and have helped stabilise prices during times of extreme stress. That dedication to improving the trading experience for everyone is not lost on exchange owners. The meteoric rise of Bitcoin and other digital currencies allows for non exchange and mining ancillary services to become viable. The birth of a whole new financial services industry catering to digital currency holders and speculators is exciting. Just beware of charlatans pitching $50,000 Bitcoin using mickey mouse analysis. Segwit Decision Tree Catharsis is nigh. The User Activated Soft Fork (UASF) flag day is 1 August 2017. Should Segwit (BIP141) not be activated by the flag day, the implementations of Bitcoin could multiply. This has serious implications for traders of Bitcoin and any other digital currency. Segwit + a hardfork to a larger blocksize at a future date, known as "Segwit2x", is a face saving compromise put forward by large miners. Some worry that the technology cannot be safely tested and implemented by August 1st. However, if successful, the activation of Segwit2x will keep Bitcoin intact for now. Segwit2x requires 80% of the network hashrate to signal during a 336 block period. That is roughly 2 ⅓ days. Practically speaking, Segwit2x must be locked-in by July 29th in order to make the August 1st deadline. Many people smarter than me have opined on the issues surrounding the Bitcoin scaling debate. As such, I will only focus on the relevant dates traders should etch into their memory. July 14thOn this date, miners, wallets, and other nodes can download the BTC1 software, Segwit2x, and begin testing. BTC1 was released on June 30th so there shouldn’t be any surprises when official testing by the signatories to the NY agreement actually begins. The market will react positively or negatively depending on the type of comments emanating from large and vocal miners regarding the state of the Segwit2x technology. Expect volatility to rise dramatically after this date and until August 1st. Playing the XBTU17 basis will allow traders a market neutral way to capture this volatility. If you don’t know what I’m talking about, I suggest watching my .July 21stMiners can begin signaling for Segwit2x. If it appears that the 80% threshold will easily be achieved, expect the market to scream higher. The relief rally will be intense as everyone breathes a sigh of relieve that a UASF-induced chain split will not occur. If the % of hashrate signaling for Segwit2x is very low, and it appears that it will not reach 80% over the next week, expect dump city. It is still entirely unclear how many of the largest spot exchanges will deal with multiple implementations of Bitcoin. As a result, traders will sell Bitcoin and wait for the dust to settle. Those who wish to remain exposed to digital currencies may increase their holders of the large cap altcoins. Big Daddy Vitalik’s Ether will experience inflows of biblical proportions. The best feature of Ether is that decisions can be heavily influenced by the boy-God Vitalik. Traders always favour certainty over chaos; even if that chaos could birth a better Bitcoin. If the % of hashrate signaling is neither too hot nor too cold, the market will slump, but traders will hold out hope for a successful activation. July 29thThis is the deadline for Segwit2x to be locked in in advance of UASF flagday. After Segwit2x is locked in, miners have another 336 blocks before activation. Segwit2x must be activated on or before August 1st. Failure will result in Armageddon. The final hope, then, is that Segwit (BIP141) is locked-in by July 31st. But that would require a two-week difficulty adjustment period ending on or before July 31st. It is unknown whether that will occur. If spot exchanges clearly communicate how a chain split and or hard fork of Bitcoin will be handled, traders may not dump their stash en mass. However another problem presents itself. The general public, who now for the first time dipped their toes into the piranha infested digital currency waters, will wonder what this all means. They have no idea what a chain split, a hard fork, or a BIP is. They just want to participate in the next get-rich-quick internet scheme. As the price plummets they will wonder what is going on. When the mainstream financial press explains the precarious position Bitcoin is in, they will delay future purchases and sell their holdings. There may be opportunities to go long Bitcoin at depressed levels a few days prior to July 29th in hopes of a Christmas miracle. Otherwise, if you are still long by this day, you could be staring at some yuge red numbers on your computer screen. August 1stAssuming Segwit2x failed, the anti-christ is upon us. There is a possibility of four different implementations of Bitcoin. Read Bitcoin Magazine’s excellent summary of what may happen, essentially:UASF Flops (BIP148)If this happens, the price of Bitcoin should have already starting dumping on July 29th. Now, the upside risk for shorts is that the amount of hashrate supporting the UASF is minuscule. At that point, exchanges would not bother supporting BIP148 Bitcoin as it has no umph behind it. This presents miners supporting big blocks an excellent opportunity to hard fork onto larger blocks. Jihan Wu, Bitmain CEO, already opined that he will hard fork regardless of whether UASF succeeds or fails. It is not guaranteed that a hard fork could happen without issues, but this is the best time from their perspective to attempt one. Should it succeed, Bitcoin will quickly erase all prior losses and surpass $3,000. UASF Muddles ThroughIn this scenario BIP148 Bitcoin has less than 51% of the network hashrate, but enough that it is dangerous. This is the worst outcome by far. Jihan will still hard fork, and in retaliation Bitcoin core might alter the Proof of Work algorithm to render all ASIC miners useless on a new version of BIP148 Bitcoin. Now we have 4 versions of Bitcoin. BIP148 Bitcoin, new POW BIP148 Bitcoin, Legacy Bitcoin, Hard Forked Bitcoin. Oy vey. It is impossible to predict which one gains enough hashrate to survive. Noobs will not know which “Bitcoin shitcoin” they should purchase. Hopefully that doesn’t deter them out of investing in the industry completely. They might purchase Ether or another digital currency instead. Exchanges will support 1 or more of Bitcoin versions in the wild. This will not be a Ether vs. Ether Classic like situation. That hard fork occurred when the combined market cap was less than $1 billion. The toxic ideological differences underpinning the Bitcoin scaling debate dwarf the consternation caused by the failed DAO. Each camp is ready to lose significant amounts of money in their quest to advance the “true” version of Bitcoin, sounds like organised religion. Hence, the sum of the parts will not equal or exceed the prior value of Bitcoin. If you still hold physical Bitcoin at this point, it is pointless to sell it. Rather, it is time to bet the house on which version you believe will survive. Those who bought or held ETC since the 2016 hard fork are jumping for joy, for example. UASF Succeeds InstantlyIf BIP148 Bitcoin garners >51% of the network hashrate, UASF supporters are victorious. Exchanges have no incentives to support legacy Bitcoin. Jihan might also call off the dogs, and refrain from hard forking. BIP148 Bitcoin is in fact Bitcoin once more. All hail Segwit. Of the lows, which surely will be below $2,000 or maybe even $1,000, the price will easily take out $3,000 and quickly head for $5,000. Many miners will still believe Segwit to be an inferior (i.e. it makes them less money) way to scale Bitcoin. However, they can’t argue with a high and rising price. The discord between Bitcoin Core and miners who desire bigger blocks will continue to simmer but will not boil over into another cathartic event like UASF for now. Me Like Volatility If Cookie Monster fed on volatility instead of sugary bread crumbs, he would be excited for the upcoming events. While realised 30 day annualised Bitcoin volatility is quite high at 90% (.BVOL Index), it will seem like a calm kiddie pool compared to the stripper-like gyrations to be experienced if Segwit2x fails. No sex in the Champagne Room. Traders not present in 2013 and 2014 will discover why Bitcoin is the most volatile asset in human history. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  13. Part of being a human is wanting to leave a mark on the world. Within us lies the deep need to be remembered, in some form, after we die. We see it in the Cueva de las Manos - Cave of the Hands, where the inhabitants left the outlines of their hands painted on the walls as early as 13'000 years ago. Cave of the Hands We hear the same plight from Horace some 2000 years ago in his Odes when he states "non omnis moriar" - "not all of me will die". Similarly, to condemn someone to be forgotten was a fate worse than death for the ancient Romans. It was called damnatio memoriae, or "the condemnation of memory". In our digital age it is perhaps easier than ever to remove someone from history. While it is easier than ever to record what's going on, it is similarly just as easy to alter and distort the events thanks to tools like Photoshop. Frequency of miracles Photos can be altered, memories can be called into question, records could be rewritten, and we can end up with the Mandela Effect. Add to it the right to be forgotten, and soon it might be hard to believe any record or lack of it on the Internet. George Orwell would be proud of what we could do to make someone an unperson. Everything could be subject to change. Everything that is, except blockchains. Proof of Existence While working at Factom I heard a great tagline - "It is hard to guess today what lie you want to tell tomorrow". It might be a very profound statement in today's world of digital records - if you can't backdate, alter historical records or the like, you'd better be completely sure how you want to proceed ahead of time. All of this is of course only possible through the Proof of Existence and the blockchain technology. Only networks such as Bitcoin or Ethereum can be seen as objective records of history anymore. They alone are big enough to be secure from tampering (if you can't 51% attack the blockchain, you can't rewrite the history) and public enough to ensure any attempt at tempering with them will be a publicly known event. Because of that, any data embedded in the blockchain will remain unchanged and hopefully preserved as long as the blockchain persists. Record of my data Today is my 30th birthday, and I decided to celebrate with a little experiment. A few months back I contacted the Personal Genome Project Canada to participate in their research and get my genome sequenced. It has been an interesting experience, and I did find some correlation between my genetic predispositions and the health quirks I've been experiencing my whole life. During the study I requested a copy of my sequenced genomic data. It was shipped to me on an external hard drive as the files themselves were 200GB. After leaving my computer to crunch the numbers, the SHA256 results was spit out - "de7a8430be51538ebcdd031390e0de3f7cde74a9c88a76e64406e88b6259d4fe". That was the hash of my genetic information - probably the most elegant version of a digital hand print I could find. After playing with the debug options in BitcoinQT, I managed to wrap it up neatly in the transaction 32a0f8febb0f9f9c7fe1ce9a6b2a59356f443e27186d2e4b5c5a9a3e5e16f4cd, sent from my two favourite addresses - 17TQLZvXjKTrUyRnV9DuQs4RVDgNjUPeXQ, the address in which I received my first coins in 2011, and 1PiachuEVn6sh52Ez7o6Fymvw54qvQ4RBm, my own geeky little vanity address. And so, in block 1597975 (000000000000000000b43bb4162374befa73a882efa6279d87cd3f11548cff59) my transaction was anchored and became part of the blockchain history, along things like the blockchain marriage, a tribute to Len Sassaman, and the infamous Times headline chosen by Satoshi Nakamoto. To the best of my knowledge, I'm the first person to have embedded a hash of their full genetic information this way. It wasn't my first foray into embedding data into the Bitcoin history. That honour had to go to the illegal number from 2012 that was done as part of my master thesis research. Larger records of data Admittedly, the process of saving the data into the Bitcoin blockchain was a bit complicated. Preparing the inputs by hand, making sure the data itself is fairly small, it can all be rather limiting and potentially get expensive with larger amounts of records. Hence why it might be worthwhile to consider protocols that extend the Bitcoin protocol, while still offering the same cryptographic proof of existence. In comes Factom (full disclosure: I work for Factom). With the intent of storing the same data, I created a new chain with my name and alias - ef020b0dc14223ca454cb69b36143ffbafa8b09c0ff962b18742cd97a02735c9. The hash was anchored in transaction cdeb46cad69c01f79864e20a56cb227b94c9738b79d8291e4181f5cbd9b86f27 that became part of the block 96731 (d8fea7d7df13f0e629817a552719a7e7e9860023313ddaa5fa76ad34d655ace1). Now, there is an extra step that needs to be taken between here and Bitcoin - the anchoring process. That is performed externally by the an automatic server. It created a transaction bebfc29801239ad254da97b253c864736257143f17e3519e03e05e3761f57a8f that made its way into the Bitcoin block 1598016. And here comes the magic trick that gets us between a Factom transaction into a Bitcoin block, "the receipt": While it might look like gibberish, it's a simplified payment verification-style merkle branch leading from the transaction hash through the entry block key merkle root, the directory block key merkle root, up to the Bitcoin transaction itself. As the chain of hashes is complete, one is able to mathematically prove that the transaction indeed made its way into the Factom block and got anchored into the Bitcoin blockchain. The same mechanism could be used to anchor data such as text into the blockchain, for example securing entire blog posts to prove they existed unaltered in their current state at a given point in time. I intend on doing that for this blog once I narrow down the ideal format, but that's a story for another day. Conclusion Bitcoin is probably the first, objective, immutable record of history we have. Any data saved into the blockchain will hopefully remain preserved for a long time. It is possible to extend the Proof of Existence into larger data sets without needlessly expanding the Bitcoin blockchain. View the full article
  14. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Jun 16, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX Tezos Rapture The most anticipated ICO of 2017, Tezos, will begin July 1st. What does Tezos do? Do you really care? In a nutshell: Tezos is souped up Ethereum. Tezos claims to fix governance issues and features formal verification of smart contracts. They don’t want a DAOsaster happening on their watch. Tezos, like Ethereum, will launch via an un-capped ICO. If you so desire, you can pledge all your hard earned Bitcoin and Ether for new and shinny Tezzies (XTZ). Tezzies are the tokens that are used natively on the Tezos protocol. They sound super cute, n’est pas? Bancor raised $152 million this month and surpassed the DAO as the largest crowdfunding project in human history. One of Tezos’ esteemed advisors, Emin Gun Sirer, in a recent Hacking Distributed blog post, stopped short of calling Bancor an outright fraud. With ICO euphoria at an all-time high, Tezos could crush the record just set by Bancor. My target is $500 million. The token generation event (TGE - repeat after me “it is not a security”), will take place over 2,000 Bitcoin blocks. That is approximately two weeks. Every fundraising milestone reached will be covered to death and will engage financial reporters, an element missing from past ICOs. DLS = ShadystanThe structure of Tezos is a little different that many ICOs you may be familiar with. Essentially the founders constructed a US entity, Dynamic Ledger Solutions (DLS), that gets a payout if certain conditions are met. The Tezos foundation, who issues the tokens and receives the Bitcoin and Ether, is contractually obligated to pay DLS 8.5% of the proceeds and 10% of the tokens. A Swiss foundation raises hundreds of millions of dollars from retail investors globally, and then funnels a significant portion of the loot back into a US company. DLS owns all the Tezos IP, which the foundation essentially purchases with proceeds from the token sale. Ding Ding Ding, SEC please look over here. Not even a white-shoe law firm like Wachtell Lipton Rosen & Katz could wipe the stink off of this structure. If the price of Tezzies performs badly in the secondary market, and / or the tech does not deliver as advertised, a hoard of grannies and grandpas have a nice juicy US entity to sue into oblivion. DLS also could face the wrath of an ambitious securities prosecutor. If I were a young Southern District of New York prosecutor, DLS is the perfect target for an opening salvo in the war on ICOs. Someone will get perp walked due to ICO events. Who better than a gaggle of Goldman and Bridgewater bankers to publicly tar and feather. The Tezos founders are incentivised, through their DLS stake, to engineer a quick cash grab. The bigger the raise, the more immediate funds they receive through the 8.5% sale proceeds payout. The short-term incentives rub many potential investors the wrong way. Rally TimeEven in Shadystan, people will rush to purchase Bitcoin and Ether for the sole purpose of investing in Tezos. The Tezos Bitcoin and Ether vacuum will provide a strong bid for the funding currencies. During the DAO ICO, Ether rallied 40%. A similar phenomenon should occur during the Tezos TGE, especially if I am correct with my fundraising target of $500 million, which is almost 0.7% of the total market cap of Bitcoin and Ethereum combined. Tezzies will not be distributed until late 2017. During those months, people who invested more than they could stomach to lose will start getting the shakes. There is a non-zero probability that Tezzies never materialise. Freaked out investors will search for any guidepost as to what the market believes the price of soon to be distributed Tezzies to be. We can help - through the darkness, the light of BitMEX will shine bright. BitMEX Has Got Your BackThe BitMEX Tezzie / Bitcoin 29 December 2017 futures contract, XTZZ17, is now live. Using only Bitcoin, traders can speculate on the future value of XTZ. Traders can go long or short with up to 2x leverage. XTZZ17 provides a real market for the future value of Tezzies. Punters who bought into the ICO, and want to take some off the table, can short XTZZ17. Traders who missed the TGE but still want a piece, can go long XTZZ17. Each contract is worth 1 XTZ. Given the hype surrounding Tezos, I think XTZZ17 could rival the intensity and volatility of Zcash prior to spot being listed. Get ready to strap yourselves in. Why Don't Banks Own Bitcoin Exchanges? Fiat government money is one of the biggest profit centres for banks globally. Even though we are all human, to trade and interact with each other requires the exchange of different coins, paper, and electronic credits. Each one of these transactions benefits banks who move money globally for a fee. At the most simplistic level, the trading of crypto currencies and or digital tokens is just a standard foreign exchange transaction. If banks love foreign exchange, why then do they have an aversion to Bitcoin and other digital currencies? A Close SecondBanks claim to care about optics, and say they abhor risk to their reputation. Yet - time and time again they've shown that they will gladly launder money for dictators, arms dealers, and drug lords. Why the aversion to conducting standard FX transactions involving digital currencies? Banks also are not scared of breaking laws - but only so long as every other bank is doing it too. When it comes to a new business line that might be controversial to regulators, it is better to be a close second than the first. If meaningful punishment meted out to the first mover is lacking, the rest of the banks will follow headlong like lemmings. Too Much Money to IgnoreDigital currency trading on-exchange volumes are too big to ignore. Given the level of fees charged to eager traders and speculators, the leading exchanges post revenue figures that value them in the billions of dollars using standard exchange revenue multiples. The funny part is that a bank is necessary to operate a fiat to digital currency exchange. The on-ramp into the digital currency space requires the exchange to hold client fiat money with a bank. While the bank makes transaction fees on the movement of fiat, they miss out on the very profitable churn generated by digital currency exchange clients. Hundreds of millions of dollars in fees will be made this year by the leading exchanges. The board of any bank that banks a digital currency exchange should be ashamed of themselves for not expanding their operations and offering, at a minimum, Bitcoin to fiat exchange services. Trust a BankerThroughout history, bankers have been held in low esteem. The handling of money is viewed as unclean, while rentier landholders are given the trappings of aristocracy. However the plebes, patricians, and governments still trust banks with their money. Bank offices exude confidence, grandeur, and - most importantly - security. Contrast that to a slick and minimal website of a digital currency startup. Their airy San Fran, New York, or London offices don’t produce the same effect on potential customers. The lack of trust between users and exchanges due to hacks, thefts, and a lack of business acumen is one of the largest reasons people don’t take the first step to acquiring some Bitcoin. Through generations of social conditioning, people believe a bank is the best place to store wealth. If your friendly neighbourhood bank offered the ability to buy, sell, and store Bitcoin directly, trust - and therefore trading volumes - would be much higher. Figure It OutSenior bankers appear to be catching on. A Barclays executive recently asked the FCA in London to figure out how a bank can join the party. [CNBC] A wink and a nod from the appropriate alphabet letter agencies will set off a stampede for banks to open their own exchanges. The next question will be: buy or build? Banks fail miserably at cyber security. Bitcoin, in many cases, does not require physical proximity to where it is stored in order to steal it. In the long run, the real differentiating feature in the exchange landscape is security. Banks that don’t want to “learn” how to conduct proper cyber security should buy the leading exchanges to whom they currently extend banking services - if they can find a trustworthy one. The conversation between a bank and exchange will be very simple. Either the bank can buy out the exchange at a very generous multiple, or the bank will close the exchange’s accounts, and make it very difficult for the exchange to obtain an account with another organisation in a particular domicile. As banks slowly come around to the revenue generating potential that a fiat to digital currency exchange offers, traders will abandon exchanges not explicitly owned by a bank. Banks already have millions of hungry financially repressed customers to whom they can immediately offer digital currency trading. The liquidity will immediately shift to bank-backed exchanges. The Empire Strikes BackExchanges who have fought valiantly through the nuclear winter of 2014 and 2015 may not wish to sell out to the banks they loathe. Exchanges who can tap traditional VC funds or the ICO market should purchase struggling banks. With a bank and its licenses as cover, existing exchanges can continue to innovate faster than an incumbent large bank. This Time is DifferentYes, it's likely we're in a bubble. While the price of many digital currencies are likely to decline in the short-term, banks are now acutely aware of this new asset class. News stories about legacy banks “thinking” about how to offer digital currency trading to their clients will become more common. I am extremely confident that by 2H2018 there will be a large storied bank that offers Bitcoin trading and storage to its customers. The stampede of Johnny-come-lately banks into the digital currency exchange space will be exciting to watch. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  15. Станалата известна като HODL стратегия в крипто средите е най-сигурният и може би единствен начин за успех в инвестициите в биткойн и крипто валутил. The post Тайната на инвестициите в биткойн и крипто валути appeared first on Hash.bg. View the full article
  16. Bitcoin Core version 0.14.2 is now available from: https://bitcoin.org/bin/bitcoin-core-0.14.2/ This is a new minor version release, including various bugfixes andperformance improvements, as well as updated translations. Please report bugs using the issue tracker at github: https://github.com/bitcoin/bitcoin/issues To receive security and update notifications, please subscribe to: https://bitcoincore.org/en/list/announcements/join/ Compatibility Bitcoin Core is extensively tested on multiple operating systems usingthe Linux kernel, macOS 10.8+, and Windows Vista and later. Microsoft ended support for Windows XP on April 8th, 2014,No attempt is made to prevent installing or running the software on Windows XP, youcan still do so at your own risk but be aware that there are known instabilities and issues.Please do not report issues about Windows XP to the issue tracker. Bitcoin Core should also work on most other Unix-like systems but is notfrequently tested on them. Notable changes miniupnp CVE-2017-8798 Bundled miniupnpc was updated to 2.0.20170509. This fixes an integer signedness error(present in MiniUPnPc v1.4.20101221 through v2.0) that allows remote attackers(within the LAN) to cause a denial of service or possibly have unspecifiedother impact. This only affects users that have explicitly enabled UPnP through the GUIsetting or through the -upnp option, as since the last UPnP vulnerability(in Bitcoin Core 0.10.3) it has been disabled by default. If you use this option, it is recommended to upgrade to this version as soon aspossible. Known Bugs Since 0.14.0 the approximate transaction fee shown in Bitcoin-Qt when using coincontrol and smart fee estimation does not reflect any change in target from thesmart fee slider. It will only present an approximate fee calculated using thedefault target. The fee calculated using the correct target is still applied tothe transaction and shown in the final send confirmation dialog. 0.14.2 Change log Detailed release notes follow. This overview includes changes that affectbehavior, not code moves, refactors and string updates. For convenience in locatingthe code changes and accompanying discussion, both the pull request andgit merge commit are mentioned. RPC and other APIs #10410 321419b Fix importwallet edge case rescan bug (ryanofsky) P2P protocol and network code #10424 37a8fc5 Populate services in GetLocalAddress (morcos) #10441 9e3ad50 Only enforce expected services for half of outgoing connections (theuni) Build system #10414 ffb0c4b miniupnpc 2.0.20170509 (fanquake) #10228 ae479bc Regenerate bitcoin-config.h as necessary (theuni) Miscellaneous #10245 44a17f2 Minor fix in build documentation for FreeBSD 11 (shigeya) #10215 0aee4a1 Check interruptNet during dnsseed lookups (TheBlueMatt) GUI #10231 1e936d7 Reduce a significant cs_main lock freeze (jonasschnelli) Wallet #10294 1847642 Unset change position when there is no change (instagibbs) Credits Thanks to everyone who directly contributed to this release: Alex Morcos Cory Fields fanquake Gregory Sanders Jonas Schnelli Matt Corallo Russell Yanofsky Shigeya Suzuki Wladimir J. van der Laan As well as everyone that helped translating on Transifex. View the full article
  17. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Jun 16, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX Bitcoin Basis and Arbitrage 101 Hong Kong Seminar I will lead an interactive seminar geared towards traders who would like to take advantage of very profitable arbitrage opportunities trading Bitcoin derivatives. I will discuss in depth the following arbitrage strategies: Cash and Carry Stair Step Cash and Carry Funding Swaps vs. Futures Date: 29 June 2017 Time: 7pm to 9pm Location: The Hive, 23 Luard Rd, 21/F The Phoenix, Wanchai, Hong Kong Cost: Free Given the recent surge in interest, we expect this event to be standing room only. Please RSVP on Eventbrite to secure your spot. If you are unable to attend, a video recording will be available shortly after the event on the BitMEX Youtube Channel. Here Come The Bankers Goldman Sachs and Morgan Stanley, after their clients pestered them long enough, recently released two widely read reports on where the Bitcoin price is headed. Even though both banks believe the current rally is a bubble, it is very positive that so many clients demanded research on the cryptocurrency. If there is that much pent up demand, the next question for executives is whether or not the industry is big enough yet to support one or more full time employees market making and trading Bitcoin and other digital currencies. The following is a thought experiment on the cost benefit analysis for starting a digital currency trading desk for a bulge bracket bank. Traders Are ExpensiveBefore a young man or woman begins blowing up your capital, the resources needed to get them started run close to a million dollars alone. Market data feeds like Bloomberg and Reuters can run in the tens of thousands of dollars per month. As an example, while I was an ETF trader at Deutsche Bank, my market data costs were $50,000 per month. The next and bigger cost center is the number of support staff needed. Compliance, middle office, back office, and IT personnel are needed to help a trader effectively perform his or her duties. The final and most important asset a trader needs is capital. From the bank’s perspective, this capital has a cost. Investors in investment and commercial banks demand a certain return on equity (ROE) for their investment. Goldman Sachs is the most profitable bank by a country mile, mainly because its management actually has a clue about how to use capital effectively. Over the past 5 years Goldman averaged an ROE of 10%. I will use this as the benchmark for the following calculations. The trader himself needs to get paid. Given the risk involved in trading Bitcoin, a bank would assign a mid-career trader to the desk. Assume this person’s annual total compensation is $500,000. For an equities' banker this might be the MD's take home pay, but for a good FICC trader it is average. Trading Bitcoin requires a trading desk to have accounts on the leading Bitcoin exchanges. Exchanges, as we know, get hacked repeatedly. Insurance in the Bitcoin space, for good reason, does not exist. The desk needs to assign a probability of default on the exchange. Using the Bitfinex haircut as an example, let’s assume the yearly probability of default is 35%. Cost Summary: Trader Support: $1 millionTrader Pay: $500 thousand ROE: 10% Default Risk: 35% The next consideration is how much capital to allocate to this trading operation. Even if the desk is able to achieve the ROE, making just a few million dollars won’t be worth the hassle. The approval for a Bitcoin trading desk would need to come from the CEO. Lloyd Blankfein doesn’t get out of bed for less than $10 million of profit. Let’s assume that the bank, at a minimum, must be able to deploy $100 million. Given that 35% of the capital deployed will be spirited away, the returns must be achieved on $65 million. In order to make $1.5 million (Cost) + $10 million (Required ROE), the desk must make 17.70%. A 17.70% annual return is very achievable. I routinely speak about arbitrage opportunities that yield in excess of 50% per annum. However, you cannot put $65 million into any trades I describe without tremendous market impact. The trading desk will not have a mandate to just punt Bitcoin or Altcoins. They will search for pricing discrepancies between exchanges, or between spot and its derivative. When massive directional bets are removed as a strategy, it is very hard to put that much size into arbitrage trades. Not Now, But SoonWith a market cap close to $100 billion, the entire crypto space is worth evaluating for a trading desk. However, the market still cannot support the volume needed for a trading desk to meet its hurdle rate. When the top 5 most liquid Bitcoin / USD exchanges trade in excess of $1 billion per day on average, then we will see the first bank sponsored Bitcoin trading desks emerge. Given that yesterday $500 million was traded by the top 5 exchanges, we are not far away. Don't Get High On Your Own Supply The DAO’s world record crowdsale was eclipsed one year later by the recent Bancor ICO. Bancor raised close to 400,000 ETH valued at $152 million. ICO mania is upon us and the number of projects raising in excess of $10 million is mind blowing. The common theme amongst the ICOs is that the tokens are created using the Ethereum protocol. Additionally to subscribe, most ICOs require punters to tender Ether and only Ether. The killer app so far for Ethereum are ICOs. The rampant FOMO induced greed means that newbies and old hands alike must obtain Ether. They either sell a fiat currency or Bitcoin to obtain the mana from Big Daddy Vitalik. The rapid price appreciation of Ether is due, in large part, to the demand by speculators to buy ICOs. The price remains high after the ICO ends because most teams to date have not cashed out of their loot. Most teams will not be able to return to the market again begging for more money if they misallocate their capital. The question for teams is how to protect the value of all the Ether raised. Failure to cash out or properly hedge, could mean a rapid evaporation of the paper wealth they now enjoy. While they do hold physical ETH, salaries and expenses must be paid in domestic fiat currencies. Ethereum raised $18 million of Bitcoin in 2014, then failed to hedge that and thus to pay expenses was forced to liquidate some holdings at a 50% loss. The development roadmap also was altered due to lack of funds. The current crop of ICO cool kids witnessed the hardships placed on the Ethereum development team by lack of hedging. At the first sign of Ether weakness, they will rush to the exit. The team who sells first, sells at the best prices. When it is known that ICO teams are cashing out, the stampede and its induced casualties will have everyone singing Hakuna Matata. If I were an ICO team, I would apply a 50% haircut to the value of any ETH raised. Even if I wanted to sell it, I know I couldn’t because the liquidity would disappear long before I could liquidate my entire stack. All the buyers at the margin bought Ether to invest in the ICO, they won’t be around to catch falling knives during the correction. Some in the community believe it is irresponsible for development teams to raise such god like sums of money. They protest that a few million dollars worth of crypto should suffice any project. Additionally, if all other teams do yuge ICOs, the liquidity won’t be there when you need to sell even if you raise a “responsible” amount of money. Game theory has thus set in and it is now in your best interest to follow the herd and raise as much as you can, expecting that you will only be able to spend a fraction of that amount. Pop Goes the WeaselThe Bancor ICO set a new benchmark. The $500 million mark is my mental goal post for the height of insanity and that will be the day that Icarus will burn in the noon day sun. Tezos and or Eos are positioned to meet or eclipse that number. My second mental goal post is if Ether reaches parity with Bitcoin in terms of market cap. The profit taking at that level could cause the ripple that forces a calamitous unwind of the 2017 ICO bubble. The correction in Ether and the secondary market prices of ICO tokens, will be disorderly. However, even if you do agree with my views, don’t let your haterade preclude you from making money during this glorious bull market. Bitcoin Basis Volatility Cash and carry arbitrage is a staple strategy for traders seeking high risk adjusted returns. Because Bitcoin can go to infinity but only fall to zero, speculators at the margin are buyers. Add in 100x leverage, and bullish speculators are willing to pay very high per annum interest rates to go long Bitcoin for short periods of time. Cash and Carry Step by Step: Buy $1,000 worth of Bitcoin at $2,000 Sell 1,000 BitMEX futures contracts, e.g. XBTM17, at $2,500 Wait until expiry, and collect $500 of profit Given the current rally, the BitMEX Bitcoin / USD 30 June 2017 futures contract, XBTM17, has traded at a premium (or a positive basis) for almost the entire length of the contract. Traders who sell futures and buy Bitcoin essentially earn a fixed rate of return until expiry to lend long speculators synthetic USD. To earn the full premium, you must keep the trade on until expiry. However, while arbitrageurs are making good money from this strategy, they are leaving food on the table. The above chart plots the hourly annualised premium of XBTM17. It is immediately apparent that the premium itself is very volatile. The premium takes the stairs up, and the elevator down. For traders already comfortable with cash and carry arbitrage, it is time to add a mean reversion strategy to your toolkit. Below are the relevant statistics for the data sample: Min: -27.31% Max: +122.30% Mean: +17.87% Median: +8.95% Stdev: 24.68% While you can’t pick the lows and highs, in general terms you can put on positive carry trades during times of extreme stress and close out when the premium normalises. That allows you to increase your returns during the contract period. Recently the XBTM17 premium traded over 100% p.a., then a few days later traded at a discount. Instead of waiting another 20 days until expiry, arbitrageurs actively trading the basis could realise the entire 100% return in under 24 hours. A simple yet effective strategy is what I call the Stair Step Cash and Carry Arbitrage. Assume that a normal range for the premium for a quarterly contract is 0% to 60% p.a. As the premium rises, at each 10% interval I will sell 10,000 XBTM17 contracts and buy $10,000 worth of Bitcoin. If the premium hits 60%, my expected return on $60,000 should I hold until expiry is 35% p.a. If the premium falls from 60% to 0%, I will buy back 30,000 XBTM17 contracts and sell $30,000 worth of Bitcoin at every 30% increment. The key point is that at all times I have a portfolio with positive carry, and I benefit from volatility in the premium. You can get very sophisticated about how you choose your increments and sizing of trades. The more granular your steps, the more profit you can harvest from the volatile premium. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  18. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Jun 09, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX Status ICO Futures BitMEX is proud to announce the launch of Status Futures contracts, expiry 28 July 12:00 UTC with symbol SNTN17. Each contract is worth 1 SNT and the contract offers 2x leverage. Since the Status platform is still under development, the following rules will apply: SNTN17 will have 25% Up and Down Limit against the previous session close price to prevent price manipulation. Each session is 2 hours long, and session closes occur every even numbered hour. Settlement will occur either at the ICO price (if SNT/XBT trading has not begun) or at the .SNTXBT30M Index Price if SNT/XBT has begun trading prior to 27 July 12:00 UTC. Further details about this contract can be read in the SNT Series Guide. In Defence of ICOs The ICO mania elicits strong emotions from many market participants. Digital currency industry insiders and outsiders heap a constant stream of invective upon the ICO industry. While I believe the majority of ICO issues are worth close to zero, I do not dismiss the importance of this new mode of financing. In fact, I like many, believe the ICO phenomenon is part and parcel of the move to democratise financial services. Professional Money ManagersThe asset management industry comprised of hedge and venture capital (VC) funds began in earnest in the late 1960’s and early 1970’s. Labor’s victory over capital produced high union membership and demands for pension schemes in the public and private sector. That produced huge pools of investible capital worldwide, and especially in America. In 1971 Nixon untethered the greenback from gold, and began the government issued fiat money bonanza that is still with us today. Alongside that, advances in technology produced the first commercial mainframes, which transformed financial markets and birthed many of the technology companies still in existence today. Professional money managers were needed to allocate the vast amount of capital now available. Due to the large amount of dry powder available, VC investors could invest in companies with unproven technology and no operating experience. Traditional banks would never loan to such outfits. Proliferation of VC funds helped provide funding for most of the technology that we enjoy today. VC funds take an extreme amount of risk, and the successful shops are rewarded with amazing returns on investment. The vast majority of the world cannot invest in a technology firm before the company goes public. VC funds only take investments from large public or private pension funds, and or very wealthy individuals. The public markets previously were the only place regular individuals could invest. Once a company is public, the risk is lower and so is the return. A large percentage of the world is financially repressed due to low interest rates. The scramble for yield has pushed valuations to extreme levels for private and public companies. Many small and medium investors want to get in on the VC game, but cannot due to regulations and access. ICOs will change that. ICO or VC Funding?Why would a talented team choose to ICO their product over selling equity in their company to a VC? Speaking from experience, raising money is a full time job that distracts key members of a team from producing a good product. Most VC investors are sheep, which is why most firms lose money. They will only commit capital to fashionable sectors or business models. Career risk prevents most managers from taking bold risks. If you lose money with everyone else, you keep your job. If you lose money alone, you’re out on the street. If your product idea or business model is not sexy, you will not receive funding. The ICO process is much simpler and generates more publicity for a product. Instead of selling equity in the company producing a piece of technology, the ICO sells an interest in the usage of the product itself. Your intended user base can now own a piece of the product. That not only incentivises them to use it, but to tell others about it as well. Contrast this to VC funding, which generates a nice blurb on DealBook, but your target consumer is no more incentivised to use or talk about your product. Because subscription for the ICO and distribution of the tokens is completely automated, it removes the investment banks from the capital raising picture. Investment banks typically charge between 3% to 7% of a traditional IPO’s deal size as a fee. That does not include payments to the hordes of lawyers needed to launch a deal. Security or Token?Breaking securities laws in many jurisdictions will land you in pound-me-in-the-ass prison. That is why teams issuing ICOs structure their tokens so they will not be construed as a security. It is a token because it derives its value strictly from usage natively in an application(s) or protocol. Without properly functioning technology, the token is fairy dust. There is no ownership in the company producing the token, nor any income stream. By lowering the barriers to obtaining funding, the masses can now participate in early stage and risky technology projects without the need for traditional gatekeepers. No gatekeepers means no fees to underperforming asset managers, banks, and most importantly regulators. Some governments will embrace ICOs, many will staunchly oppose them. Swiss regulators are becoming relevant again by blessing the token structures of many high profile projects. However, the spineless Swiss turned rat on Americans with supposedly secret bank accounts. If the jealous American regulators start actions against high profile projects blessed in Switzerland, will the Swiss stand up and fight, or kiss the ring like they have in the past? Teams should polish up on their soap handling skills, for some might spend a few nights in Rikers. Shitcoin or Supernova?Armed with a slick website, any two-bit charlatan can seduce money from desperate investors from the comfort of their parent’s basement. Early stage technology projects are inherently extremely risky. There is no proven market or use case for many of the projects coming to market. The vast majority of tokens are worthless. However, diversification is prudent. If you hit one Ethereum, you can stomach many DAO’s. The question is how to choose which projects will survive. The need for an expert opinion to help retail investors wade through a sea of shit will be needed. Firms that proport to conduct “research” will begin to produce ratings on projects they deem likely to survive. Many former tech analysts at banks and traditional research houses will transform into ICO analysts. Hot or Not?An ICO trader’s time horizon is in a matter of months. If they can get an allocation of the hot deals, they can easily flip them quickly for 50x to 100x returns. During that time span, it is very difficult to surmise if the project will obtain mass adoption. The success of this strategy depends on a trader’s read on market sentiment, and access to favorable terms on deals. For those who can’t feel the market well, lengthen your investment time horizon. The gyrations of the price during a less than 1 year time horizon are irrelevant if the technology is actually mass adopted. Doing actual analysis and engaging in critical thought makes you more of an investor than a trader. Successful investors will hit 10,000x return jackpots over multi-year time frames, that traders would have exited at 100x within a few months. Insider TradingBeing a successful trader means that you have better information and or access than the majority of the market. The digital token trading markets like traditional forex markets are not regulated, and will struggle to be. Therefore, if you can’t stomach insider trading, then don’t take on short-term positions. Digital currency influencers and insiders are given discounts or guaranteed allocations so that they will publically lend their name to a project. Sometime exchanges are paid to list certain ICOs on their secondary markets. In other instances, exchange principles acquire a coin OTC, then list it on an exchange they control. Then they dump the shitcoin on unsuspecting newbie traders. The existence of insider trading does not detract from the usefulness of ICO financing. The digital currency markets are the purest and freest form of trading available today. That is why I love working in this industry. If insider trading were allowed in all asset classes, price discovery would be continuous. Otherwise the minority that trades using inside information earn above average returns because the plebes are stuck watching Jim Cramer for investment tips. Onwards and UpwardsUnleashing the power of the 90% of the world’s population that is not served by the traditional financial services industry will be a chaotic experience. There will be booms and busts. The current exuberance borders on manic, but I wouldn't short it. The age of the expert is waning. Succeed or fail, adults are making free and clear decisions about how to allocate their precious wealth. If you don’t like it, I hear Bernie Madoff has a nice regulated vehicle open for investment. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  19. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest Jun 02, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX Altcoin Arbitrage Seminar Thank you to everyone who came to our seminar on Altcoin arbitrage in Hong Kong. You can view a recording of the seminar on . QTUM ICO Futures BitMEX is proud to announce the launch of QTUM Futures contracts, expiry 29 September 12:00 UTC with symbol QTUMU17. Each contract is worth 1 QTUM and the contract offers 2x leverage. Since the QTUM platform is still under development, the following rules will apply: QTUMU17 will have a 25% Up and Down Limit against the previous session close price to prevent price manipulation. Each session is 2 hours long, and session closes occur every even numbered hour. Settlement will occur either at the ICO price (if QTUM/XBT trading has not begun) or at the .QTUMXBT30M Index Price if QTUM/XBT has begun trading prior to 28 September 12:00 UTC. Further details about this contract can be read in the QTUM Series Guide. The BlockMEX ICO Last time we spoke about BlockMEX, the company pivoted into a digital asset exchange. Due to the ICO craze, BlockMEX is exploring issuing a token. The following is a conversation between BlockMEX CEO Arthur Hayes, and Gary a principle at a VC firm. Gary recently pivoted as well. Unable to raise his second fund to follow on with Blockchain companies with no hope of exiting, he now runs a fund solely dedicated to ICO’s. Arthur: Did you hear about DogShit token? They just raised $100 million in under 5 seconds. Gary: Really, what does DogShit token do? Arthur: They take pictures of dog shit and put it on the blockchain. Every time you want to view the pictures, you have to spend DogShit token. The ticker is DOGE. Gary: Wow revolutionary, why don’t you issue an ICO? Arthur: Funny you say that, we are speaking internally about issuing one. We think we can be the first project to raise over $1 billion. Gary: That is amazing. One question, why would your platform ever need tokens to operate? Arthur: Well that’s the trick, we need to invent some plausible reason why users of BlockMEX need to use a token to trade. Gary: Also, don’t you think some regulators might view ICO’s as securities? That could land you in some trouble. Especially if you raise $1 billion. Arthur: We aren’t worried about that. We just need to get some fancy Swiss lawyers and just won't sell equity. The financial regulator rubber stamps all these token sales and we can hide there if we get into any trouble. Gary: Hmm, don’t you remember how the US government made all the Swiss banks roll over on their clients. In one action, Swiss privacy protections were rendered worthless. Arthur: It’s a token, it’s the future. We aren’t worried. Gary: Ok so what is this token going to be used for? Arthur: Do you want the sales pitch or the reality? Gary: Both. Arthur: We will tell potential token holders that in order to buy or sell any product on BlockMEX you must spend 1 MOLLY token alongside posting the relevant Blockcoin collateral. The more transactions that we do, the more useful MOLLY tokens are, and hence the more valuable. In reality, we will just buy a Lambo in every color of the rainbow. Then houses on the Peak in Hong Kong for all employees. Gary: MOLLY is the name of the token, that doesn’t make any sense. Arthur: Brah, I was inspired by Future’s song . Seriously go to Youtube and listen to it. Music these days is sooo deep. Gary: So why should I buy this token, it sounds like you are just going to scam all your token holders. Arthur: Brah, didn’t you read Balaji’s recent Medium article on ICOs? I mean if the guy can convince VC funds to invest hundreds of millions of dollars, you included, to build a Raspberry Pi to sell on Amazon, he surely must be right about the ICO market. If he’s selling, I’m buying. Don’t worry about whether the project is worthy or not. Just buy it. It’s the new paradigm. Gary: Ok, sold. Can I get in on the pre-ICO distribution. I only go in pre-ICO, it’s the only way I can justify my 75% performance fee. Otherwise my investors can just visit your website and purchase the tokens directly from you. They don’t need to pay me. Arthur: Sure I’ll give you a 20% discount. Arise China The bullish Bitcoin narrative surrounding China disappeared after the PBOC neutered the leading exchanges. The most drastic action was the suspension of Bitcoin withdrawals while exchanges’ compliance departments were upgraded. After many months of speculating when the PBOC would give the nod, it appears that Bitcoin trading is normalising. China being China, the PBOC never overtly told exchanges to halt withdrawals. They exerted pressure where it was needed and obtained the desired result. The big 3 exchanges successfully fluffed their way back in business. OKCoin and BTCC now allow clients to withdraw token amounts of Bitcoin each day. At OKCoin it is 10 Bitcoin per day. Clients must pass stringent KYC / AML checks, and pinky swear they aren’t using Bitcoin to evade capital controls. XBT/CNY began 2017 at a modest premium to XBT/USD, and after successive PBOC punitive actions it traded at a discount. The discount reached a low of 20% earlier this month. A recent Caixin article, which claimed the PBOC would issue exchange fines and clarity as to how Bitcoin would be regulated, injected hope back into the market. The XBTCNY/XBTUSD spread rallied aggressively back to par and after the recent withdrawal resumption news, the spread inched to a small premium. Even though many traders wrote China off it still has the most number of people with the desire and means to buy Bitcoin. The PBOC recognised that it couldn’t ban Bitcoin and thus attempted to stymie its growth through various actions. Bitcoin in 2017 is more widely held than in 2013. Punters in Japan and Korea took the “must have Bitcoin at any price” baton from China. Even Americans, evidenced by impressive new Coinbase account signups, are chomping at the “bit” to enter the digital industry. This new demand allowed the market to ignore the PBOC attempts to control the price. The normalisation of Bitcoin trading in China will serve as another source of dry powder to fuel the rally onwards and upwards. $3,000 Bitcoin is definitely attainable by month’s end with the renewed Chinese buying power. Expect Bitcoin to push through $2,800 by early next week as traders feel more bullish now that China has their backs. Denial, Acceptance, Euphoria DenialBitcoin escaped the $200 to $300 range in the fall of 2015, helped in part by the shock devaluation of the Renminbi. 2016 began with the Bitcoin Hernia, when Mike Hearn rage quit Bitcoin for lack of progress on scaling. "Since Bitcoin can’t scale, the price cannot rise higher". Wrong.com. By the end of 2016, Bitcoin reached the very psychologically important $1,000 level. The beginning of 2017 witnessed a frenzy for Bitcoin in China. Everyone feared an imminent massive one-off devaluation of the CNY, and Chinese traders took Bitcoin to a then all-time high of 8,888 CNY. The PBOC boogieman resurfaced, and slapped new trading restrictions on domestic Chinese exchanges. The first such announcement sliced the price by 30%, but each successive announcement had less of a negative effect. By March the PBOC was ignored completely by the global Bitcoin markets. The haters got a shot of penicillin when the SEC announced that the Winklevoss twins’ COIN ETF was unfit for general consumption. The price dropped 30% immediately on the disapproval, and then recovered completely in under 48 hours. Scaling, China, and ETF denial were the reasons why bears felt comfortable sitting on the sidelines or shorting the rally. Unfortunately they got Ashdrake’d. The bears continued to deny the monster rally, up until Bitcoin punched through $2,000. AcceptanceOnce $2,000 fell, the Bitcoin and the mainstream trading community accepted the Bitcoin bull market. Nevermind that from August 2015 until today the price rallied almost 1,300%. In the past few weeks, every mainstream financial outlet features a daily piece about some aspect of the Bitcoin ecosystem. Those who thought you were a leper for owning or participating in Bitcoin, now text asking how they can obtain it. The belly of the rally is upon us. The BitMEX 30 day XBT/USD realised volatility index, BVOL, is at 128%. During the 2013 bubble, realised volatility hit 400%. The Bitcoin markets are magnitudes more liquid than previously; however, if we are truly on the cusp of the wealthy allocating a tiny portion of their net worth to Bitcoin, volatility will then ratchet higher once more. EuphoriaThe euphoric stage will witness exponential moves up and down on a daily basis. The greed will be palpable. Newly minted Bitcoin owners will be glued to their smartphones watching tick by tick as their wealth dramatically increases. The envy of the early Bitcoin millionaires and billionaires, will fuel ordinary speculators to jump head long into Bitcoin. Premiums on platforms such as LocalBitcoins will reach over 20% as newbies have to have Bitcoin NOW! For those hodl’ing Bitcoin, the question is will the wealthy, those with >$1 million of liquid assets, allocate a small portion of their portfolio to Bitcoin? If you believe that, then BTFD. Otherwise, $3,000 will be the next upside resistance level. Bitcoin sits squarely in the Acceptance phase. If the price can hold above $2,000, fresh fiat will continue to flow into the system. Bitcoin Scaling Game Theory Go figure a scaling “consensus” was reached at the Consensus 2017 conference. Barry Shillbert’s negotiated Bitcoin Scaling Agreement taken at face value appears to be the holy grail; however, once one engages in a moment of critical thought, its importance quickly dwindles. The Bitcoin core developers (Core) believe Segregated Witness (Segwit) is the solution to scaling Bitcoin. Many large miners, lead by Jihan Wu of Bitmain, believe a 2MB block size increase via a hard fork is the best scaling solution. The agreement signed by followers of both factions sets out the following schedule: Activate Segregated Witness at an 80% threshold, signaling at bit 4 Activate a 2 MB hard fork within six months 95% of the hashrate must signal for Segwit activation by the end of November 2017. The six month hard fork deadline is at a similar time. This presents an interesting game of chicken. If the miners signal for Segwit and it is activated before a hard fork, they lose all leverage. Core then has no reason to support a hard fork. The converse is also true. If the hard fork happens first, the miners have no incentive to signal for Segwit. Each side has the same ultimate goal, increasing the throughput of transactions at a reduced cost. How the goal is achieved could adversely affect each side economically. Many off-chain advancements, such as Lightning, require transaction malleability to be fixed, which Segwit will accomplish. Blockstream and its investors, which directly pays the salaries of many core developers, is banking on the ability to implement and profit from Lightning. The miners under this circumstance would lose income from transactions not being processed directly on the Bitcoin blockchain. However, both sides benefit from the price continuing to march higher. A cute and cuddly agreement, with no teeth aimed at can-kicking the important decision as to how Bitcoin must scale, is needed to distract new investors from the fundamental problems that continue to afflict Bitcoin. There is no incentive for either side to blink first. Both sides must compromise if any solution is to prevail. The status quo will remain as long as the price remains above $1,000. Below that level, miners profit margins become tight, and Bitcoin holders feel moderately poor again, most likely because they FOMO’d into the market at $2,000. When your portfolio is sliced in half, you might come to the negotiating table. My base case remains that Segwit will not be activated, and the block size will not increase. The Dearth of Dollars Just like every other asset globally, the pricing of Bitcoin is directly affected by the availability of US dollars on trading platforms. Trust in exchanges is a precious commodity in Bitcoin. Exchange counterparty risk is the reason why dollars held on exchanges are in short supply. In April, Bitfinex lost its ability to process dollar deposits and withdrawals. Traders who wanted dollar liquidity immediately were forced to buy Bitcoin and other digital currencies. That forced the price of Bitcoin and other digital currencies into a premium on Bitfinex vs. other trading platforms. The chart above shows the spread between Bitfinex and Bitstamp, and the price of Bitcoin. Bitstamp’s banking relationship remained unaffected, which allowed traders to buy Bitcoin on Bitfinex and sell it for USD on Bitstamp. They could then withdraw dollars. The spread between the two exchanges represents the desire for Bitfinex users to redeem their dollar IOU’s for physical cash. This glorious rally began in the wake of the announcement that dollar funding options were shut at Bitfinex, OKCoin and other exchanges that banked in Taiwan. However as the market continued to rally, the Bitfinex / Bitstamp spread narrowed and turned negative. Without the ability to accept fresh dollar deposits, Bitfinex now suffers from a dearth of dollars. This will cause the price to underperform the global average as the price continues to rally. The Tether ArbitrageTether, a pseudo Bitfinex dollar liability that rides on a blockchain, can be used to arbitrage the Bitfinex discount. Theoretically Bitfinex should convert 1 Tether into 1 USD. Currently traders are unable to deposit dollars to Bitfinex for the purpose of creating Tether. Kraken operates a market where traders possessing USD can purchase Tether. The Steps: Deposit USD to Kraken, and buy Tether Send Tether to Bitfinex, and convert into USD Buy Bitcoin Send the Bitcoin to Bitstamp and sell for USD Repeat Currently Bitfinex is trading at a 5% discount. Tether / USD on Kraken should theoretically trade at a 5% premium. Anything less than that, and an arbitrage is possible. If Bitcoin continues to rally Tether will be sucked back into Bitfinex. According to Tether, there are 68.5 million Tethers in circulation. Depending on the length of this rally, the supply of Tether that can be used to arbitrage the Bitfinex discount will evaporate quickly. The Bitfinex / Bitstamp spread may transform into a leading indicator of the Bitcoin price. Bullish and bearish traders will go long or short the spread respectively. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
  20. While last week I criticised Ripple's XRPs, we can't equate the whole system to its currency. There are many fundamental features of the Ripple system that other cryptos can learn from. A lot of them are small and obscure to anyone who hasn't had a hands-on experience developing systems on top of cryptos. Luckily enough, that's my speciality. So here are a few features of the Ripple system that other cryptos can learn from, as viewed by a programmer. AccountTxnID and Memos Sometimes you need to send a transaction with some extra data attached. Whether it's an invoice ID, customer number, or some other business-related information, you have some data that needs to go into the blockchain. This will help you keep track of what transaction did what, give some identifiable information as to the origin of the transaction and so on. Even Bitcoin recognised the need for this feature by introducing OP_RETURN in 2014. Before that, people used to create unspendable transaction outputs that the system would have to keep track of forever. Ripple already had that at launch in 2012 in the form of AccountTxnID and Memos. The first is a short field, ideal for including transaction IDs and similar short strings. The latter can store a lot more complex data structures - long strings, multiple hex arrays, that sort of things. LastLedgerSequence When building a more complex cryptocurrency system, you have to deal with the fuzzyness of transactions before they enter a block. Essentially, when you send a transaction out, you might not know what will happen to it until it either becomes part of a block, or a conflicting transaction becomes part of a block. If a transaction becomes lost in the network, gets stuck in a processing queue, or there is something else wrong with the system, it's essentially stuck in a limbo. It may be confirmed in the next second, it may never be confirmed, or maybe it will take a few hours. So here's the problem - how do you handle such transactions? You can try resubmitting them if you have the hex representation of them, but that still doesn't guarantee an outcome. You can try double-spending yourself, but then you have two transactions stuck in a limbo. Do you resubmit a different transaction to credit the same person? Then you might accidentally send them the money twice if you're not careful. All of those outcomes are less than ideal. Here is where LastLedgerSequence comes in. It's a field you can include in a transaction that allows you to specify when a transaction will DEFINITELY fail. You put a ledger number sometime in the future, and if the transaction is not included before that given ledger number, you know for sure it will NEVER be included in a ledger. The transactions are allowed to fail gracefully in a predictable manner. Data vs Metadata First generation cryptos are fairly straightforward. A transaction does one thing and one thing only - move money around. If a transaction gets included in a block it means the transfer went through, if it doesn't - it didn't. There are only two outcomes here. When talking about a more complex system, there will naturally be more possible outcomes. Maybe a transaction got included in a block and it did exactly what it was supposed to. Maybe it got included in a block but failed to achieve anything. Maybe there are different paths it could've taken to get to the outcome, etc. This is why Ripple transactions have both data and metadata to them. The first shows what a transaction SHOULD do, the second - what it DID do. This allows the transactions to be more complex, while still ensuring that any given transaction call returns all the information relating to a given transaction. Built-in, dedicated distributed exchange An efficient Crypto 2.0 system benefits a lot from having a distributed exchange built into it. While some systems like NXT only allow trading a given IOU for its native token, Ripple goes one step further and treats all currencies the same. You can trade any currency for any other, even to the point of undermining the value of XRPs because of it. It is also a very important part of a few other features. While systems with smart contracts like Ethereum can mimic the functionality of Ripple's built-in exchange, it would be hard to compete with the efficiency of a dedicated exchange logic. As someone who has experience programming a crypto exchange, I can attest that order sorting and matching can be a complex task that would be hard to efficiently execute in a smart contract. Ripple has the strongest distributed exchange that I've seen in any crypto project. Trades as part of a payment In a system with multiple currencies, how do you go from having currency A to sending someone currency B? Quite often, you'll have to take that currency to some sort of market, trade it, then use the resulting funds to send the second currency directly. Alternatively, you use some sort of third party to brokerage the deal, take a cut and take its sweet time to get there. This is not a case with Ripple. A trade can happen as a part of a payment. Sending money from one address to another is just as simple whether you hold the same currency or not. The currencies don't matter, only the value does. A Ripple payment that can be fulfilled by 4 different currencies This feature leverages the power of a distributed exchange to its full potential. Everyone has access to the same market and doesn't need to hold more than one currency to transact with anyone on the network. Atomic, multi-currency transactions A big issue with transactions that span multiple currencies is the possibility of the transaction failing partially and the funds ending up in some transitory currency. If you're sending USD and expecting them to end up as GBP, you wouldn't want to end up with EUROs. This would be a bad outcome discouraging people from sending more complex transactions. Ripple solves that issue by forcing every transaction to be atomic. Either the transaction is fully processed, or it completely fails. There is no way to end up somewhere down the middle. Moreover, there is virtually no limit to how complex a transaction can be. You can send out one type of currency, which would take multiple different routes and touching on multiple currencies before ending up at your destination as the intended currency. It is rather remarkable. The consensus algorithm and predictable block times Ripple does not rely on a traditional mining algorithm to create its blocks. Instead, Ripple uses a consensus algorithm to issue its ledgers. While the system is more centralised than most cryptos because of that, it solves a lot of other important issues. First of all, the block times are quite consistent. You know exactly how often they are created and the interval between the blocks is very short and stable. Secondly, the system is more resilient against front running, making the distributed exchange more honest. Lastly, the system in general is less susceptible to market manipulation by the miners - they can't stall certain transactions or oracle data in hopes of manipulating the market and gaming the system. Conclusions While the Ripple system has its flaws, it also has a lot of interesting features other cryptos can learn from. View the full article
  21. As some of you might know, I really like the idea behind the Ripple system. Creating a settlement layer based on trust and IOUs, being able to issue any asset easily, working quite well as a middleware layer, incentivising specialisation, creating a singularity of money, all of that is great. The system is not without its flaws however - centralisation of validators is an issue, and so is the token distribution. While both are interesting topics, with the recent meteoric rise in XRP price, I think it's worth focusing on that part of the discussion. Basics of Ripple and XRPs Ripple is a Crypto 2.0 system launched in late 2012. It is based on a protocol predating Bitcoin by a few years, known as Ripplepay. As any good Crypto 2.0 network, Ripple allows its users to issue and transact in any currency. It also supports its own native currency - ripples, or XRPs. XRPs have a few key uses on the Ripple network. They are used to pay transaction fees, and are required as reserves for any address using the network and creating trust lines. All in all, it serves as an anti-spam measure for the network. Moreover, since every account on the Ripple network can accept XRPs, it is also promoted as a bridge currency. IOUs are user-created currencies. While any address can issue their own currency, most people will be using IOUs issued by gateways. Those will usually be denominated in fiat or crypto. The IOUs can be traded directly on the network, sent from one user to another, and even perform atomic, multi-currency bounces in a single transaction. There are a few key differences between XRPs and IOUs. IOUs have a counterparty risk - if the issuing gateway defaults, the tokens will be worthless. You can only send IOUs to or through people that also trust the same gateway. The gateways usually charge a small percentage fee on every transaction. IOU transactions are a bit bigger and more complicated, meaning they can cost more to execute. XRPs are their own cryptocurrency, meaning they are not redeemable for anything directly. Beyond that, the Ripple network handles both XRPs and IOUs identically - both can be traded on the decentralised exchange built into the network, both can be part of multi-currency transactions, both operate at the same speed and they are both highly divisible. Criticism of XRPs The main criticism levelled at XRPs and thus also against the Ripple network is the way the coins were distributed. Ripple Labs, the creators of Ripple, created the network with 100B XRPs in it, and no new XRPs were created since the network inception. This is not an unknown practice in the crypto space - a lot of networks premine their tokens. However, the network creators usually only keep a fraction of the tokens for themselves, preselling the rest to anyone that wishes to buy some. Ripple Labs however, still owns about 60% of the originally issued tokens. This raises a few issues. First, the company could try cashing out and potentially crash the market. It is very unlikely however. Ripple Labs has recently taken steps to promote its XRP market and put the majority of their XRPs into an escrow (then again, the escrow is unlocking 1B XRP every month for the next ~4.5 years, so it could be better). Secondly, since the network fees are paid through burning XRPs, they essentially enrich everyone in proportion to the amount of XRPs they hold (if 1% of the tokens got burned, the remaining tokens would be worth about 1% more provided the market doesn't change). This means Ripple Labs is essentially earning 60% of all network fees on the network. This probably doesn't amount to much at the current time, but may be more important in the future. Lastly, the amount of XRPs owned by one company gives it a negative reputation. A lot of people in the crypto space dismiss Ripple outright as "a premined scamcoin" just because of the amount of coins owned by Ripple Labs. All in all, that isn't too damning really. Ripple Labs appears to be reputable enough not to try cashing out of what appears to be their golden goose. However, they are not the only major players around... The founders of Ripple Labs, Jed McCaleb, Chris Larsen and Arthur Britto gave themselves 20B XRPs early on. This later came to bite Ripple Labs in the ass. Jed left the team to start his own version of Ripple called Stellar, and decided to sell his XRP stash, resulting in a legal kerfuffle, a settlement, and a schedule for how those coins may be sold. If those numbers are correct, Jed is still cashing out 20k USD per week, and come ~2019, he will be able to cash out 750M XRP (worth ~256M USD at today's price of 0.34 USD/XRP). Not an ideal situation if the money from your network will be going to a former employee building your direct competitor to the tune of a quarter of billion dollars. While some of those funds might go to charity, that's still not an ideal outcome. Now that we've dealt with most of the issues XRPs had to face, let's have a look at how XRPs fare on their own network. XRPs vs IOUs While Ripple the network has to compete with Bitcoin, Ethereum and other cryptocurrency networks, XRPs the currency have another important competitor - the rest of the assets on the Ripple network. Some networks, like NXT or Counterparty, ensure their native token is at the centre of every trade - you can't trade IOUs for one another on those networks. In Ripple, you can transact purely in IOUs all day every day without touching XRPs for anything else than the fees. This ties to the central value proposition of XRPs - being the universal medium of exchange. Distributed currency network vs XRP as medium of exchange (source, presentation) In short, the problem is as follows. If you have many different currencies on the network, you can have potentially a very large number of markets between those currencies (mathematically, twice as many markets as there are currencies). This means you would have to have a lot of market makers providing liquidity to every market. However, if everyone agreed to use XRPs as the common currency, you would only need to make one market per currency - between that currency and XRP. At the moment, it looks like that is the case - the major markets on the Ripple network are all trading XRPs for the various currencies issued on the network. At the time of writing, 11M USD worth of trades and 88M USD worth of payments have been executed on the Ripple network in the last 24 hours, majority of which were using XRPs. The main advantages given for XRPs being better than IOUs are: XRPs are acceptable by anyone on the Ripple network There are no extra transfer or trade fees on XRPs XRPs have no counterparty risk However, there are also some drawbacks to XRPs, even not counting the coin distribution and centralisation. Just because someone can receive XRPs, doesn't mean they'll want to settle in XRPs. The network just essentially forces everyone to have an unlimited trust line to XRPs, even if they wouldn't want to hold them. XRPs might be a decent universal currency for people that want to hold XRPs, but that might not be ideal for banks or big institutions. That's why we see networks like Corda, or even Interledger Protocol (also developed by Ripple Labs) that don't rely on a native cryptocurrency gain traction, while the best example of a real-world application relying on crypto token in the middle is Abra. Creating a universal, international settlement currency was the idea behind Bitcoin, and you don't really see banks using it for that cause. Market making essentially boils down to either trading the currency like any other crypto, or copying the market from another source to offset your trades. The amount of liquidity you could copy with XRPs is small in comparison to the nigh-bottomless FX market from the real world. If you are going to see real-world use cases being deployed on Ripple, it will be more likely to see them leveraging the existing FX markets rather than going through XRPs. While XRPs have no counterparty risk, they also have no counterparty protection. If anyone steals your XRPs, they are gone. With IOUs, you can still appeal to the issuing gateway to halt the transaction and potentially track down where it was withdrawn to. The IOUs are thus much less of a target. On a similar note, XRPs are much harder to track, which would make them less appealing from a compliance standpoint. Gateways on the other hand can whitelist and blacklist addresses that can use their IOUs, thus having an easier time identifying anyone that uses their IOUs. If a value of a given currency changes in value, you only need to adjust the market using that currency. If XRPs were the universal currency against which all of the currencies would be traded, any time the value of XRPs would fluctuate, you'd have to adjust the entire market. Adding a new currency to the distributed IOU network wouldn't necessarily mean you'd have to trade it against every other currency. You could only start trading it against the most popular currency or a few currencies that are easy to make the market for (say, fiat<->USD, fiat<->EUR). Because you can easily execute multi-currency atomic transactions on the network, connecting to even one other currency connected to the network instantly means you are connected to the rest of the network. XRPs have no transfer fees attached to them. While is possible for a gateway to issue IOUs without transaction fees (that's essentially Tether's business model, but on another network), perhaps even leveraging some other big crypto like Bitcoin or Ethereum through voting pools, the fees on those IOUs can always be changed. It seems that the network standard for transfer fees is about 0.2%, which seems to be smaller than the spread on XRP's biggest market (at the time of writing, 0.00015086 sell, 0.00015003 buy, giving about 0.55% spread). So it is possible that sending money through a very liquid FX market you would pay less in transfer fees than going through a less liquid XRP market on just the spread. So this leaves XRPs with their primary role - paying transaction fees and fulfilling the needed reserves. All in all, about 50-100 XRPs per person / account would be enough for a lifetime of usage. That used to be less than 1 USD, and now is about 35 USD. Conclusions The Ripple network is a very useful Crypto 2.0 tool. However, because of the high flexibility and value propositions of the IOUs on the Ripple network, they are XRPs' main competitor in its home court. While XRPs are still needed to pay the network fees, most of the remaining value prepositions can be seen as overstated. The recent rise in the price of XRPs appears to be largely relying on market speculation (as is the case for all crypto) and a new exchange coming on the market. Related links Ripple for dumdums - a layman's explanation Explaining Ripple XRP Why XRP will be valuable XRP & The death of Crypto XRP portal The Ripple(XRP) Effect - Fundamental Analysis View the full article
  22. Gladiacoin/Гладиакойн е възможно най-очевадната измама, която се възползва от растежа в цената на биткойн и арбитража между борсите, който съществува, но е далеч по-недоходоносен, отколкото твърдят те. The post Gladiacoin/Гладиакойн е пирамида appeared first on Hash.bg. View the full article
  23. Gladiacoin/Гладиакойн е възможно най-очевадната измама, която се възползва от растежа в цената на биткойн и арбитража между борсите, който съществува, но е далеч по-недоходоносен, отколкото твърдят те. The post Gladiacoin/Гладиакойн е пирамида appeared first on Hash.bg. View the full article
  24. The crypto markets seem to be in another bubble, orders of magnitude bigger than the last. However, this time a lot of the money is flowing into altcoins interestingly enough. How this situation will play out and where the market will stabilise at will be a really interesting story to watch unfold - whether Bitcoin will re-capture the market, or will some other crypto take its place. I would like to take this time to go over some of the history that brought us here however, as it's also a fascinating tale (if you like graphs). Here is a short version of the story, in one graph by Woobull: Bitcoin network congestion, market dominance, and altcoin marketcap, by Woobull. This is a cautionary tale for Bitcoin, but before we can really talk about how Bitcoin might be impacted, we have to talk about some altcoins. So strap yourself in for this whale of a tale in 9 charts... Story leading up The story of this bubble really starts around 2015, when some Bitcoin core developers wanted to address the network congestion they saw coming in Bitcoin. This was the start of the Bitcoin scaling debate that gave rise to BitcoinXT, Bitcoin Unlimited, SegWit, UASF, etc. The writing was on the walls - if Bitcoin continued to grow in popularity, soon the blocks would be full and we would have to deal with the consequences. Two years have passed, and no consensus has been reached, thus priming us for the current events. Bitcoin Unlimited Rally The bubble proper was started by the disagreement on how to scale Bitcoin. At the moment, there were two major solutions being proposed to address the issue - SegWit and Bitcoin Unlimited. Perhaps tired of waiting for consensus to emerge, perhaps prompted by Roger Ver's ambitions, Bitcoin Unlimited started to rally people behind its hard fork. Those came in two main waves - around October 2016, and March 2017, increasing both node count and number of blocks mined. Bitcoin Unlimited node count Bitcoin Unlimited mined blocks (green) The fact that Bitcoin Unlimited was gaining momentum, coupled with rumours of a planned 51% attack to cull a network split made serious waves in the community. We were faced with a real possibility that the network will fork and perhaps split. Every major player was taking sides in the discussion, and the tensions kept rising. The problem got exacerbated by the Covert ASICBOOST scandal. If Bitcoin had a doomsday clock for the network splitting, it would probably be uncomfortably close to midnight. With the uncertainty of Bitcoin's future and the rising tensions, other events started to take place. Rise of Ethereum 2016 has been a bit of a rollercoaster for Ethereum. The year started at a sub-dollar price per ETH, reached about 20 USD/ETH due to The DAO, then slumped to about 7 USD/ETH after its hard fork and network split. The new year started on a positive note with a roadmap for the future of Ethereum. ETHs were sitting comfortably at #2 market spot by market cap, increasing a bit with Bitcoin price increases (1, 2, 3, 4) as you'd expect in a calm market. Then March came along. Bitcoin Unlimited started gaining popularity, and the fear of a potential Bitcoin network split started shaping the market. While historically Bitcoin has been seen as the stable gold standard among cryptos, the safe heaven you'd park your money at if you didn't want to cash out into fiat. However, with the future of the network being uncertain, some people decided to move their wealth elsewhere. March was the month where Bitcoin slumped and Ethereum was there to pick up the money moving away (1, 2, 3, 4). You can practically see the ~21B USD market cap shifting gently towards Ethereum, giving it a boost from 1.6B USD to 4.6B USD in that month, while Bitcoin went from 20B USD to 15B USD. Bitcoin price chart Ethereum price chart In April the Bitcoin situation started to calm down. Bitcoins started to recover along with their market cap going back to 21B USD by the end of the month (1, 2, 3, 4, 5). However, another important development started brewing elsewhere... Litecoin and SegWit Litecoin has always been "silver to Bitcoin's gold", its shadow. Sometimes outperforming Bitcoin price increases percentage-wise, but rarely making a big splash overall. Seeing Bitcoin stumble with its scaling solutions, it seized on the opportunity to make a name for itself. What is important to remember, is that Litecoin can be classified as a "copycoin" - a cryptocurrency largely operating similar to Bitcoin, on a pretty similar codebase with minor tweaks. It's so similar, that by chance or negligence, Litecoin's multisig addresses have the same prefix as Bitcoin. Copycoins in general operate on hype and innovation (real or manufactured) - there are so many similar coins that if you don't stand out from the crowd, you're going nowhere. While Litecoin did not have the network congestion issues of Bitcoin, it still decided to improve its network and push for SegWit adoption. While it looks like the process started in February, there was a considerable rally for SegWit in late March, as indicated by the sudden jump in SegWit blocks and market activity. Litecoin SegWit adoption Litecoin price chart The process was spearheaded by Charlie Lee, the creator of Litecoin. A notable opposition to the SegWit progress were Bitmain and Antpool. Supposedly they were blocking Litecoin's SegWit activation to prevent further SegWit adoption on the Bitcoin blockchain, where they are allegedly profiting from Covert ASICBOOST. After a long ordeal, Litecoin finally locked in and activated SegWit mere days ago. There have been some other altcoins that also followed Litecoin's SegWit adoption, but their stories aren't that interesting. The price also reflected that - going from under 5 USD/LTC at the start of the year with about 220M USD market cap, to a high of 35 USD/LTC and 1.8B USD market cap in the recent weeks. While this would normally allow it to take #3 spot on the crypto market cap list, another network had a meteoric rise that came largely out of nowhere... Rise of Ripple Ripple has had a mixed reputation in the Bitcoin community. It's the oldest and one of the most prominent Crypto 2.0 networks. It has been caught the ire of bitcoiners in 2013 for being seen as "pro-regulation" during US Senate hearings, declared dead in 2014 (Bitcoin has been declared dead over 100 times now), has been fined by FinCEN for Bank Secrecy Act Violations, etc. Ripple Labs have developed essentially a competitor to its own network - the Interledger Protocol. However, more recently it looks like the company is going back to its roots and focusing on the Ripple network. It stated publishing quarterly market reports on XRPs and talking about its plans for the future. There are more and more news about various banks using its network. All in all, it looks like the market has warmed up to the currency: Ripple price chart While we see a small blip on the chart in early April when it crossed 1B USD market cap, the currency started to enter a meteoric rise around the start of May (1, 2, 3). The year started with a market cap of 220M USD and a price of 0.006 USD/XRP, while currently it sits at 8.4B USD and 0.22 USD/XRP. Now, let's look at how this all comes together. Market dominance At the time of writing, we this is how the market looks like: #1 Bitcoin - price: 1813 USD/BTC, market cap: 29.6B USD #2 Ripple - price: 0.22 USD/XRP, market cap: 8.4B USD #3 Ethereum - price: 90.8 USD/ETH, market cap: 8.3 BUSD #4 Litecoin - price: 29.6 USD/LTC, market cap: 1.5B USD Total market capitalisation of all coins: 55B USD, of which 25B USD are in altcoins. This means Bitcoin's market dominance is under 55%, while at the start of the story, it was about 85%: Market dominance Bitcoin has historically been the "gold standard" for crypto. The market leader, the first mover, the biggest whale. However, it seems like in this market if you're standing still, you're moving backwards. Since the start of our story, Bitcoin has periodically dipped in its price, but overall we're seeing all-time high price. The recovery was probably due to people worrying less about the potential network split that might come from Bitcoin Unlimited. Bitcoin is certainly stronger than ever, but there might also be blood in the water - despite the price of bitcoins rising, so too did the altcoin markets grew in leaps and bounds. Whether this bubble we're in right now (and it certainly has the look of a bubble) will pop hard and the market will rebound in Bitcoin's favour, or whether a new paradigm will be made where bitcoins play less of a dominant role, only time will tell. It is very unlikely Bitcoin will ever sink too deep into the coin list, but if the scaling stalemate continues, Bitcoin's advantage will be eroded over time. For years one could easily dismiss altcoins as being a fad, nowhere near as mature as Bitcoin. But at some point you have to realise you might have to compete for your top dog spot. We're living in a market that is used to , and Bitcoin's market cap is "only" two doublings away from its next competitor. Conclusions We are probably in the biggest crypto bubble to date. Not only has once again reached its all-time high price recently, but the altcoins have also grew by leaps and bounds. In the near future, I would expect some large contraction, especially in the alt market. Litecoin will probably dip back down now that SegWit is activated and its rally is over. It will be interesting to see where the money will flow if the value of bitcoins will pop - whether people will be cashing out to fiat, or altcoins. The biggest threat for Bitcoin is still the scaling issue - if that's not dealt with soon, the issue might just go away... along with many Bitcoin users that will switch to some of the alternatives. View the full article
  25. html{ font-family:"Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; background-color:#fff; color:#ffffff; } body{ margin:0; color:black; } .body-inner{ background-color:#DDDDDD; } .header{ background-color:#fff; font-size:0.75em; line-height:18px; width:100%; margin:0 auto; color:#9f9f9f; } .content-outer{ max-width:700px; width:94%; margin:0 auto; padding:2px 0 5px; } .content-header{ height:20px; border:1px solid #555; border-top:4px solid #4ab0ce; background-color:#EFEFEF; color:black; padding:8px 3%; font-size:18px; font-weight:bold; width:100%; } @media (max-width: 720px){ .content-header{ font-size:14px; }} @media (max-width: 720px){ .header-date{ font-size:12px; }} .content-header td{ border:0; } .header-date{ vertical-align:middle; margin-right:5px; font-weight:normal; display:inline-block; font-size:15px; } .logo-wrapper{ display:inline-block; vertical-align:middle; } .pull-right{ float:right; } .align-right{ text-align:right; } .content-header img{ width:24px; height:24px; vertical-align:middle; } .content{ font-size:14px; padding:15px 3% 0; font-weight:normal; line-height:24px; color:black; background:white; border:1px solid #888; border-top-width:0; border-bottom:2px solid #4ab0ce; overflow:hidden; } .content a{ text-decoration:none; color:#1726ff; } .content a:visited{ color:#1726ff; } .content img{ max-width:100%; height:auto !important; display:block; padding:0; margin:0; margin-bottom:-1.4em !important; } .content table{ border:0 !important; display:block; overflow:auto; } .slogan{ text-align:center; margin-bottom:-10px; line-height:1.4em; } .slogan h5{ margin:0 auto; } .wrapper h2{ padding:2.5% 0; border-bottom:1px solid #888; } .buffer{ text-align:center; } .buffer a{ color:#888; } .contact{ width:100%; margin:0 auto; padding-bottom:10px; } .contact p{ text-align:center; } .contact a{ text-decoration:none; color:#333; } .contact a:hover{ color:#333; } .contact a:visited{ color:#636; } td,th{ color:#000; border-color:#888; padding:0 5px; } View this email in a browser BitMEX Crypto Trader Digest May 12, 2017 From the Desk of Arthur Hayes Co-Founder & CEO, BitMEX Hong Kong Altcoin Arbitrage Seminar Bitcoin trading strategies are becoming more well-known; however, other digital currencies (altcoins) are also gaining in popularity. I will lead a seminar on how to apply simple arbitrage strategies to the altcoin universe. The following strategies will be discussed: Cash and Carry Arbitrage Create to Lend Altcoin Market Making ICO trading using derivatives Date: 17 May 2017 Time: 7pm – 9pm Location: The Hive, 23 Luard Rd, 21/F The Phoenix, Wanchai, Hong Kong Cost: Free Please RSVP using Eventbrite. For those of you who cannot attend, a video will be uploaded to our YouTube channel afterwards. How Do You Spell Hot? Tezos In 2014 Ethereum raised an eye-catching sum of $18 million. I went on record calling Ether a "shitcoin" due to the uncapped nature of their ICO. I also predicted investors would lose money on the issue. I was dead wrong. Ether is one of the best performing digital currencies since 2014. The Ether / USD price is up over 23,100% in under 3 years. Those who sold early or never participated at all, are jonsing for the next supernova. The next get-rich-quick coin of 2017 might be Tezos. What is Tezos?Shitcoin? Maybe. From the Tezos team: Tezos is a new decentralized blockchain that governs itself by establishing a true digital commonwealth. It facilitates formal verification, a technique which mathematically proves the correctness of the code governing transactions and boosts the security of the most sensitive or financially weighted smart contracts. Tezos is a truly ambitious project, much like Ethereum was back in 2014. Their TGE (Token Generation Event, or ICO basically) will accept Bitcoin and Ethereum. Since Big Daddy Vitalik delivered on ETH, and the market capitalisation of the entire digital currency universe is multiples higher now, we should expect Tezos to raise God-like sums of money. Hype is at an all-time high. Bigger than the DAO?Absolutely. There is no cap to the amount of Tezzies (XTZ) that can be generated during the TGE. The number to beat is $150 million. Tezos is likely to smash through that, and set a new world record for the largest crowdfunded project in human history.Rockstar TeamArthur Breitman and his wife Kathleen completed tours of duty at Goldman Sachs, Morgan Stanley, Bridgewater, and R3, to name a few. Name-drop any of those firms, and you should get at least $10 million of investment. Crypto legends such as Zcash’s Zooko Wilcox and Emir Gun Sirer also serve as advisors. Tezos has an extremely strong team, and that is not lost on the financial media or their investors. Luminary Tim Draper is losing his ICO virginity to Tezos, causing a wave of publicity. Shitcoin or Supernova?The best thing about hyped up ICO’s like Tezos is that there are equal measures of haters and believers. That creates a healthy and interesting market. BitMEX is here to provide derivative instruments to express sentiment for bulls and bears alike. BitMEX will list a prediction futures contract on whether more than 300 million XTZ will be issued during the TGE. That amount of XTZ represents approximately $100 million. Traders who think that more funds will be raised will buy the TEZOS contract, traders who think the opposite will sell the TEZOS contract. The second product will be a traditional futures contract that will list immediately after the TGE concludes. BitMEX’s mission is to provide price discovery on popular projects like Tezos before tokens trade in the secondary market. Tezos estimates that distributions of Tezzies will occur in late 2017. The BitMEX 29 December 2017 Tezzie / Bitcoin futures contract, XTZZ17, will allow traders to go long or short with up to 2x leverage. Traders only need Bitcoin to participate in this market. For those who think XTZ is going for Supernova status, you can long XTZZ17. Alternatively, for those traders who subscribed for Tezzies during the TGE and want to be able to lock in potential profits, or for those traders who think Tezzie is worth barely more than zero, you will have the ability to short XTZZ17. Will Tezos be the Zcash of 2017? It shows every sign of being bigger, badder, and more volatile. Bull Market Baby There is nothing better than being a market participant during a long, strong, and explosive bull market. The energy and intoxicating optimism is second to none. The last bull market I was privy to was in the summer of 2007. I Eat First2007 was the best year in terms of financial services bonuses in human history. Around the globe the Finance Insurance and Real Estate (FIRE) industries were rocking. I landed on the Deutsche Bank Asia Ex. Japan Equity Derivatives Sales desk in Hong Kong that summer. The desk was nicknamed the snake pit. I could tell stories for days about my three months spent with the team, but I'll tell one of the best here. The head of the desk was a burly Canadian. Let's call him Moose. His sales desk was one of the most profitable in Asia, and he let everyone know it by the way he carried himself. I was an intern on the desk. We would arrive before the morning meeting, hungover of course, buy breakfast, buy lunch, and do whichever other menial tasks the desk required. There were strict rules, of course. If you missed the morning meeting, you had to buy breakfast for the whole team (about 10 people) from the Mandarin Oriental. Believe me, that's not cheap, especially when they know you're buying. We thought Moose was away at a conference. As such, we didn’t include him in that day’s kebab lunch print. The whole desk loved this particular kebab joint located a 10 minute walk away from the office. We slogged through a wall of heat from the office to the restaurant and back, still in shirt and tie. I don't recommend it - or the smell. We return to the office with our bags of kebabs, and to our surprise, Moose appears. He asks us where his kebab was. We politely told him we didn’t order him one because we thought he was still away. Oh, that was the wrong answer. He goes to his desk and sits down. A few minutes later he comes storming down the aisle, looks right at us, and yells loud enough for the whole trading floor to hear, “On this desk, I eat FIRST!”. I then offered up my kebab, and the Moose was mollified. Legendary. The market, of course, turned. Fast forward 18 months, the desk was half the size and Moose was far away, enjoying his middle age on his compound back in Canada. Steps, then RampBitcoin's $1,000 milestone has held, and so did $1,500. We are less than 20% away from the next milestone: $2,000. The rally to date has been relatively calm. The price quietly stair steps higher, with minor corrections. The parabolic euphoric spike has not occurred yet. There are still haters who proclaim scaling, lack of liquidity, lack of regulation, and other similar issues as reasons why Bitcoin cannot continue to creep higher. The price action says otherwise, and forces bears to cover higher and higher. In 2013, a mention of Bitcoin in Bloomberg, the Wall Street Journal, or the Financial Times would make traders wet. Now, not a day goes by where a mainstream financial media outlet isn’t talking about something related to the digital currency industry. The constant barrage of stories only causes the FOMO to increase for the general investing public. In America, Joe Sixpack cannot trade an ETF yet, but in Europe the Bitcoin XBT Provider ETN (listed on Nasdaq Nordic) continues to trade well. A few money managers are starting to dip their toes in the water. Small investments of a few million USD are flowing into the ecosystem. The market cap of digital currencies is still insignificant. A few million here and there continues to supply a strong floor to prices, which allows the speculators to pump them higher. The euphoric stage has not been hit yet. When CNBC starts trotting out random retail investors who doubled their money investing in Bitcoin and shitcoins, then it is time to sell. For now, the haters are in awe of the sheer power of the bull market. However, a nasty correction could come earlier. In my opinion, Bitcoin is due for a 20% to 30% correction in one 5 minute candle. When that will happen is anyone’s guess. But the market is a cruel and capricious lover. $2,000 is the next key level. If Bitcoin breaks above and manages to hold the level after a correction, that is the signal that the euphoric phase can begin. The price testing and failing at $2,000 could lead to a meaningful retrace to $1,500 or even $1,000. Japanese Domination One of the toughest places to do business as a westerner in Asia is Japan. The Japanese take pedantry and adherence to the process to new levels. Common sense does not enter into the equation. The lack of wiggle room makes getting things done methodically slow, and painfully frustrating for impatient gaijin. That is why Japan’s regulatory acceptance of Bitcoin is astounding. Earlier this week I had a meeting with a Singaporean family office, and the PM remarked how crazy it was that Bitcoin would find a legitimate home in Japan first. This is especially surprising given that Singapore and Hong Kong profess to be epicenters of forward thinking financial services. In hindsight, MtGox's demise is paying long-term dividends. The Japanese paid host to one of the biggest frauds and bankruptcies in human history, and this forced them to create a regulatory framework for Bitcoin and digital currency trading. In Asia, Japan has a history of adopting technological changes ahead of its peers. Japan was the first Asian nation to industrialise in the late 19th and early 20th century. That allowed them to enact the Asian version of the Monroe Doctrine, much to the chagrin of China and South Korea. On July 1st, the sales tax on Bitcoin will go away, and a new crypto exchange regulatory framework comes into effect. Exchanges that tow the line have the regulatory green light to operate in plain sight. The large Japanese banks too are all so comfortable with Bitcoin, given that they have stakes in all the major exchanges. With solid banking relationships and a supportive government, Japan will become the most hospitable home for Bitcoin trading globally. The Japanese are prolific FX traders. Some of the largest CFD trading houses plan to launch Bitcoin / JPY leveraged trading products in July. The amount of money that can legally flow into Bitcoin and digital currency related projects is in the billions of USD. The removal of the sales tax will allow market makers to properly provide ample liquidity to the market. The enthusiasm for Bitcoin in Japan already manifests itself in a substantial and sticky premium. Currently the premium is 4%. Unlike China, Japan’s capital account is open. Yen can enter and leave Japan freely. This will allow the fruits of the Japanese liquidity to spread world-wide. Spot ArbitrageJapan is still Japan. As a foreigner, it is very difficult to open an account at a Japanese exchange. As always, Japanese people like dealing with Japanese businesses. They will not trust a foreign exchange. As a result, the ecosystem will be fairly contained and will move differently than the more international Bitcoin / USD markets. For traders who can suffer through Japanese bureaucracy and open an account onshore, the arbitrage potential is enormous. Most exchanges are searching for larger international corporate accounts. I have yet to see an onshore Japanese exchange allow personal accounts that do not have a domestic Japanese bank account. I implore any exchanges reading this to correct me if I’m wrong. Having said that, the arbitrage flow is simple: Buy Bitcoin vs. USD Sell Bitcoin vs. JPY in Japan Buy USD vs. Sell JPY as a currency hedge Remit JPY to your bank account offshore Repeat Japanese banks are quite slow in processing foreign wires. Expect each turn to take 5 business days.Futures ArbitrageBitMEX has offered Bitcoin / JPY futures (XBJ series) products for some time. However now that Bitcoin trading volumes are positioned to explode in Japan, interest in our XBJ series will grow. Traders who can trade XBT/JPY spot can employ simple cash and carry arbitrage using XBJM17. Traders who cannot trade XBT/JPY spot, can substitute their long exposure using the XBTUSD swap. You must be willing to assume that the spread between XBT/JPY and XBT/USD will reduce due to arbitrage forces. Jump-starting volume on our XBJ series is a top priority. If you are a market maker and want to learn more about the Japanese market, please contact us to get started. Remember China?China and Japan play nice outwardly, but it ends there. The PBOC’s actions against the Chinese exchanges destroyed China’s influence on the Bitcoin trading market. Previously, many held up the Chinese model as a beacon of hope in the quest for a location that let people trade crypto without interference. Japan will take the mantle away from China. Globally, many governments will look at Japan as the premier forward-thinker in financial technology. For the sake of Face, there is a slim chance that China could allow business as usual again by the end of June. A recent Caixin article reported that exchange fines will be levied, and the PBOC might allow normalisation of Bitcoin trading at the end of June. I still believe Bitcoin withdrawals will not reinstated until October, but pride is a hell of a drug. Keep your eye on the markets this month. We're in for a ride. Risk Disclaimer BitMEX is not a licensed financial advisor. The information presented in this newsletter is an opinion, and is not purported to be fact. Bitcoin is a volatile instrument and can move quickly in any direction. BitMEX is not responsible for any trading loss incurred by following this advice. Contact Us | Subscribe | Unsubscribe View the full article
×
×
  • Create New...