Decred Journal – March 2019

abstract art

March has seen some significant proposals and votes on the governance side, and solid progress on core software on the development side - a fairly typical month for Decred.

The latest consensus vote to fix Lightning Network sequence locks is presently nearing completion with almost 100% support and 54% participation, projected to end on Apr 11.

On Politeia, five proposals were published and two proposals finished voting (one accepted, one rejected). Among the new proposals submitted is a significant one from @moo31337 which outlines a path towards decentralized stakeholder control of Treasury spending.

dcrd saw a huge refactoring that will bring significant performance improvements for all users when v1.5.0 is released, although advanced users can build it from source today.

Development

dcrd: huge refactoring makes initial full sync 20-25% faster, down to around 45 mins on typical hardware. Another benefit is reduced vote propagation latency:

[latency is affected by] many factors, but per node average from ~70ms to sub 5ms on my nodes. Need more data for better values. Good alone, but real gains will come with majority network upgrade since savings are multiplied by number of nodes votes traverse (log_8(tot)). Full deployment ~90% overall improvement. (@davecgh)

As part of the optimization txscript module was completely refactored to use a new zero-allocation script tokenizer.

Initial sync is a big factor of course, but the real gains are in the ongoing transaction processing for mempool. The other really nice facet is the exported tokenizer which means it’s possible to do zero-allocation analysis on scripts outside of txscript which is great for building apps (e.g. atomic swaps, taproot, etc) on top. (@davecgh)

Because a critical and error prone area of consensus code was changed, significant effort has been put into making these changes easier to reason about and review by carefully crafting a series of 122 individual commits such that every commit message thoroughly describes its purpose, maintains consensus, and therefore passes all tests. Bonus: the refactoring slashed some 2K lines of code. Less code, less bugs!

There is an opportunity to remove another 10-15 min of initial block download but it requires months of solid work (hint to contributors).

Other merged work: initial Bech32 address (BIP 173) support ported from btcsuite, introduced a reusable LRU cache module, hdkeychain module was refactored to make code less brittle and more testable, added new background block template generators. Lots of code clarity and testing improvements were made to harden the codebase against unintended changes.

A total of 209 commits from 9 contributors were merged in March.

In progress: another large refactor started to address multiple issues in chaincfg module, discussion started to protect node seeding process from DNS based attacks.

In the big picture, changes like background block template generator and part of txscript optimization aim to improve scalability and reduce the number of missed votes on the network through improvements to the mining infrastructure and reduction of vote propagation latencies. The other part of txscript and chaincfg refactoring are infrastructure work to properly introduce a new script engine version for future desirable consensus changes such as the decentralized treasury spending. Even if that proposal doesn’t pass, the infrastructure is still needed for a wide variety of future script-related consensus changes.

dcrwallet: bug fixes and code maintenance. Merged 12 commits from 6 contributors.

Decrediton: ticket activity heatmap visualization merged among smaller fixes - total 5 commits from 2 contributors.

Politeia: added tab to preview proposal text, completed feature to view difference between proposal versions, changed default comment sort to first show comments with highest score, added ability to set sort in the URL. Many bugs were fixed. These changes were merged in the master branch and will be deployed on the main proposals site after some testing on the test site.

In terms of code infrastructure, several parts of the contractor management system landed in master following a codebase cleanup after rapid development phase. Test coverage was increased from 13% to 19%.

A bug was detected that allowed advanced users to cast votes beyond the end of the voting period. It was known for some time and the fix was awaiting deployment. Upon learning that late votes were occurring the fix was deployed on Mar 13. Politeia UI may display slightly incorrect vote counts for some proposals but vote outcomes were not affected.

The reassuring part about Politeia is that all of the data is publicly available and is periodically timestamped onto the Decred blockchain. This means that anyone can pull the data down from github and cryptographically verify which votes were cast within the voting period (+/- 1 hour) and which ones were cast after the voting period had ended. (@lukebp in Politeia Digest 12)

A total of 40 commits were merged in politeia and politeiagui from 6-9 contributors.

dcrandroid: minor bug fixes, Chinese translation added, speed optimizations for viewing the transaction history.

