Decred Journal – October 2019

abstract art

Image: Source Relay by @saender

Highlights for October:

Prepare for the Upcoming Consensus Vote!

A vote to change consensus rules is coming in v1.5. Release candidate binaries are available now and final release will follow.

Please prepare for the vote by upgrading software and setting a vote choice for your solo or VSP tickets.

You can track the progress at dcrdata’s Agendas page and at voting.decred.org.

High voter engagement sends a strong signal. Let’s do it!

v1.5 Release Candidates

Release candidates of dcrd, dcrwallet, Decrediton and dcrlnd are available for testing. Below are highlights from their release notes.

dcrd v1.5

Block header commitments are implemented and ready for activation pending successful on-chain vote. After upgrading to v1.5, stakeholders may set their vote preferences through their wallet or Voting Service Provider’s (VSP) website. The primary goal of this change is to increase the security and efficiency of lightweight clients, such as Decrediton in its SPV mode and the dcrandroid/dcrios mobile wallets. It will also add infrastructure that paves the way for several future scalability enhancements. A high-level overview of the changes can be found in the Politeia proposal that funded the work.

New block filters have been implemented. These filters, used by lightweight clients such as SPV wallets, have been updated to improve their efficiency, ergonomics, and include additional information such as the full ticket commitment script. The new block filters are version 2. The older version 1 filters are now deprecated and scheduled to be removed in the next release, so consumers should update to the new filters as soon as possible. Note that there is a one-time database update to build and store the new filters for all existing historical blocks which will likely take a while to complete (typically around 8 to 10 minutes on HDDs and 4 to 5 minutes on SSDs).

The mining infrastructure for building block templates and delivering the work to miners has been significantly overhauled. Improvements include support for asynchronous background template generation with intelligent vote propagation handling, improved handling of chain reorganizations necessary when the current tip is unable to obtain enough votes, better current state synchronization, near elimination of stale templates when new blocks and votes are received and subscriptions for streaming template updates. The standard getwork RPC that PoW miners currently use to perform the mining process has been updated to make use of this new infrastructure, so existing PoW miners will seamlessly get the vast majority of benefits without requiring any updates. In addition, a new notifywork RPC is now available that allows miners to register for work to be delivered asynchronously as it becomes available via a WebSockets work notification. These notifications include the same information that getwork provides along with an additional reason parameter. This parameter allows the miners to make better decisions about when they should instruct workers to discard the current template immediately or should be allowed to finish their current round before being provided with the new template.

Miners are encouraged to update their software to make use of the new asynchronous notification infrastructure since it is more robust, efficient, and faster than polling getwork to manually determine the aforementioned conditions. NOTE: Miners that are not rolling the timestamp field as they mine should ensure their software is upgraded to roll the timestamp to the latest timestamp each time they hand work out to a miner. This helps ensure the block timestamps are as accurate as possible. Making use of notifications and rolling the timestamp has been implemented in dcrpool.

Transaction script validation has been almost completely rewritten to significantly improve its speed and reduce the number of memory allocations. This introduces notable benefits, including 20-25% faster initial sync processing, quicker vote casting (which helps reduce the number of missed votes), and quicker block propagation.

Automatic external IP address discovery now allows full nodes to more easily discover other nodes on the network in a decentralized fashion. This will automate previously manual configuration steps such as setting the external IP address on the CLI, configuring the firewall and/or router for inbound connections and forwarding the port to the internal IP address running dcrd.

Tor IPv6 Support added. It is now possible to resolve and connect to IPv6 peers over Tor in addition to the existing IPv4 support.

dcrwallet v1.5

Major feature of this release is initial CoinShuffle++ implementation that allows to purchase tickets from a collective mixed CoinJoin transaction. Protecting individual stakeholder’s privacy is crucial because it also improves security of the network. Initial version has a number of limitations, most notably lack of support for VSP tickets, no graphical UI and reliance on central server for coordination. These will be addressed in future versions. It is worth noting that the server cannot know which outputs belong to which peer, in contrast with older CoinJoin designs.

Other features include voting agenda for block header commitments consensus change, the ability to import arbitrary extended pubkeys (important step towards removing address reuse), a flag to prevent the wallet from upgrading the coin type, a number of helpful RPC methods, improved performance and multiple bug fixes.

Decrediton v1.5

Main features of the release include initial Lightning Network integration, window size responsiveness for most pages, updated dark mode, a ton of UI tweaks, a fix of excessive data download and other bug fixes.

