BIP 38 NFC normalisation issue



Summary:

The email thread revolves around a problem in the test case of bitcoinj. The issue is traced back to the fact that you cannot specify codepoints from the Supplementary Multilingual Plane (SMP) using '\u' in Java, specifically the passphrase `\u03D2\u0301\U00010400\U0001F4A9`. Aaron Voisine provides a fix for bitcoinj, and the test now passes. Further discussion regards filtering control characters, with Aaron agreeing that they should be filtered, but instead recommends making passwords containing control characters invalid. He also suggests disallowing any character below U+0020 (space), for UI compatibility across many platforms. Andreas Schildbach proposes banning/filtering ISO control characters and being done with it. The conversation also covers the importance of being compatible with JVM based wallets, and the difficulties presented by the Unicode astral plane. Finally, there is mention of the Black Duck Code Sight software.


Updated on: 2023-06-09T00:58:43.690236+00:00