dcrios: dcrios beta is in good shape and ready for more public exposure. Testers are welcome and they can get the app at TestFlight. There are only a couple of minor outstanding bugs. There are known layout bugs for iPod Touch devices which are still in the works. The blocker at the moment is dealing with some formalities to approve the Apple Store account. As soon as that is done, an official release client will be made.

dcrdata: version 4 released and is available at explorer.dcrdata.org.

User facing changes include complete redesign with new page styles, more information and better organization, Politeia proposal pages, aggregate block information on time intervals, log and linear scaling for charts, exchange rate monitoring and lots of smaller things. It is rumored that the HODL watermark is gone. For dev updates check the full release notes.

During 3 months of development, the v4 release received a stunning 48K added and 19K deleted lines in 325 commits from 11 contributors. Congrats dcrdata!

There are features and improvements already brewing 4.1, so minor release should follow relatively quickly. 4.0 scope creeped quite a bit, but all for good reason, and it was worth it. (@chappjc)

In progress: load testing and performance optimization continues, dependency management improvements with Go modules, live consensus vote tracking, faster charts, proposal votes charts and dcrextdata - a component for dcrdata that will allow tracking of data not present on the blockchain, such as historical information about exchange prices and mining pools.

Ticket splitting: v0.7.6 released that optimizes the fetching of unspent outputs from dcrdata and adds macOS binaries.

docs: new detailed Ticket Splitting guide, Consensus Rules Voting reworked and extended, Proposal Guidelines updated to include key requirements for proposals funded from Treasury.

decred.org: updated exchanges and translations, self-hosted intro video to remove a request to YouTube.

Other:

Dev activity stats for March: 360 active PRs, 497 master commits, 46K added and 34K deleted lines spread across 8 most active repositories. Contributions came from 2-9 developers per repository.

People

Welcome to new first time contributors with code merged to master branches: @devwarrior (atomicswap) and DominicTing (dcrweb).

Governance

The ongoing consensus vote, commenced on Mar 14 (block 326,656), is nearing completion with almost 100% support and 54.4% participation, projected to end on Apr 11.

In March the Treasury received 16,288 DCR and spent 13,595 DCR. Using March’s daily average DCR/USD rate of $18.14, this is $296K received and $247K spent. As these payments were for work completed in Feb, it is also informative to consider them in the context of the Feb average daily rate of $16.51 - in which case the USD received/spent figures are $269K/$224K. As of Apr 9, Treasury balance is 608,560 DCR (15.3 million USD at $25.26).

Proposal status as of Apr 10:

Pre-proposals:

decredcommunity.org got some criticism for not being open source and not explicitly stating it in the body of the proposal. One of the arguments is that the Treasury has never paid for closed source work before, except for some integrations where it could not be disclosed. Funding of software that is not open source also goes against the project’s constitution. Captured in this issue, the discussion also triggered some improvements in proposal guidelines to state any restrictions in terms of the licensing of deliverables.

@richardred posted an analysis exploring to what degree early votes influence the behavior of late voters, and whether this kind of effect could influence the outcome of votes.

For greater detail, analysis and commentary see @richardred’s Politeia Digest issue 12 and issue 13.

To get notified about Politeia proposal activity, enable email notifications in your Politeia profile or follow @pi_crumbs and @slices_of_pi on Twitter.

Discussions:

Network

Hashrate: March’s hashrate varied between the low of 221 Ph/s and a new ATH of 570 Ph/s. During the first half of the month the average held around 320 Ph/s, but increased to greater than 400 Ph/s towards the end. Pool hashrate distribution as of Apr 1: F2Pool 23%, Poolin 20%, lab.antpool.com 16%, BTC.com 12%, UUPool 11%, Luxor 3.2%, CoinMine 0.4% and others 14% per dcrstats.com. Pool distribution numbers are approximate and cannot be accurately determined.

Staking: 30-day average ticket price was 112.3 DCR (+0.6) on Apr 1 per dcrstats.com. The price varied between 108.6-117.9 DCR. Locked amount was 4.47-4.61 million DCR, which corresponded to 46.9-48.6% of the available supply.