dcrlnd v0.2

Upstream changes were ported up to lnd v0.8.0-beta. A total of 379 commits and 90 PRs were merged. This has brought features like Safu Commitments, Watchtowers and Hodl invoices (seriously, these are official terms). Decred-specific work has been done to enable more seamless integration of dcrlnd in Decrediton.

Hashing algorithm to compute payment hashes has been switched from the initial BLAKE-256 back to the original SHA-256. This allows for cross-chain payments across the BTC/DCR/LTC LNs. This is a breaking change. Payments across channels made between nodes running v0.1 and v0.2 will NOT work and will cause an automatic forced channel closure. As the number of nodes is still small, this is not expected to cause a significant disturbance.

Remote wallets are now usable; this allows users to run dcrlnd by connecting it to an existing remote dcrwallet instead of running an embedded one. This is what LN in Decrediton will use instead of requiring users to manually specify credentials.

See the v1.5 RC1 release page for details and downloads for all 4 projects. As always, verify the binaries. It is an extra hurdle, but it is the best way to ensure the files have not been altered.

Testing help is greatly appreciated to fix any possible bugs before the final release. Please report any issues you find in the release candidates.

Development

dcrd: RIPEMD-160 hash algorithm implementation was imported in the dcrd repository, motivated by its deprecation in x/crypto and inconvenient dependency management. Although it is not recommended for use in new applications, dcrd will have to support ripemd160 forever in order to validate historical transactions and support p2sh scripts that rely on it. In general, it is a good idea to internalize all crypto that dcrd relies on because consensus applications have much stricter requirements than their dependencies, as was demonstrated by OpenSSL issues in Bitcoin.

Post v1.5 release, improvements for v1.6 have already begun. Faster index lookup has been enabled by leveraging the spend journal. Code cleanup that couldn’t be done until v1.5 release has commenced. Work continues to split the RPC server into its own package as part of a bigger movement to decouple components. Notably, some changes are being ported from contributions to the upstream btcd repository.

dcrwallet: The code has been updated to use new modules from dcrwallet and the latest modules from dcrd, trace code was added to collect performance metrics.

Politeia: The redesigned Politeia frontend went live on Oct 29, with a look that matches the other Decred software and a significantly improved mobile experience. A number of performance improvements were also deployed at the same time. It’s been many months in the making, congratulations to the Politeia team!

politeiavoter was made more resilient to network errors.

Work continues on the DCC functionality for the Contractor Management System. The invoicing system was augmented with a way to enter the hours worked by subcontractors, this information will be necessary for assigning voting power in the case of a dispute resolution all-contractor vote.

dcrstakepool: UI tweaks, bug fixes, cleanup that was on hold till v1.2 release. All inline javascript has been removed. Numerous modules were updated to their latest versions.

Work continues to implement accountless ticket purchasing that will allow making email optional, improve UX and pave the way for eliminating voting address reuse.

dcrpool: Precision of difficulty and target calculation has been increased. The pool was switched from polling for work to getting work notifications via dcrd’s new notifywork and making use of the new reason parameter. Rolling of the timestamp field has also been added. With this dcrpool satisfies all recommendations for working with dcrd v1.5 with maximum efficiency.

cspp: added ability to save JSON and CSV reports of completed mixes, bug fixes.

dcrdex: The spec has received several changes, including a switch of atomic swap contract to P2SH and a replacement of JSON-RPC with a custom message protocol. New foundational components were built: communications hub, swap coordinator, persistent order storage, order book subscription router, order router. Simnet test harness was added.

dcrandroid: Work on the new UI continues with an overhauled home page and other improvements to align the app with the standard app design recommendations for Android. Work continues on multi-wallet support. This will allow users to import their public key from Decrediton so that they can monitor the status of their tickets from their phones.

dcrios: UI improvements underway for seed restore and overview pages, and the navigation menu.

dcrdata: Redesigned blocks listing, connectivity and performance improvements, bug fixes.

docs: Added new page explaining block production times, new glossary terms, minor updates and cleanup.

devdocs: Developer documentation was moved to the Decred GitHub org. The site has not officially launched, but can be previewed at devdocs.decred.org. If there’s anything you’d like to see added, please let us know in the issues or by dropping by the #documentation channel!

