<oembed><type>rich</type><version>1.0</version><title>Andrew Poelstra [ARCHIVE] wrote</title><author_name>Andrew Poelstra [ARCHIVE] (npub1ae…z5t04)</author_name><author_url>https://yabu.me/npub1ae27kq6z802dkqw4ey4dgdx493szm8dpmcm76d7vt0ma9gf6fj4svz5t04</author_url><provider_name>njump</provider_name><provider_url>https://yabu.me</provider_url><html>📅 Original date posted:2023-07-26&#xA;🗒️ Summary of this message: POSK (proof of secret key) is not a perfect solution for preventing rogue key attacks and has logistical difficulties in implementation.&#xA;📝 Original message:&#xA;On Wed, Jul 26, 2023 at 12:09:41AM -0400, Erik Aronesty via bitcoin-dev wrote:&#xA;&gt; personally, i think *any* time a public key is transmitted, it should come&#xA;&gt; with a &#34;proof of secret key&#34;.   it should be baked-in to low level&#xA;&gt; protocols so that people don&#39;t accidentally create vulns.  alt discussion&#xA;&gt; link:  https://gist.github.com/RubenSomsen/be7a4760dd4596d06963d67baf140406&#xA;&gt;&#xA;&#xA;POSK is not a panacea. For example, if you were to try to eliminate&#xA;rogue key attacks in MuSig by using POSK rather than by rerandomizing&#xA;the keys, the last person to contribute a key could add a Taproot&#xA;commitment to their key, thereby modifying the final key to have a&#xA;Taproot spending path that other participants don&#39;t know about. If they&#xA;did this, they&#39;d have no problem producing a POSK since Taproot&#xA;commitments don&#39;t affect knowledge of the secret key.&#xA;&#xA;POSKs are also logistically difficult to produce in many contexts. They&#xA;essentially require an interactive challege-response (otherwise somebody&#xA;could just copy a POSK from some other source), meaning that all&#xA;participants need to be online and have secret key access at key setup&#xA;time.&#xA;&#xA;In some contexts maybe it&#39;s sufficient to have a static POSK. Aside from&#xA;the complexity of determining this, you then need a key serialization&#xA;format that includes the POSK. There are standard key formats for all&#xA;widely used EC keys but none have a facility for this. If you are trying&#xA;to use already-published keys that do not have a POSK attached, you are&#xA;out of luck.&#xA;&#xA;If your protocol requires POSKs to be provably published, you also run&#xA;into difficulties because they don&#39;t make sense to embed on-chain (since&#xA;blockchain validators don&#39;t care about them, and they&#39;re twice as big as&#xA;the keys themselves) so you need to establish some other publication&#xA;medium.&#xA;&#xA;If you want to support nested multisignatures, you need to jointly&#xA;produce POSKs, which requires its own protocol complexity.&#xA;&#xA;&#xA;The MuSig and MuSig2 papers say essentially the same thing as the above;&#xA;it&#39;s why we put so much effort into developing a scheme which was&#xA;provably secure in the plain public key model, which means that POSKs&#xA;are superfluous and you don&#39;t need to deal with all these logistical&#xA;hurdles.&#xA;&#xA;&#xA;-- &#xA;Andrew Poelstra&#xA;Director of Research, Blockstream&#xA;Email: apoelstra at wpsoftware.net&#xA;Web:   https://www.wpsoftware.net/andrew&#xA;&#xA;The sun is always shining in space&#xA;    -Justin Lewis-Webster&#xA;&#xA;-------------- next part --------------&#xA;A non-text attachment was scrubbed...&#xA;Name: signature.asc&#xA;Type: application/pgp-signature&#xA;Size: 488 bytes&#xA;Desc: not available&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230726/84e90df1/attachment.sig&gt;</html></oembed>