Nodes: As of Apr 1 there were 191 public listening nodes and 336 normal nodes per dcred.eu. Version distribution: v1.5.0 dev builds: 6.3% (-2.3%), v1.4.0: 55% (+12%), v1.4.0 dev and rc builds: 5% (-2%), v1.3.0: 17% (-6%), v1.2.0: 9.5% (-0.5%), v1.1.2: 4%, v1.1.0: 1.7% (-0.3%).

Mining

Integrations

Following a joint event in San Francisco, OKCoin announced the listing of DCR pairs against BTC, ETH and USD, adding another fiat on-ramp for DCR. The news was picked up by The Block and several smaller outlets.

CoinText added DCR support. The service allows one to send DCR to anyone with a phone in the US and Canada. Do read up on how the service works and use appropriate caution and small amounts.

Outreach

March was one of the most successful months in the history of the Decred-Ditto relationship. From helping organize an incredibly successful event at OKCoin offices in San Francisco, to securing a feature article in The Wall Street Journal, Ditto and Decred made some major waves in the space. Ditto lost count of how many other crypto companies and enthusiasts reached out to them just to congratulate Ditto/Decred on WSJ and compliment them on a fantastic event.

Ditto’s March achievements:

For more detail and smaller items see Ditto’s biweekly updates from Mar 1, Mar 15 and Mar 29. Thanks to @liz_bagot for consistently providing biweekly and monthly reports about Ditto’s progress!

April will showcase the first edition of the rebooted Decred Assembly, hosted by Dustin & Jake, and featuring various members of the community (internal and external). It will include a synopsis of news and timely topics, a deep dive into a specific subject matter, and a couple of other segments each week designed to share Decred’s ethos and principles.

Discussions:

Events

Attended:

Upcoming:

Media

Community efforts:

Selected articles:

New info leaked about c0:

Haon: https://crypto.bi/tape/blog/dcr/ - “The founders of decred originally worked on the development of Bitcoin in a project called biscuits.”
jy-p: working on biscuits for a while gave us the perspective we needed to start decred. our second project, fried chicken, is what led us to create our own louisiana kitchen

A few more gems were found on Crunchbase: Decred is a “Private”, “For Profit” company, “uses 8 technology products and services including PHP, nginx, and Google Drive”, and “is actively using 24 technologies for its website. These include Viewport Meta, IPhone / Mobile Compatible, and SSL by Default”. Finally, the team includes two Jacob Yocom-Piatt, which somewhat explains the amount of foresight behind the project.

Translations:

Audio:

CoinMarketCap started to show FCAS rating for crypto assets. The Fundamental Crypto Asset Score is tracked by Flipside Crypto since early 2017 and is available for more than 450 projects. The goal of the system is to answer “can this crypto project produce product people want to use, and are people using it?” by largely ignoring price movements and instead putting more weight in customer activity and developer behavior, as explained here. As of Apr 9 Decred is rated “A” 778 out of 1000. Some context: Litecoin 752, Zcash 792, Bitcoin 862, EOS 910, Ethereum 914.

Community

Community stats as of Apr 1:

Comm systems news:

Selected Reddit discussions: “Skepticism Sunday” threads on Mar 3 and Mar 24; how many people would like part of their paycheck in DCR; thoughts on using Kialo as a tool for more structured communications around decision making; idea to add polls to Politeia.

Markets

In March DCR was trading between USD 15.93-23.26 / BTC 0.00414-0.00596 per coinmarketcap. The average daily rate was $18.14.

In the middle of March many cryptoassets experienced significant short-term or prolonged growth. On Mar 12 DCR had a short spike on all exchanges, for example on Binance from 0.0043 to 0.00638 BTC. After that the price settled above 0.0048 BTC.

Relevant External

GitHub is updating their policy. New drafts were published for feedback till Apr 12 and will come into effect Apr 19. Among the changes is commitment to react to Do Not Track, sharing user data with more 3rd party processors and updated use of third party user trackers. The change to clarify influence of U.S. sanctions triggered a question how this might impact Decred contributors - if you know, please comment in this issue or on Reddit. Some changes might be unpleasant but are pretty common for most companies and give us a good moment to reflect on our beliefs about free stuff. Also, unlike most companies, GitHub has all their policy documents versioned transparently in a Git repo that anybody can clone and inspect. The idea to have a similar repository for Decred was discussed a few times and there is a concept sandbox repository showing how it might look like.