decred.org: Exchanges page was updated (Easyrabbit and Cobo custodial wallet removed, Koi Trading OTC added). Keybase was added to Community page. A Dev console message was added to recruit web hackers. Piwik analytics was removed (and prior to that it was self-hosted).

Art for the revamped website is mostly complete, copy for new subpages is in progress.

Dev activity stats for October: 243 active PRs, 317 master commits, 67K added and 16K deleted lines spread across 12 repositories. Contributions came from 1-8 developers per repository.

People

Welcome to new first time contributors with code merged to master: Enrico Bonetti Vieno (dcrweb).

Because our first-time contributor detector only scans commits we have missed two new designers:

A bit late, but still a warm welcome onboard!

Welcome back to @praxis who was relisted on decred.org.

Community stats:

Governance

The payment to contractors for August was made on Oct 2 and reported in the previous issue of the Journal, it is excluded from the figures below.

In October the Treasury received 14,970 DCR and spent 12,539 DCR. Using October’s daily average DCR/USD rate of $15.59, this is $233K received and $195K spent. At September’s average daily rate of $22.02, the USD figure billed for work completed in that month is $276K. As of Nov 5, Treasury balance is 643,041 DCR ($12.8 million USD at $20.00).

There were 5 new proposals published in October (status as of Nov 8):

Politeia reached one year of operation on Oct 16, and the occasion has been marked with a number of publications:

Politeia’s redesign went live on Oct 29, bringing the theme into line with Decred’s other projects and bringing a number of additional improvements to performance. @lukebp tweeted about it, including a note that Politeia could use another talented frontend developer.

@degeri provided an update on the bounty program. 16 new reports were processed since July, 1 of which was eligible for a payout - a security issue in dcrdata (now fixed).

proposals repository was started in August with a high-level idea to be a place where stakeholders can quickly find all important information about proposals. Initial data was collected for DEX and market makers proposals and included indexes of important documents and discussions, and analysis of said proposals. In October the scope of the repository was extended to also index deliverables and host progress updates for approved proposals. The first batch of indexes and updates was added for Open Source Research, Ditto PR and Bug Bounty Program, with more to follow. The big goal is to improve reporting and oversight.

guidelines repository was started to collect guiding documents from multiple Decred contributors. Now it has moved under the decredcommunity org to host the new Community Organizer Playbook.

For more in-depth coverage of governance see Politeia Digest issue 23 and issue 24.

Network

Hashrate: October’s hashrate opened at ~446 Ph/s and closed ~452 Ph/s, bottoming at 339 Ph/s and peaking at 686 Ph/s throughout the month. Pool hashrate distribution as of Nov 2: UUPool 19%, Poolin 15%, F2Pool 5.6%, lab.antpool.com 5%, BTC.com 2.4%, Luxor 1.95%, Coinmine 0.10%, BeePool 0.10%, suprnova 0.01% and others 50% per dcrstats.com. Pool distribution numbers are approximate and cannot be accurately determined.

Notably, in the Nov 2 snapshot the percentage of “Other” (unknown) sources reached 50%, compared to 30% on Oct 2.

As of Nov 8, the hashrate change in the past 30 days is -24% per dcrdata. Between Oct 9-25 the average hashrate went down from ~500 to ~400 Ph/s and the difficulty from ~38B to ~29B. This decline correlated with the DCR/USD price going below $16.5 down to $13.

Staking: 30-day average ticket price was 132.3 DCR (+3.6) per dcrstats.com. The price varied between 120.8-142.3 DCR. The locked amount was 5.22-5.38 million DCR, which corresponded to 49.59-50.97% of the available supply.

A spike of missed votes was observed on Oct 18-19 (thanks to the new chart). There is no information about the root cause.

Nodes: Throughout October there were around 146 listening nodes and 402 total nodes per dcr.farm. Based on monthly average node counts, roughly 76% run dcrd v1.4.0, 7.5% are v1.5.0 and 0.7% are v1.6.0(pre) dev builds. 9.4% of nodes were dcrwallet v1.4 in SPV mode.

As of Nov 8, around 17% of PoS voters are signaling that they have upgraded and are ready to vote for the consensus rule change, per dcrdata. Considering that there was no final v1.5 release yet, it shows that a lot of voters care to install release candidates or build from source.

According to the tweet from Oct 14, about 15% of tickets are using private transactions, making the anonymity set of 7.5% of all DCR in circulation.

Outreach

