Celebrating Six Years of Post-Quantum Security: The Journey of QRL

Read More

Last Month at QRL - June 2022

technical qrllib

1st July 2022

Table of Contents

Highlights

Celebrating four years of QRL

On June 26th 2018, and after two years of meticulous development followed by several third-party audits, the first enterprise-grade post-quantum secure blockchain using the signature scheme, XMSS, was released to the world, called the Quantum Resistant Ledger (QRL). As visionaries, we had the foresight to use XMSS which is currently a NIST recommendation, along with an extensible address format for crypto-agility.

Right out of the gate we launched with a 100% post-quantum secure address space with GUI wallets for Mac, Windows, and Linux and support for tokens, notarisation, and an amazing api and documentation. The future of the QRL protocol is an eco-friendly public blockchain driven by proof-of-stake that provides users with post-quantum safe transactions and Turing-complete smart contract capabilities. Project Zond aims to harness this vision, and is something we’ve been quietly working on since the release of the codebase and open call for research grants.

With this work at last coming to fruition, we are thrilled to be able to share some of the work at our upcoming QRL Hackathon 2022, and this wouldn’t be possible without our community!Of course, we can’t hand over the mic (our keyboard) for this 4th year anniversary speech (blog post) until we tip our hat in appreciation to the diverse and committed community members, contributors, and moderators who all make the community beneficial to be involved in day to day.

Read more: https://www.theqrl.org/blog/celebrating-four-years-of-qrl/

QRL zero-day coinbase exploit post-mortem

On June 2nd, 2022, a zero-day coinbase exploit resulted in an emergency network fork response and full resolution in 24 hours which resulted in less than $100 USD lost.

Be sure to read the full report here: https://www.theqrl.org/blog/qrl-zero-day-coinbase-exploit-post-mortem/

New library: QRLLIB browserify (qrllib-browserify)

Browserify is an open-source JavaScript bundler tool that allows developers to write and use Node.js-style modules that compile for use in the browser.

QRLLIB is QRL’s core cryptographic library which exposes XMSS and several other functions.

QRLLIB + Browserify = The QRL core cryptographic library suitable for use in the browser in a more straightforward and compatible way than purely webassembly, which is still used.

https://www.github.com/theQRL/qrllib-browserify

Geometry Labs

Techniques for post-quantum finance (Part 4: reducing storage requirements)

We were happy to release the fourth (and final) part of the “Techniques for efficient post-quantum finance” series from The QRL Foundation and Geometry Labs which explores significantly decreasing node storage requirements without impacting blockchain verifiability while remaining post-quantum secure.

Read more: https://www.theqrl.org/blog/techniques-for-efficient-post-quantum-finance-part-4-reducing-storage-requirements/

We’ll be hosting a QRL show with geometry labs so if you have questions, and you haven’t already filled out our AMA form for the upcoming QRL show AMA with Geometry Labs, now would be a good time to do so.

Community Led Initiatives

QRL Merch contest

4d5a (in Discord) will be sponsoring a contest to find the coolest design the community can produce with our logo. The design will be put onto a batch of QRL shirts, which will be exclusively sold for QRL. For the winning design, there will be a 1000 quanta tip alongside me paying to create an NFT of the design when that happens (for the artist).

Additionally, if 100 unique people order a shirt, 4d5a will get some version of the design tattooed on himself in Amsterdam at the meetup.

Please submit all designs to #casual (Discord) and tag 4d5a.

Quantum news

Changelog

theQRL/offline-wallet-generator

tidy up for release

  • [9e4fe] favicon update for release
  • [79cf2] feat: vue 3 refactor & new branding; multiple dependency updates

Remove npm-force-resolutions

  • [9ec06] Remove npm-force-resolutions

Update documentation

  • [278f1] Update docs
  • [34b29] Merge branch ‘master’ of github.com:jplomas/offline-wallet-generator
  • [a3544] Update node version in CI

[Snyk] Fix for 1 vulnerabilities