Stellar (XLM) experienced an inflation bug which was exploited to print 2.25 billion XLM (worth $10 million at the time, and nearly 25% of the circulating supply) in April 2017. This bug was lightly reported at the time, it was fixed by the Stellar Development Foundation (SDF) who burned an equal amount from its community reserve to offset the unintended inflation. That the SDF could identify, fix and mitigate such a major exploit so quietly says something about how decentralized Stellar is.

PIVX experienced an inflation bug which was exploited in March. The bug concerned the network’s zerocoin protocol (zPIV), and allowed an attacker to fake serial numbers and spend zerocoins that had never been minted. Over the course of five days, transactions creating and spending 568,897 PIV (~$438,000) were made before the exploit was identified and zPIV transactions were disabled (until it could be fixed). Besides regular takeaways like “consensus code is hard” and “cryptography is hard”, this case has more food for thought. First, zerocoin functionality was disabled immediately after the exploit was discovered using one of the “sporks”. Someone with the keys for these sporks can affect the whole network. Second, the bug was spotted because some nodes were switching away from OpenSSL that let the bug go unnoticed (OpenSSL is long famous for its quality). While those nodes were not full alternative implementations, it still shows how a mismatch between diverse software helps to discover bugs. Third, it is possible to know exactly how many coins were minted because PIVX’s zerocoin protocol allows supply to be auditable, unlike some other privacy protocols.

Ethereum is actively discussing a dev fund funded from block rewards. Kickstarted by Gitcoin co-founder, ERC 1789 (continued as EIP 1890) provides an overview of funding models employed by open source and makes a case for inflation funding for protocol maintenance. A supplementary GitHub project was organized with a collection of documents and more than 50 issues.

Monero’s new Community Crowdfunding System was launched, and a number of projects were funded.

Dash held an election for Trust Protectors, people who will oversee the operation of a legal trust that has been set up to own and control Dash Core Group.

Dash also finished the deployment of the Deterministic Masternode List, enabling automatic instant payments for transactions with fewer than 4 inputs.

Dash Core Group further tightened its budget with layoffs and salary freezes.

Tezos concluded the first round of voting for its Athens upgrade. In this round bakers were choosing from between two versions of the Athens upgrade which increases the gas limit, and they chose the Athens A version which also decreases the minimum roll size and lowers the barrier to entry for bakers. The process has now moved on to its next phase, where bakers must confirm that the selected proposal should proceed to a subsequent testing and confirmation phase.

Grin developers voted to fund 3rd full time developer in a weekly governance meeting. An interesting aspect of Grin is their efforts towards reporting and transparency: multiple versioned documents are published on GitHub, including decision log, meeting notes, income and expenses.

Poloniex committed to share a portion of Grin trading fees with Grin General Fund. 50% of all fees will be donated during the first month, and 25% for the next 11 months. Pretty rare and generous act in the space.

Jack Dorsey announced Square is looking to fund engineers and a designer to work full-time on Bitcoin and cryptocurrency ecosystem, as a way to give back to the community. One response noted that “dev fund” embedded in a protocol is not needed because network participants have enough incentives to fund their infrastructure. In Decred’s case, if the Treasury is ever deemed no longer necessary, it is within stakeholders’ power to repurpose it for investing into a wider crypto/open source/open hardware ecosystem, or disband it entirely.

Investigation of QuadrigaCX by Ernst & Young found that exchange’s cold wallets were empty and unused since April 2018. Kraken offered a $100K reward for tips that lead to the discovery of the missing $190 million.

New research from @BitwiseInvest suggests 95% of reported BTC spot volume is fake, but also notes much good news about the crypto ecosystem.

