<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated></updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by </title>
  <author>
    <name></name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub1aeetueshkcgcx4x7uze7qteaq85d9d4c8kzrwxqmxq2rjnl5drmssu7ctd.rss" />
  <link href="https://nostr.ae/npub1aeetueshkcgcx4x7uze7qteaq85d9d4c8kzrwxqmxq2rjnl5drmssu7ctd" />
  <id>https://nostr.ae/npub1aeetueshkcgcx4x7uze7qteaq85d9d4c8kzrwxqmxq2rjnl5drmssu7ctd</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://nostr.ae/nevent1qqs2lruay0aw4xz3zrgpmaqk5qdnt3sqslhyhnhlpqazgkg7rfrpw2szyrh890nxz7mprq65mmst8cp085q7354khq7cgdccrvcpgw207350wwsecwm</id>
    
      <title type="html">📅 Original date posted:2014-04-22 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2lruay0aw4xz3zrgpmaqk5qdnt3sqslhyhnhlpqazgkg7rfrpw2szyrh890nxz7mprq65mmst8cp085q7354khq7cgdccrvcpgw207350wwsecwm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxdl5zt0waxyl0pewcktt644lh3x5gzytn9s04348p78xy7lymp2ceatsfk&#39;&gt;nevent1q…tsfk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-22&lt;br/&gt;📝 Original message:&amp;gt;&lt;br/&gt;&amp;gt; A fair point. I&amp;#39;ll add some prefixes for testnet.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve looked at the latest draft and am worried about the increased AVB&lt;br/&gt;namespace usage.  Would it make sense to differentiate main/testnet in&lt;br/&gt;the prefix byte instead of the AVB?  Perhaps aiming for ST rather than&lt;br/&gt;TS.&lt;br/&gt;&lt;br/&gt;&amp;gt; I&amp;#39;ll welcome forks of my draft BIP. I don&amp;#39;t really have the inclination to research GF(2^8) secret sharing schemes and write an implementation at the present time, but if someone wants to take my BIP in that direction, then okay.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m willing to fork it.&lt;br/&gt;The maximum number of shares possible over GF(2^8) is 255.  That would&lt;br/&gt;make M and x biases unnecessary.
    </content>
    <updated>2023-06-07T15:17:15Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsreg325fddnqrn98megjxn4dpr8wyl75qesp78aagt9zsyrlnlt0szyrh890nxz7mprq65mmst8cp085q7354khq7cgdccrvcpgw207350w2ycfrl</id>
    
      <title type="html">📅 Original date posted:2014-04-10 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsreg325fddnqrn98megjxn4dpr8wyl75qesp78aagt9zsyrlnlt0szyrh890nxz7mprq65mmst8cp085q7354khq7cgdccrvcpgw207350w2ycfrl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp7e3jx8uknaxkm36ajfh9lfagze6l2ssnmude7rvmy2tvvzx60lq2qkuxc&#39;&gt;nevent1q…kuxc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-10&lt;br/&gt;📝 Original message:&amp;gt; What do you think a big-integer division by a word-sized divisor *is*? Obviously rolling your own is always an option. Are you just saying that Base58 encoding and decoding is easier than Shamir&amp;#39;s Secret Sharing because the divisors are small?&lt;br/&gt;&lt;br/&gt;Well, yes, to be fair, in fact it is.  The small divisor and lack of&lt;br/&gt;modulo arithmetic make base-58 encoding and decoding noticeably&lt;br/&gt;smaller and easier than Shamir&amp;#39;s Secret Sharing over GF(P256).
    </content>
    <updated>2023-06-07T15:17:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdsnggacyjkfrsszaj4j7u8s9vyhnwg6rcxhxx8xwr73vxklj8duczyrh890nxz7mprq65mmst8cp085q7354khq7cgdccrvcpgw207350w5nvn4f</id>
    
      <title type="html">📅 Original date posted:2014-04-07 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdsnggacyjkfrsszaj4j7u8s9vyhnwg6rcxhxx8xwr73vxklj8duczyrh890nxz7mprq65mmst8cp085q7354khq7cgdccrvcpgw207350w5nvn4f" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsd283z9jzy83aynhqw3q8nyau653guvqk0m4c2e2kkmlmw7ureh3sywws8r&#39;&gt;nevent1q…ws8r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-07&lt;br/&gt;📝 Original message:&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;d be fine with changing the key fingerprint algorithm to something else. Do you like CRC16?&lt;br/&gt;&amp;gt;&lt;br/&gt;I like CRC16.  Do you intend to use it in conjunction with a cryptographic hash?&lt;br/&gt;&lt;br/&gt;Regarding the choice of fields, any implementation of this BIP will&lt;br/&gt;need big integer arithmetic to do base-58 anyway.  The operations&lt;br/&gt;required for SSS are nearly the same as for base-58 and can probably&lt;br/&gt;be done by the same subset of the chosen bignum library.  So in fact&lt;br/&gt;using GF(2^8) will add complexity to both the BIP and its&lt;br/&gt;implementations.  However, the maths in GF(2^8) is so simple that this&lt;br/&gt;additional complexity can be considered negligible.&lt;br/&gt;&lt;br/&gt;As a co-author of a bitcoin application running on a real&lt;br/&gt;microcontroller (not the sort of big-iron thing Trezor runs on), I was&lt;br/&gt;also going to implement my SSS over a 256-bit prime field.  (I am not&lt;br/&gt;going into 512-bit master seeds at this time.)&lt;br/&gt;&lt;br/&gt;Uniform processing of secrets of any size (instead of using different&lt;br/&gt;primes for different cases) is a valid argument in favour of GF(2^8),&lt;br/&gt;though.  I have no preference one way or another.
    </content>
    <updated>2023-06-07T15:17:09Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsryrjke94yz3ecdx696n8q2478yvdmt55tflf6pup687zc4trtdagzyrh890nxz7mprq65mmst8cp085q7354khq7cgdccrvcpgw207350wwg7y8n</id>
    
      <title type="html">📅 Original date posted:2014-04-04 📝 Original message:On 4 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsryrjke94yz3ecdx696n8q2478yvdmt55tflf6pup687zc4trtdagzyrh890nxz7mprq65mmst8cp085q7354khq7cgdccrvcpgw207350wwg7y8n" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswm7ky9z2y4k4pvk076xvsmlasz64y2akfc7we2qa7fr0ft823pqqam0v0d&#39;&gt;nevent1q…0v0d&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-04&lt;br/&gt;📝 Original message:On 4 April 2014 01:42, Matt Whitlock &amp;lt;bip at mattwhitlock.name&amp;gt; wrote:&lt;br/&gt;&amp;gt; The fingerprint field, Hash16(K), is presently specified as a 16-bit field. Rationale: There is no need to consume 4 bytes just to allow shares to be grouped together. And if someone has more than 100 different secrets, they probably have a good system for managing their shares and won&amp;#39;t need the hash anyway.&lt;br/&gt;&lt;br/&gt;Right, of course.  Sorry, I didn&amp;#39;t notice there was an update.  Two&lt;br/&gt;bytes are plenty.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m worried however about the dependency on SHA-512, which may be&lt;br/&gt;stretching it for a tiny embedded application.  The other uses of&lt;br/&gt;HashL can be avoided.  We are balancing here between consistency with&lt;br/&gt;the rest of this proposal, where everything is done via HashL, and&lt;br/&gt;consistency with the general practice of generating fingerprints with&lt;br/&gt;SHA-256, like in Base58Check.&lt;br/&gt;&lt;br/&gt;Similarly, re-assembly software suddenly finds itself having to&lt;br/&gt;implement Hash16 just to check this particular fingerprint.  So I&amp;#39;d&lt;br/&gt;vote for a more traditional approach here, also considering that HashL&lt;br/&gt;is designed specifically to generate numbers in a finite field.&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Encoding for the testnet is not specified.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Hmm, is that actually needed?&lt;br/&gt;&lt;br/&gt;It&amp;#39;s been a tradition to support it in general, however I guess it&amp;#39;s&lt;br/&gt;not really needed here.  I&amp;#39;m happy without a dedicated testnet&lt;br/&gt;encoding.&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Speaking of encoding, is it not wasteful to allocate three different&lt;br/&gt;&amp;gt;&amp;gt; application/version bytes just for the sake of always starting with&lt;br/&gt;&amp;gt;&amp;gt; &amp;#39;SS&amp;#39;?  It would be OK if it were accepted as a BIP, but merely as a&lt;br/&gt;&amp;gt;&amp;gt; de-facto standard it should aim at minimising future chances of&lt;br/&gt;&amp;gt;&amp;gt; collision.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I agree on principle, however I think the more user-acceptable behavior is for all base58-encoded Shamir shares to begin with a common prefix, such as &amp;#34;SS&amp;#34;. Users are accustomed to relying on the prefix of the base58 encoding to understand what the object is: &amp;#34;1&amp;#34; for mainnet pubkey hash, &amp;#34;3&amp;#34; for mainnet script hash, &amp;#34;5&amp;#34; for uncompressed private key, &amp;#34;P&amp;#34; for passphrase-protected private key, etc.&lt;br/&gt;&lt;br/&gt;Yes, &amp;#34;5&amp;#34; for uncompressed private key and &amp;#34;K&amp;#34; or &amp;#34;L&amp;#34; for compressed&lt;br/&gt;private key.  One A/VB and three prefixes in base58.  Am I the only&lt;br/&gt;one to see this as a counter-example?&lt;br/&gt;&lt;br/&gt;However, thinking about this, I can find logic in wanting to stabilise&lt;br/&gt;text prefixes at a cost of six A/V bytes (as per the latest spec).&lt;br/&gt;There are only 58 first characters versus 256 AVBs, so we should&lt;br/&gt;rather be saving the former.&lt;br/&gt;&lt;br/&gt;&amp;gt;&amp;gt; What about using the same P256 prime as for the elliptic curve?  Just&lt;br/&gt;&amp;gt;&amp;gt; for consistency&amp;#39;s sake.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The initial draft of this BIP used the cyclic order (n) of the generator point on the secp256k1 elliptic curve as the modulus. The change to the present scheme was actually done for consistency&amp;#39;s sake, so all sizes of secret can use a consistently defined modulus.&lt;br/&gt;&lt;br/&gt;Fair enough.  Although I would have chosen the field order (p) simply&lt;br/&gt;because that&amp;#39;s how all arithmetic already works in bitcoin.  One field&lt;br/&gt;for everybody.  It&amp;#39;s also very close to 2^256, although still smaller&lt;br/&gt;than your maximum prime.  Now of course with different bit lengths we&lt;br/&gt;have to pick one consistency over others.&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Also, I&amp;#39;m somewhat inclined towards using the actual x instead of j in&lt;br/&gt;&amp;gt;&amp;gt; the encoding.  I find it more direct and straightforward to encode the&lt;br/&gt;&amp;gt;&amp;gt; pair (x, y).  And x=0 can denote a special case for future extensions.&lt;br/&gt;&amp;gt;&amp;gt;  There is no technical reason behind this, it&amp;#39;s just for (subjective)&lt;br/&gt;&amp;gt;&amp;gt; clarity and consistency.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There is a technical reason for encoding j rather than x[j]: it allows for the first 256 shares to be encoded, rather than only the first 255 shares.&lt;br/&gt;&lt;br/&gt;Wow, big deal.  It&amp;#39;s hard to imagine anyone needing exactly 256&lt;br/&gt;shares, but who knows.  And with j = x (starting from 1) we&amp;#39;d get&lt;br/&gt;user-friendly share numbering and simpler formulas in the spec and&lt;br/&gt;possibly in the implementation, with no off-by-one stuff.  And M&lt;br/&gt;instead of M-2...&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If you want a sentinel value reserved for future extensions, then you might take notice that 0xFFFF is an invalid key fingerprint, along with several other values, and also that 0xFF is an unusable value of M-2, as that would imply M=257, but the scheme can only encode up to 256 shares, so one would never have enough shares to meet the threshold. I considered having the two optional fields be mandatory and allowing 0xFFFF and 0xFF as &amp;#34;redacted&amp;#34; field values, but I like allowing the shares to be shorter if the optional fields are omitted. (Imagine engraving Shamir secret shares onto metal bars by hand with an engraving tool. Fewer characters is better!)&lt;br/&gt;&lt;br/&gt;Exactly.  Thank you.  Without these fields, a secret share still fits&lt;br/&gt;into a 29x29 QR code.  Add one more byte and it&amp;#39;ll need a 33x33.&lt;br/&gt;Imagine engraving that onto metal plates!  Or the hassle of going&lt;br/&gt;above 32 bits per line in a tiny embedded system.
    </content>
    <updated>2023-06-07T15:17:06Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqqrjp3dc8zh5sf6x0rvp2p07led89ng9dhksrj0pe2xxaqyr6zuszyrh890nxz7mprq65mmst8cp085q7354khq7cgdccrvcpgw207350wvcdv47</id>
    
      <title type="html">📅 Original date posted:2014-04-03 📝 Original message:Matt ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqqrjp3dc8zh5sf6x0rvp2p07led89ng9dhksrj0pe2xxaqyr6zuszyrh890nxz7mprq65mmst8cp085q7354khq7cgdccrvcpgw207350wvcdv47" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswc0dhafssg0fps8rgxkgvcerj4lq7wfap2hq5x7lxsrfwunue88q8hc55j&#39;&gt;nevent1q…c55j&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-03&lt;br/&gt;📝 Original message:Matt Whitlock wrote:&lt;br/&gt;&amp;gt; Okay, you&amp;#39;ve convinced me. However, it looks like the consensus here is&lt;br/&gt;&amp;gt; that my BIP is unneeded, so I&amp;#39;m not sure it would be worth the effort&lt;br/&gt;&amp;gt; for me to improve it with your suggestions.&lt;br/&gt;&lt;br/&gt;I need your BIP.&lt;br/&gt;&lt;br/&gt;We are going to implement SSS and we&amp;#39;d rather stick with something&lt;br/&gt;publicly discussed, even if it has not formally become a BIP, than&lt;br/&gt;invent our own stuff.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ll go ahead and comment on the current proposal here.  BIP or no&lt;br/&gt;BIP, I propose to finalise this spec anyway for those who want to&lt;br/&gt;implement SSS now or in future.&lt;br/&gt;&lt;br/&gt;I agree with the recently mentioned suggestion to make non-essential&lt;br/&gt;metadata, namely key fingerprint and degree (M), optional.  Their&lt;br/&gt;4-byte and 1-byte fields can be added individually at an&lt;br/&gt;implementation&amp;#39;s discretion.  During decoding, the total length will&lt;br/&gt;determine which fields are included.&lt;br/&gt;&lt;br/&gt;For example, as a compromise between usability and security, the&lt;br/&gt;metadata can be supplied out-of-band, like in plain text accompanying&lt;br/&gt;the Base-58 encoded share.&lt;br/&gt;&lt;br/&gt;Encoding for the testnet is not specified.&lt;br/&gt;&lt;br/&gt;Speaking of encoding, is it not wasteful to allocate three different&lt;br/&gt;application/version bytes just for the sake of always starting with&lt;br/&gt;&amp;#39;SS&amp;#39;?  It would be OK if it were accepted as a BIP, but merely as a&lt;br/&gt;de-facto standard it should aim at minimising future chances of&lt;br/&gt;collision.&lt;br/&gt;&lt;br/&gt;I&amp;#39;d add a clause allowing the use of random coefficients instead of&lt;br/&gt;deterministic, as long as the implementation guarantees to never make&lt;br/&gt;another set of shares for the same private key or master seed.&lt;br/&gt;&lt;br/&gt;What about using the same P256 prime as for the elliptic curve?  Just&lt;br/&gt;for consistency&amp;#39;s sake.&lt;br/&gt;&lt;br/&gt;Also, I&amp;#39;m somewhat inclined towards using the actual x instead of j in&lt;br/&gt;the encoding.  I find it more direct and straightforward to encode the&lt;br/&gt;pair (x, y).  And x=0 can denote a special case for future extensions.&lt;br/&gt; There is no technical reason behind this, it&amp;#39;s just for (subjective)&lt;br/&gt;clarity and consistency.
    </content>
    <updated>2023-06-07T15:17:05Z</updated>
  </entry>

</feed>