Update to vue3 / qrllib-browserify (qrllib=1.2.4) and newer branding

  • [8643c] perf:vue 3 rewrite (offline bundling TODO)
  • [457bb] Fixes for online & offline deploys and use qrllib-browserify
  • [e336c] Gitignore

theQRL/qrllib-browserify

Browserifiy-ed version of QRLLIB - initial release

theQRL/theqrl.org

New blog: Happy four year QRL anniversary

  • [23cd6] New blog: Happy four year QRL anniversary
  • [8a213] Fix title
  • [8b0b0] Add categories to past events

Add new blog: Techniques for efficient post-quantum finance (Part 4: reducing storage requirements)

  • [92fe4] Add class for article series
  • [3e6d9] Add slug for Geometry Labs
  • [6601b] Add new blog: Efficient pq-finance series - fountain architectures Full title: Techniques for efficient post-quantum finance (Part 4: reducing storage requirements)
  • [12bcd] Add white background

Fix post-mortem header image

  • [67870] New post-mortem image

Add QRL zero-day post-mortem blog

  • [da5ba] Improve press-kit clarity
  • [7ab06] Remove bitvoiceex
  • [0bc29] Add QRL post-mortem blog
  • [b1039] Additional mount from blogs to static directory
  • [dae24] Add QRL core developers
  • [62042] Update contributions
  • [d796a] Fix countdown date for team page
  • [6a05e] Allow for rich summaries
  • [31155] Improved new blog init
  • [552a9] Edits

Add exchange and update stats

  • [de4bf] Add tidecoin.exchange
  • [aef5a] Merge remote-tracking branch ‘upstream/main’
  • [145fa] Update stats

New blog: Last Month at QRL - May 2022

theQRL/block-explorer

Dependency update

  • [6902e] Remove extraneous console.log
  • [8cf51] Merge remote-tracking branch ‘origin/master’
  • [2343b] Merge branch ’theQRL:master’ into master
  • [25202] Dependency update
  • [7ef60] Merge remote-tracking branch ‘origin/master’