Outreach activities continued to execute against the privacy release including a Decred Assembly episode featuring @jrick, but the focus shifted to bread and butter topics such as governance, DAOs, and projects in the pipeline. A Community Organizer Playbook was published to share best practices with community members and includes an Events guide, which was initiated by @eSizeDave and @zohand from Australia. These tools are designed to help enable community members to build the Decred ecosystem of users, developers, partners, and media, across the world. If you see ways to improve it please comment here.

Decred in Depth released two episodes in October: @zubair on DCR Security and Alex Feinberg on OKCoin’s perspective. Community members across the ecosystem contributed immensely to the outreach and education efforts, most notably @BlackBearXVII, who is publishing a ten-part Medium series on Decred; @permabullnino, who published Decred On-Chain: A Look at Block Subsidies; @Checkmate, who released a wide variety of research and tweet threads; @Exitus, who recorded a video on the first year of Politeia; and @richardred, who released a tweet thread of data on Politeia’s first year, as well as Peer Production on the Crypto Commons, a free book he has been working on since the start of 2019.

With a revamped website coming soon, an uptick in Decred social media activity, and a continued flurry of research and publication materials, Decred is well on its way to closing the gap on the information asymmetry.

Ditto’s October achievements:

Events

Attended:

Upcoming:

Full reports for several past events reported in previous issues have been added to the events repo: UMSA Technology Conference + Bolivian Mind Blockchain Meetup in Bolivia; Blockchain Summit Latam in Mexico; Blockchain Bootcamp in Australia; La Conexión + Crypto Fest in Argentina; Decred Meetup in Morocco.

Around 11 new reports have been added for a total of 30. This has helped to improve the report template and submission guide. Thanks all for sharing and helping to accumulate the knowledge.

MeetUp.com is testing new profit extraction methods. A small number of select users will pay $2 when they reserve a spot at the event. For now organizers can opt-out from this test.

Media

This month saw the release of two new websites which have been produced as part of the Decred Open Source Research program.

Peer Production on the Crypto Commons is a free book authored by @richardred. It considers how a number of different constituencies (miners, developers, merchants, users) work together to produce a blockchain and give it value. It also considers blockchains as a type of common pool resource built with open source software, and what the broader implications of this are.

BlockCommons.red is a site which hosts research and educational content about “the crypto commons”, including the Pi Research and Crypto Governance Research write-ups. Politeia Digest has also moved there (although it will continue to be published on Medium and GitHub also).

textassets repository was created to collect text pieces from various websites and social media platforms. Having all texts in one place allows to quickly find outdated texts using a simple text search. It also allows the use of GitHub features to discuss and collaborate on future changes before implementing them (a recent example is the update of Reddit sidebar).

Selected articles:

Translations:

Videos:

Audio:

Community Discussions

Comm systems news:

Selected Reddit posts:

Selected Twitter discussions:

Markets

In October DCR was trading between USD 12.91-17.59 / BTC 0.0015-0.0021. The average daily rate was $15.59.

Since the beginning of the month the price was declining from $17.5 all the way down below $13. This reversed around Oct 25 and by the end of the month it recovered back to $17.

i2 Trading reported in the #proposals channel that their market making activities officially launched on Oct 22 on all exchanges except OKCoin, where there is a holdup. i2 will start billing from Oct 22, and previous testing will not be charged for.

Relevant External

Iterative Capital introduced Escher, a Lightning-enabled BTC-USD on and off-ramp that can connect Bitcoin wallets and Lightning channels to users’ bank accounts. Developers of FOSS cryptocurrency wallets can integrate with Escher Hub, which will allow users to manage the wallets and channels they control and move funds between BTC and USD easily. Chris Dannen stated on Twitter that DCR is the only other cryptocurrency that support is planned for.

A review of 3,162 projects by CoinCodeCap found that 1,240 of these had no code commits in the previous 90 days and by this criterion were considered dead. The report also considers centralized and decentralized exchanges in terms of how many dead projects they list.

A proposal has been made within the Ethereum Classic community for an explicit social contract in favor of PoW mining. There was apparently strong social consensus at the recent ETC conference in Vancouver and an ECIP is being prepared for consideration. ECIP editors will decide whether the proposal is approved, the intention of approving it would be to signal to PoW miners that the community intends to support them for the long run.

A Bitcoin Mining Parliament has been proposed by Javier Gonzalez as a way for miners to coordinate by voting with their hashpower on proposals about the consensus rules.

