In a change to my usual practice, this post is aimed more at people who do not necessarily have a detailed knowledge of how the patent system works in Europe, specifically at the European Patent Office (EPO). It might, however, be of interest to those that do because it provides a useful lesson in what not to do when amending an application. First though, some background on why I am interested in this particular patent.
In February 2021 I started looking in detail at patents that were being granted by the EPO at an increasing rate to nChain Holdings Limited, and wrote a post about it here. For those not familiar with the company, it is a part of Craig "Faketoshi" Wright's attempts to claim that he is Satoshi Nakamoto, the pseudonymous creator of Bitcoin. As Chief Scientist at nChain, Mr Wright plays a key role in their patenting activity, and is listed as inventor on most of the applications they have filed over the past 6 years or so. I am not privy to nChain's business model, but it appears to involve getting as many patents as possible and presumably at some point licensing them to others for lots of money. As I mentioned on the Dr Bitcoin podcast earlier this month, their business model actually seems to me more like cargo cult patenting, but I admit that there may be some useful and valuable inventions somewhere in among the 364 European applications filed so far, it's just that I haven't found any yet. Perhaps tracking cattle will be the killer application that will earn nChain billions, but who knows.
I have been keeping a tally of European patents nChain have been getting granted. At the time of writing it is up to 57, which is quite a lot for a small company, and there are many more in the pipeline. Some may be of passing interest to those working in the general field of blockchain applications, but many appear to be obscure variations on themes already well established in the prior art, if not actually lacking in novelty. Mr Wright has nevertheless made vague threats about various people infringing his patents, for example claiming coverage of the Lightning protocol or NFTs on Ethereum. So far, none of the patents have to my knowledge been raised in infringement proceedings. Surprisingly (to me at least), none of them have been challenged on validity grounds, at least not until I had a go at one of them last year by requesting a UK patent office opinion on one of them, unfortunately without success.
The general theme of the patents, which turns out to make them quite difficult to attack, is that they tend to claim a collection of features that together is probably novel and include a distinction over the prior art that is arbitrary but plausible to argue on inventive step grounds. If all you were interested in was to get as many patents as possible, nChain's strategy so far would appear to fit the bill perfectly (hence my suspicion of cargo cult patenting). This is actually good news for anyone who might be worried about being sued for infringement, because they would either be very unlikely to infringe any of the patents or, if they were possibly infringing, would be able to easily work around any potentially threatening patent. To put it simply, one patent that nobody can avoid infringing is going to be a lot more valuable than a hundred patents that nobody infringes.
Given the limited resources available at the moment (i.e. my spare time and other people's generosity), a full-scale attack on nChain's patents is impractical and, given the above, arguably pointless anyway. This does not, however, mean that it is not possible to attack them at all. With so many patent applications being prosecuted at once, someone is bound to make a mistake at some point, whether this is the EPO examiner or nChain's attorneys. It just so happens that both of these happened in the case of EP3449450. This application is one of a handful that relate to Turing completeness, which Mr Wright has had a thing about since 2015, claiming that the Bitcoin protocol is Turing complete. I recommend watching this video of an "All-Star Panel" in which Mr Wright confuses all present on the subject, including Nick Szabo.
In essence, what the applications (EP3449450, EP3449451 and EP3449452, all of which were filed on 28 April 2017) try to do is claim that Bitcoin can be made Turing complete by using locking and unlocking transactions to perform logical operations together with other operations off chain. Mr Wright wrote a paper afterwards about this, titled "A Proof of Turing Completeness in Bitcoin Script", although this has been dissected here and shown to be largely a work of plagiarism.
The application in question started off, as usual for many European applications, as an international application, publishing in November 2017 as WO 2017/187398 A1. Claim 1 of the application as-published (i.e. not examined yet) reads as follows:
1. A computer-implemented control method comprising the steps of:
providing a locking script in a first blockchain transaction, the locking script comprising at least one instruction arranged to:
process at least one Boolean input; and
implement the functionality of a logic gate.
The international examiner raised objections that the claimed invention was not new over what was described in Andreas Antonopolous' book "Mastering Bitcoin", first published in 2014, given that locking scripts could involve logical operations such as checking for multiple signatures.
After the application entered the European regional phase in 2018, nChain's attorney responded to the examiner's objections by filing some amendments and arguments, following which there was a round of examination and some further amendments to the claims. This resulted in the following amended version of claim 1 (where the underlined parts are the attorney's additions):
1. A computer-implemented control method comprising the steps of:
providing a locking script in a first blockchain transaction, the locking script comprising at least one instruction arranged to:
monitoring and searching the blockchain or blockchain network to determine the presence or absence of a further transaction;
process at least one Boolean input from a further blockchain transaction, the Boolean input provided to execute the locking script of the first transaction; and
implement the functionality of a logic gate, wherein the logic gate is an XOR gate,
the method further comprising: providing the further blockchain transaction having an unlocking script;
processing at least one input signal to provide the at least one Boolean input;
using the at least one Boolean input to execute the locking and unlocking scripts of the first and further blockchain transactions, providing a computing resource arranged to influence the behaviour of a device or process based upon:
detection of the further transaction within the blockchain or blockchain network; and/or
the validity of the further transaction.
In essence what the applicant appeared to be trying to do was to claim that a blockchain transaction could be used to implement an XOR logic gate and control some process as a result of an unlocking transaction being found (think perhaps Ethereum-controlled bike locks). To those familiar with the Bitcoin protocol, all this will appear to be lacking in novelty, given that the original Bitcoin scripting language included various logical functions, including XOR (which was subsequently disabled), and the process of locking and unlocking transactions was the way to interact with the blockchain. As for "influencing the behaviour of a device or process", this could cover all kinds of things that could for example relate to a Bitcoin node checking a received transaction and forwarding it to other nodes or including it in a block to be mined. The invention as a whole therefore appears to be lacking in novelty over what was known well before 2016.
A lack of novelty, however, is not the main problem with the above claim. If we look more closely at the order of the steps, it is clear from the way claim 1 is now presented that the locking script is the part that contains instructions to "monitoring [sic] and searching [sic] the blockchain or blockchain network to determine the presence or absence of a further transaction". This is not what is disclosed elsewhere in the application, where the monitoring and searching is described as being done by an agent running in parallel to the blockchain network. It should also be evident to anyone familiar with Bitcoin script that this kind of thing is not even possible. As a result, nChain's attorney has (presumably inadvertently) described the invention in a way that was literally not disclosed in the original application, as well as being impossible. Not only that, but the EPO examiner did not spot this error and allowed the application to proceed to grant with this, as well as another error the examiner made, intact. This is not, by the way, up to the proper standard we should expect from the EPO.
European
patent law states that a patent “may not be amended in such a way that it
contains subject-matter which extends beyond the content of the application as
filed” (Article 123(2) EPC). The feature of monitoring and searching being part of the instructions performed by the locking script was not disclosed in the application as filed, so this adds matter contrary to Article 123(2) EPC.
Another feature of European patent law is that, once a patent has been granted, its scope cannot be broadened. In the words of Article 123(3) EPC, the patent “may not be amended in such a way as to extend the protection it confers”. Therefore, if the patent has been amended to include a feature that adds subject matter contrary to Article 123(2) EPC, it cannot be removed after grant because this would extend the patent’s protection.
The result is that the patent is now in an impossible position because the amendment needed that would solve the added matter problem would inevitably extend its scope and cannot therefore be made. Claim 1 of the patent, together with any claims dependent on it, therefore appears to be irretrievably invalid. This, of course, makes the patent incapable of being a real threat to anyone. It will, however, remain on the patent register for as long as the proprietor keeps it alive or, if someone takes action against it, for as long as it survives.
It happens that someone who has been taking a very active interest in Craig Wright's activities over the past few years, Arthur van Pelt, was keen to have a go at attacking the patent. Arthur has recently, with my help, filed an opposition at the EPO (documents available here and here). Thanks to the generosity of various Bitcoiners, the 840 Euro opposition fee has been paid, with some left over for later. The process is unfortunately not quick and it will take until probably the middle of 2023 before we get any further news and some time in 2024 before a decision is made. The outcome, however, appears in my view to be fairly certain, which is that the patent will very likely be revoked. If nChain manage to rescue anything from it, I will be very surprised. In the meantime, there are other targets we can aim at. If anyone wishes to help, please do get in touch.