Even Devnet version with Mainnet/Testnet version

  • [9346d] Merge pull request #376 from theQRL/master Rebase onto master & redeploy
  • [ae0df] Merge pull request #380 from theQRL/master Latest node version
  • [ac527] Update HeroMiners
  • [4abd2] Merge pull request #383 from herominers/patch-4 Update HeroMiners
  • [85f4a] Merge pull request #384 from theQRL/master Herominers update
  • [d9c81] Add volt-mine config from PR & up node version
  • [8d9c4] Add pools from @jackalyst PR
  • [b0e39] Merge branch ‘master’ into master
  • [58c5b] Merge pull request #393 from jplomas/master Amalgamate PRs and fix CI checks
  • [40401] Bump to use node v12 - dependencies updated - broken SHA512 implemetation on newer node versions fixed - semantic->fomantic
  • [b5ff2] Merge branch ‘master’ of github.com:jplomas/block-explorer
  • [13d53] Merge branch ‘master’ into master
  • [c17b1] Use crypto-js v4.0.0
  • [a691f] Merge branch ‘master’ of github.com:jplomas/block-explorer
  • [6ed09] Merge pull request #394 from jplomas/master Node v12
  • [5b8b8] Add meta description to header
  • [2fbf9] fix: multi-output tokens received on address page (Issue #399)
  • [53a6d] Merge pull request #396 from jackalyst/master Add meta description to header
  • [8e2fe] Merge branch ‘master’ into master
  • [f901a] Merge pull request #401 from jplomas/master fix: multi-output tokens received on address page (Issue #399)
  • [fa417] fix: multi-output tokens received on address page (Issue #399)
  • [eceee] Add meta description to header
  • [8674e] Merge branch ‘master’ of github.com:jplomas/block-explorer
  • [bbfce] Merge branch ’theQRL:master’ into master
  • [50b62] Fix unhandled error on MS addresses not in state which could lead to explorer crash
  • [5f5fc] Merge remote-tracking branch ‘origin/master’
  • [37b49] Update to Meteor 2.5.1
  • [8a74e] Merge pull request #404 from jplomas/master Fixes issue with MS address not in state
  • [d96aa] Merge pull request #402 from theQRL/master Even testnet and mainnet code
  • [4f580] Merge remote-tracking branch ‘origin/master’

Even Testnet version with Mainnet version

  • [325e8] Merge pull request #410 from theQRL/testnet Dependency spring clean
  • [abcb7] Fix value field from NaN, update meteor & dependency versions
  • [ac21f] Merge branch ‘master’ into master
  • [8de4b] Merge pull request #416 from jplomas/master Add NFT display support and fix NaN in value

Add NFT display support and fix NaN in value

  • [e245d] Support for nft-providers and NFTs in /tx route
  • [517c4] Version bump explorer-helpers
  • [34082] Add NFTs in tx list on address page
  • [ba578] Support NFTs on block list
  • [c13e5] Add verified provider badge in header of address page where appropriate
  • [d12ba] Add NFTs tab, populate and separate from tokens
  • [1f718] Dark mode UI fix for NFT header
  • [a4207] Remove extraneous console log
  • [4ff38] Add WIP transfer NFT display on Tx page
  • [4dd99] Use updated explorer-helpers
  • [8bf7b] Transfer NFTs on Tx page
  • [49b56] Send and receive NFTs on address page
  • [6b714] Add Transfer NFTs to block page
  • [d1531] Last TX page NFTs
  • [abcb7] Fix value field from NaN, update meteor & dependency versions
  • [ac21f] Merge branch ‘master’ into master

theQRL/qrl-proto-sha256

Update deps and fix testing setup

Bump minimist from 1.2.5 to 1.2.6

Bump ajv from 6.12.0 to 6.12.6

theQRL/qrl-docker

Ubuntu 20.10 base

  • [13e8d] Update config.yml
  • [d9a14] Update README.md
  • [5b183] Example usage
  • [68968] Update README.md
  • [44595] Ubuntu 20.10 base
  • [9707d] Remove unused package
  • [38648] Cleanup FIX for unused packages
  • [05a82] Merge branch ‘focal’ into groovy

theQRL/node-helpers

Small readme fix

Tests refactor: Use blocking code in steps & check state

  • [5186f] Use blocking code in steps & check state
  • [b04fd] Merge branch ‘master’ into master

Fix CI setup/tests

  • [096be] Use mocha-steps for smoke tests
  • [bdbca] CI fix
  • [a2171] Longer test timeouts when generating coverage

Fix broken test, update dependencies and remove legacy dev setup

  • [425ff] Fix broken test, update dependencies and remove legacy dev setup
  • [e2d93] Extend timeout for tests in CI
  • [41bf8] Fix coverage test
  • [80608] Use mn3 node from CI
  • [4b22e] Fix travis cfg

theQRL/wallet-helpers

Update dependencies & remove legacy dev setup

  • [24cb0] Update dependencies & remove legacy dev setup

theQRL/explorer-helpers

Fix for new Bittrex API

  • [19510] Fix for new Bittrex API
  • [58ab4] Update node version in CI

theQRL/QRL

Merged Dev

  • [1398d] Bug fix + Added Unit Tests
  • [7c016] Fix for integration test
  • [ac349] Disabled fuzzing test
  • [09eb6] Disabled integration_fuzzing references
  • [a2fe4] Merge pull request #1748 from cyyber/dev Bug fix + Added Unit Tests

Bug fix + Added Unit Tests

  • [48773] Merge pull request #1738 from theQRL/dev Merged Dev
  • [a5e2b] Update README.md
  • [93f1d] Merge pull request #1740 from theQRL/jplomas-patch-2 Update README.md
  • [1398d] Bug fix + Added Unit Tests
  • [7c016] Fix for integration test
  • [ac349] Disabled fuzzing test
  • [09eb6] Disabled integration_fuzzing references

qrllib technical

1st July 2022


Jack Matier

WRITTEN BY

Jack Matier