The 3rd round of Gitcoin quadratic funding was completed, and Vitalik Buterin wrote a post about it. In total $163K was donated to 80 projects by 477 contributors, augmented by a matching pool of $100K. Buterin compared Gitcoin’s funding with that of the Ethereum Foundation and found that it was more inclined to fund projects that were valued by the community. The version of quadratic funding was changed from previous rounds to make it less susceptible to the kind of manipulation that had occurred.

StakerDAO, a DAO for investing in PoS blockchains, launched. StakerDAO is created by the Tezos Capital CEO and the main investor is Polychain Capital. At launch they published a number of research reports, including one for Decred.

Coinbase Custody now supports Maker governance, allowing people who hold their MKR with Coinbase Custody to participate in voting without withdrawing their tokens.

The CEO of the Maker Foundation announced that Multi-Collateral Dai will launch on Nov 18, and announced a re-naming of several key components on Oct 31.

Chinese President Xi Jinping made a positive statement about blockchain technology and said that China should seize the opportunity to adopt blockchain technology.

CryptoBridge, a “Gateway to the BitShares decentralized trading platform”, is requiring users to verify their identities in response to EU’s 5th Anti-Money Laundering Directive (AMLD5). The linked blog post assures that this is great for users.

A BTC flash crash occurred on Deribit and Coinbase Pro, with the price dipping from $9,150 to $7,720 on Deribit for a few minutes before rebounding. Deribit stated that they will reimburse $1.3 million in losses for the people who were negatively affected.

Tired of missing out on the global crypto market, Poloniex is leaving U.S. jurisdiction to focus on an international cryptocurrency exchange backed by an Asian investment group. U.S. customers will be unable to create new accounts. Existing accounts will have to finish trading by Nov 1 and withdraw by Dec 15. To celebrate the move, Poloniex has set 0% trading fees till the end of 2019. As usual with acquisitions, customer data will change hands once again. Let’s see if customers will be asked their consent before their data is handed to new people.

Huobi will freeze all U.S. accounts on Nov 13 as part of enforcement of their user agreement that prohibits U.S. users from trading.

United Nations International Children’s Emergency Fund (UNICEF) has announced that it is now able to receive, hold and disburse donations of BTC and ETH. The fund will not sell the cryptocurrency for fiat but instead hold and disburse it. The first donations are from the Ethereum Foundation.

In the United States, the IRS has updated the main form used by individual taxpayers to add a question about whether the person had interacted with cryptocurrencies during the year. According to this tweet, IRS Chief Counsel Michael Desmond thinks there are around 12 million taxpayers that should be reporting cryptocurrency assets.

The IRS has also “clarified” its position on the receipt of forked coins and airdrops. The position has been widely criticized, as it would mean that every time a ledger is forked all of the holders must report the coins they received on the new chain.

In Hong Kong, people withdrew so much cash from ATMs that they ran out of supply. Localbitcoins volume surged temporarily, then fell back to its normal range.

U.S. Federal Reserve will buy about $60B of Treasury bills per month for at least 6 months. They call it “organic growth of the central bank’s balance sheet” and try very hard to not call it QE4, which appears to be finally gaining a negative connotation after multiple rounds of money creation that did not solve the problem. Market interventions by the Fed started on Sep 17 when for some reasons there was not enough liquidity in the “repo market”. Some observations: 1) Fed has not had to do this since the financial crisis of 2008; 2) Fed and ECB began their interventions around the same time; 3) just like with ECB, it is very hard to understand how it works exactly. Similar to the previous question to the ECB, it is unknown how hard the Fed worked to earn the money. Feel free to bring some clarity in Reddit comments.

Austrian central bank Governor thinks that ECB’s QE is counterproductive.

A flaw was identified in the ubiquitous sudo command of Linux. It would allow anyone with sudo access on the machine to gain full root privileges if exploited. Make sure to update your systems.

The Internet has celebrated 50 years. On Oct 29, 1969, the first data was sent between two computers - a crazy idea back then. The first message to transmit was “login” but the receiving computer crashed after getting ‘o’. “So, the first message was ‘Lo’ as in ‘Lo and behold’. We couldn’t have a better, more succinct first message” noted Leonard Kleinrock, who led the experiment. When speaking about the “dark side” of the Internet he remained optimistic: “I still feel that the benefits are far more significant; I wouldn’t turn off the internet if I could” and expressed interest in blockchain tech.

About This Issue

This is issue 19 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 always welcome.

Credits (alphabetical order):