<oembed><type>rich</type><version>1.0</version><title>Rusty Russell [ARCHIVE] wrote</title><author_name>Rusty Russell [ARCHIVE] (npub1zw…hkhpx)</author_name><author_url>https://yabu.me/npub1zw7cc8z78v6s3grujfvcv3ckpvg6kr0w7nz9yzvwyglyg0qu5sjsqhkhpx</author_url><provider_name>njump</provider_name><provider_url>https://yabu.me</provider_url><html>📅 Original date posted:2021-04-19&#xA;📝 Original message:&#xA;Lloyd Fournier &lt;lloyd.fourn at gmail.com&gt; writes:&#xA;&gt; On Wed, Dec 9, 2020 at 4:26 PM Rusty Russell &lt;rusty at rustcorp.com.au&gt; wrote:&#xA;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; Say r1=SHA256(ss || counter || 0), r2 = SHA256(ss || counter || 1)?&#xA;&gt;&gt;&#xA;&gt;&gt; Nice work.  This would be a definite recovery win.  We should add this&#xA;&gt;&gt; to the DF spec, because Lisa was almost finished implmenting it, so it&#39;s&#xA;&gt;&gt; clearly due for a change!&#xA;&gt;&gt;&#xA;&gt;&#xA;&gt; Yes that&#39;s certainly a fine way to do it.&#xA;&gt; I was also thinking you could eliminate all &#34;basepoints&#34; (not just funding&#xA;&gt; pubkey) using something like this. i.e. just use the node pubkey as the&#xA;&gt; &#34;basepoint&#34; for everything and randomize it using the shared secret for&#xA;&gt; each purpose.&#xA;&#xA;OK, I tried to spec this out, to implement it.  One issue is that you&#xA;now can&#39;t sign the commitment_tx (or htlc_tx) without knowing the node&#39;s&#xA;secret key (or, equivalently, knowing the tweaked key and being able to&#xA;use the derivation scheme to untweak it).&#xA;&#xA;c-lightning currently does a round-trip to the signing daemon for this&#xA;already, but it&#39;d be nice to avoid requiring it.&#xA;&#xA;So I somewhat reluctantly added `commit_basepoint` from which the others&#xA;are derived: an implementation can use some hardened derivation from its&#xA;privkey (e.g. SHA256(node_privkey || ss || counter)) to create&#xA;this in a deterministic but still private manner.&#xA;&#xA;Or we could just leave all the other points in and just replace&#xA;funding_pubkey.&#xA;&#xA;Cheers,&#xA;Rusty.</html></oembed>