IMF found an elegant solution to make negative interest rates work as a counter-measure to a possible future crisis. A negative interest rate of -3% would mean you deposit $100 to a bank and withdraw $97 a year later. Such rates are currently hard to enforce because people would just withdraw to cash. The “straightforward” solution would be to move into a happy “cashless world” where the bank can set arbitrary negative rates and you simply can’t withdraw to cash to save your value from melting. This is expected to “make consumption and investment more attractive, … jolt lending, boost demand, and stimulate the economy”. But getting rid of cash is not easy and is years away. So another solution to sustain a negative interest rate that is easier to roll today is to split a fiat currency into e-money and cash and introduce a floating conversion rate between them. This way, in a -3% interest rate scenario, you either deposit 100 cash dollars into e-dollars and get 97 e-dollars in a year, or hold cash and enjoy a 3% value loss against both goods and the e-dollar. In such a system there is no benefit to hold cash relative to bank deposits. Hasu and Su Zhu argue that crypto can serve as a hedge against the cashless society. Disclaimer: this paragraph is written by a layman. Economists are welcome to comment how this is healthy at all.

Coinbase Custody enabled deposits and withdrawals for ZIL, KNC, ZEC, XTZ and claim to hold $600 million for 60 clients. The service offers regulated, insured and full offline custodial storage of crypto. The plan is to allow clients to fully participate in crypto networks besides just holding: Tezos baking (staking) is already implemented while voting in Tezos and MakerDAO is planned for Q2 2019.

Coinbase received a backlash from users who deleted their accounts to protest the acquisition of Neutrino, a blockchain analysis startup. The users were upset because Neutrino’s executives previously worked for Hacking Team, which sold spyware to governments to aid surveillance and crackdown on journalists and critics. By coincidence, several user faced difficulties closing their accounts. The Block reported that Coinbase knew about Neutrino’s background but still decided to proceed with the acquisition. A week later Coinbase CEO Brian Armstrong called it a “gap in our diligence process” and announced that people who worked at Hacking Team will transition out of Coinbase.

The problem Coinbase tried to solve with that acquisition was their KYC contractors “selling client data”, as slipped in one interview. Many exchanges don’t verify ID directly but instead hand it to 3rd parties, who may in turn hand it to more 3rd parties, and so on so it quickly gets out of control. Per another report there was not much choice for Coinbase due to another problem - many such firms moved to a ‘give-get’ data model, where Coinbase would only be permitted to use the service in return for providing its own data. Besides spreading to an unknown set of entities, another risk is that enormous amount of interlinked personal data may concentrate in a single place that will become an attractive target. For example, Jumio’s Netverify is used by 5 of the top 10 exchanges including Coinbase, Bittrex and Bitstamp, and an increasing number of ICO issuers.

New Android malware was detected that targets more than 100 global banking apps including 32 cryptocurrency apps such as Bitcoin Wallet, BitPay, Cryptopay, Coinbase and others. Another report about an old crypto hacking group recommends Windows and macOS users to be more cautious when dealing with new 3rd parties, installing software, and to never ‘Enable Content’ (macro scripting) in Microsoft Office documents received from new or untrusted sources.

Beta of Neutrino wallet for Bitcoin Cash was released for Android. It uses the same SPV tech as Decred to connect wallets directly to the nodes without intermediaries. Decred and gcash project have common code which makes an opportunity for code reuse and collaboration - see December issue for more coverage.

PSA: Decred Journal Takes a Break

Twelve issues mark a full year of Decred Journal exposing Decred’s ethos, depth and community involvement.

I (@bee) have accumulated a lot of things in life and in Decred that I would like to complete, and also I need a break. Therefore, the release of future issues is not guaranteed. I will, however, remain available in Matrix and do my best to assist anyone willing to produce Decred Journal. To get involved join #writers_room.

Thank you to all readers and contributors!

About This Issue

This is issue 12 of Decred Journal. Index of all issues, mirrors and translations is available here.

Most information from third parties is relayed directly from source after a minimal sanity check. The authors of Decred Journal have no ability to verify all claims. Please beware of scams and do your own research.

Your feedback and contributions are welcome on Reddit, GitHub and Matrix.

Credits (alphabetical order): bee, davecgh, degeri, Dustorf, guang, jholdstock, liz_bagot, raedah, richardred, saender, sambiohazard.