namecoin: Namecoin TLS for Firefox: Phase 6 (Negative Override Cache in C++, WebExtension Aggregation, and Coordination with Mozilla)

news

In Phase 5 of Namecoin TLS for Firefox, I discussed the performance benefits of moving the positive override cache from JavaScript to C++. I’ve now implemented preliminary work on doing the same for negative overrides.

The code changes for negative overrides’ C++ cache are analogous to those for positive overrides, so there’s not much to cover in this post about those changes. However, I did take the chance to refactor the API between the C++ code and the JavaScript code a bit. Previously, only 1 WebExtension was able to perform overrides; if multiple WebExtensions registered for the API, whichever replied first would be the only one that had any effect. Now, each WebExtension replies separately to the Experiment, and the Experiment passes those replies on to the C++ code. The Experiment also notifies the C++ code when all of the WebExtensions have replied. Although this does add some extra API overhead, it has the benefit of allowing an override to take place immediately if a single WebExtension has determined that it should take place, even if the other (irrelevant) WebExtensions are still evaluating the certificate.

Unfortunately, at this point I merged upstream changes from Mozilla into my Mercurial repository, only to find that there was now a compile error. I’m still figuring out exactly why this compile error is happening. It looks like it’s unrelated to any of the files that my patch touches; I suspect that it’s due to my general lack of competence with Mercurial (Mozilla’s codebase is the first time I’ve used Mercurial) or my similar general lack of competence with Mozilla’s build system.

So, until I actually get the code to build, I won’t be able to do performance evaluations of these changes. Hence why there are no pretty graphs in this post.

Meanwhile, I reached out to Mozilla to get some feedback on the general approach I was taking. (I had previously discussed high-level details with Mozilla, but this time I provided a WIP code patch, so that it would be easier to evaluate whether I was doing anything with the code that would be problematic.) This resulted in a discussion about what methods should be used to prevent malicious or buggy extensions from causing unexpected damage to user security. This is definitely a legitimate concern: messing with certificate verification is dangerous when done improperly, and it’s important that users understand what they’re getting when they install a WebExtension that might put them at risk. That discussion is still ongoing, and it’s not clear yet what the consensus will arrive at.

(It should be noted that there are some alternative approaches to Firefox support for Namecoin TLS underway as well, which will be covered in a future post.)

This work was funded by NLnet Foundation’s Internet Hardening Fund.

Original article was created by: namecoin at namecoin.org

Disclaimer: This article should not be taken as, and is not intended to provide, investment advice. Please conduct your own thorough research before investing in any cryptocurrency or ICO.

Interested in Cryptocurrencies and ICO's?

Follow our telegram channel for daily cryptomarket reports!

Join @cointrends

Related Articles

pubDate Newsline
1 month ago The Daily: Kanye Teaches Opsec, Crypto Foes Join Forces
1 month ago Funny New Advert Shows Bitcoin Is on Google’s Mind

Stay on top of Altcoins and ICO trends.

Subscribe to our free Weekly Cryptomarket report

Delivered once a week, strongly to your inbox.

Subscribe to our mailing list
October 04, 2018

Halving Day (Block 420000)

Block number 420000 (hash 145f72ea59018ca4117015e3c25a2ed24e22e67c948841dd46a200db11d778be) was mined at 2018-10-04 01:10:19 +0000 by Slush Pool with a block reward of 12.5 NMC plus fees. From all of us at Namecoin, Happy Halving Day, everyone!

From: NameCoin

Electrum-NMC: Name Script Deserialization (Round 2: Name History Display, Name Lookups, and Manage Names Tab)

I previously wrote about some work on making Electrum-NMC handle name scripts. In the last few days I hacked on that code some more. As you may have noticed from the screenshot in the previous article, I’m initially testing this code with watching-only wallets, since there are fewer moving...

From: NameCoin
September 27, 2018

NSS certutil Windows rbm Build Scripts Submitted Upstream to The Tor Project

Previously, I covered cross-compiling NSS certutil for Windows via Tor’s rbm build scripts. Since I like to be a good neighbor, I’ve since reached out to the very nice people at Tor, and have submitted a patch to get this merged upstream. I’ve already received a Concept ACK, although...

From: NameCoin
September 24, 2018

How Centralized Inproxies Make Everyone Less Safe (A Case Study)

Readers who have followed Namecoin for a while know that I’ve been sharply critical of centralized inproxies since I joined Namecoin development in 2013. For readers who are unfamiliar with the concept, a centralized inproxy is a piece of infrastructure (run by a trusted third party) that...

From: NameCoin
September 22, 2018

Namecoin Core 0.16.3 Released

Namecoin Core 0.16.3 has been released on the Downloads page.

From: NameCoin
September 21, 2018

ConsensusJ-Namecoin v0.3.1 Released

We’ve released ConsensusJ-Namecoin v0.3.1. Here’s what’s new: Some of the Namecoin-specific code has been merged upstream to ConsensusJ, and has therefore benefited from more peer review. Improvements from upstream ConsensusJ. As usual, you can download it at the Beta Downloads page.

From: NameCoin
Upcoming ICO's
This week overview
Token Name Starts
Utile Network (UTL) logo Utile Network (UTL) 1 days
Virtual Rehab (VRH) logo Virtual Rehab (VRH) 2 days
CDRX (CDRX) logo CDRX (CDRX) 6 days
Cryptocurrency rates
*Last hour average price&change
Coin Name Price Hour
Bitcoin logo BTC $6387.57555939 0.22%
Ethereum logo ETH $210.0554363 0.11%
Ripple logo XRP $0.517001921 -0.37%
Bitcoin Cash logo BCH $519.351578309 0.89%
Stellar logo XLM $0.2685322538 0.13%
EOS logo EOS $5.4002592224 0.07%
Litecoin logo LTC $50.6529163991 0.03%
Cardano logo ADA $0.0761094116 0.06%
Monero logo XMR $105.449789649 -0.19%
Tether logo USDT $0.9891299749 -0.21%
Tronix logo TRX $0.0224872153 -0.43%
DigitalCash logo DASH $162.674580133 -0.27%