Hi Giacomo, I wrote the rust implementation of bitcoin signature messages and to double-check I created some test vectors you can see at https://github.com/rust-bitcoin/rust-bitcoin/blob/b7f984972ad6cb4942827c2b7c401f590588cdcf/src/util/sighash.rs#L689-L799. These vectors have been created printing intermediate results from https://github.com/bitcoin/bitcoin/blob/6401de0133e32a641ed9e78a85b3aa337c75d190/test/functional/feature_taproot.py Il giorno gio 16 set 2021 alle ore 23:40 Giacomo Caironi via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> ha scritto: > Hi, > recently I have worked on a python implementation of bitcoin signature > messages, and I have found that there was way better documentation about > Segwit signature message than Taproot. > > 1) Segwit signature message got its own BIP, completed with test cases > regarding only that specific function; Taproot on the other hand has the > signature message function defined in BIP 341 and the test vectors in a > different BIP (341). This is confusing. Shouldn't we create a different BIP > only for Taproot signature message exactly like Segwit? > > 2) The test vectors for Taproot have no documentation and, most > importantly, they are not atomic, in the sense that they do not target a > specific part of the taproot code but all of it. This may not be a very big > problem, but for signature verification it is. Because there are hashes > involved, we can't really debug why a signature message doesn't pass > validation, either it is valid or it is not. BIP 143 in this case is really > good, because it provides hash preimages, so it is possible to debug the > function and see where something went wrong. Because of this, writing the > Segwit signature hash function took a fraction of the time compared to > Taproot. > > If this idea is accepted I will be more than happy to write the test cases > for Taproot. > > BTW this is the first time I contribute to Bitcoin, let me know if I was > rude or did something wrong. Moreover english is not my first language, so > I apologize if I wrote something awful above > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > -- Riccardo Casatta - @RCasatta