Bitcoin Forum
May 05, 2024, 12:48:09 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Did satoshi not know that public key is recoverable from ECDSA signature?  (Read 1898 times)
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
January 29, 2015, 08:18:28 PM
 #1

I was remembered to https://bitcointalk.org/index.php?topic=6430.0 where sipa points to a paper desribing how to extract public key from the signature and the signed digest.

Satoshi eliminated every redundant byte in transactions and blocks, think of the compressed encoding of difficulty or the 32 bit date.

Why did he miss this significant opportunity of transaction size reduction?
Was it not known by 2009 or was it not known to him or is there more in this decision ?
"You Asked For Change, We Gave You Coins" -- casascius
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714870089
Hero Member
*
Offline Offline

Posts: 1714870089

View Profile Personal Message (Offline)

Ignore
1714870089
Reply with quote  #2

1714870089
Report to moderator
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 29, 2015, 08:34:33 PM
Last edit: January 30, 2015, 06:41:38 PM by DeathAndTaxes
 #2

I believe it wasn't known to him or he didn't understand it enough to trust it.  PubKey recovery was certainly known prior to 2009.  There are a number of other "nuts and bolts" decisions (oversights?) which make me believe Satoshi's background was not cryptography.  He probably had exposure to and experience working with cryptography but wasn't a cryptographer.

In addition to PubKey recovery here are just a few other "quirks":
* Transaction Malleability (Bitcoin Specific). It is cumbersome to fix to fix today but with a different txn structure it would be impossible.
* Signature Malleability (ECDSA).  ECDSA can have multiple signatures for the same digest the solution is to either not make the signature part of the txn hash or limit Bitcoin to a single form.
* DER encoding serves no purpose.  Even if OpenSSL was used the DER bits could be striped.
* Lack of Compressed Keys.  Optimally the only valid key would be a compressed key and thus not only is key size reduced but there is only one format to consider.
* Unusual choice of double hashing.  Normally done to prevent length extension attacks which don't exist in Bitcoin.

This isn't to say Satoshi wasn't a genius, the magic in Bitcoin isn't the cryptographic primitives used.  It is in the way he elegantly used existing systems (digital signatures & hashing algorithms) to create a timestamp and consensus finding system that is very simple and yet very difficult to attack.
zebedee
Donator
Hero Member
*
Offline Offline

Activity: 668
Merit: 500



View Profile
January 30, 2015, 12:01:37 AM
 #3

Satoshi eliminated every redundant byte in transactions and blocks, think of the compressed encoding of difficulty or the 32 bit date.
I don't know why you think that.  Why isn't the version field 1 byte?  Or at least a varint?

Honestly the wire protocol is very poorly done.
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
January 30, 2015, 04:57:09 AM
 #4

Honestly the wire protocol is very poorly done.
I suspect you don't have much experience with protocols.  Variable length encoding are obnoxious to deal with and are a frequent source of security vulnerabilities, especially for cases where future parsing is conditional on the data being read.  Bitcoin already arguably overuses variable length encodings (and has had some sources of problems arising from them), using a constant length version identifier is a sound decision and consistent with many other protocols.

There are potential patent complications related to public key recovery, it also requires a more CPU expensive verification. I would vigorously oppose using it in the protocol even today. One can define a compression format for long sequences of blocks that uses pubkey recovery to reduce the size without ever having them be the committed data and thus forcing other people to deal with them.

DeathAndTaxes' points are fine, though keep in mind there is a cost to pealing back the black box of cryptographic primitives too much. With the distorting benefit of hindsight many people miss how well Bitcoin was designed overall (go look at the orgy of failure hardfork frenzy that many altcoins that were complete rewrites have been); time spend discovering that DER could be safely stripped (or the like) would likely have meant less time refining the rest. 8 bytes of overhead or so isn't the end of the world, esp for something that can be mooted by new soft-fork-added checksig operators.
Eastfist
Full Member
***
Offline Offline

Activity: 210
Merit: 100


View Profile WWW
January 30, 2015, 06:29:12 AM
 #5

I was remembered to https://bitcointalk.org/index.php?topic=6430.0 where sipa points to a paper desribing how to extract public key from the signature and the signed digest.

Satoshi eliminated every redundant byte in transactions and blocks, think of the compressed encoding of difficulty or the 32 bit date.

Why did he miss this significant opportunity of transaction size reduction?
Was it not known by 2009 or was it not known to him or is there more in this decision ?

There is this rule:

If you don't want something stolen from the Internet, don't post it there to begin with. With that in mind, when transferring stuffs over da Interwebs, you want the least amount of data transferred back and forth, so that if it is compromised, it's not that big a deal. But the data itself cannot be that significant, or if it is, it needs to be masked in a way that it's hard to decrypt. However, I don't think you'd want to decrease the size of transactions (bytes), assuming that's what OP is talking about. The more convolution, the harder it is to crack. You don't encrypt something in 64-bits, then go back to 16-bits.
zhouqi_cn
Member
**
Offline Offline

Activity: 65
Merit: 10


View Profile
January 30, 2015, 06:59:49 AM
 #6

I believe it wasn't known to him or he didn't understand it enough to trust it.  PubKey recovery was certainly known prior to 2009.  There are a number of other "nuts and bolts" decisions (oversights?) which make me thing Satoshi's background was not cryptography.  He probably had exposure to and experience working with cryptography but wasn't a cryptographer.

In addition to PubKey recovery here are just a few other "quirks":
* Transaction Malleability (Bitcoin Specific). It is cumbersome to fix to fix today but with a different txn structure it would be impossible.
* Signature Malleability (ECDSA).  ECDSA can have multiple signatures for the same digest the solution is to either not make the signature part of the txn hash or limit Bitcoin to a single form.
* DER encoding serves no purpose.  Even if OpenSSL was used the DER bits could be striped.
* Lack of Compressed Keys.  Optimally the only valid key would be a compressed key and thus not only is key size reduced but there is only one format to consider.
* Unusual choice of double hashing.  Normally done to prevent length extension attacks which don't exist in Bitcoin.

This isn't to say Satoshi wasn't a genius, the magic in Bitcoin isn't the cryptographic primitives used.  It is in the way he elegantly used existing systems (digital signatures & hashing algorithms) to create a timestamp and consensus finding system that is very simple and yet very difficult to attack.

Totally agree

比太钱包(Bither)
比太钱包 - 易用、安全的比特币钱包!
Bither - a simple and secure Bitcoin wallet!
BTCtrader71
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1001



View Profile
January 30, 2015, 07:37:11 AM
 #7

There are a number of other "nuts and bolts" decisions (oversights?) which make me thing Satoshi's background was not cryptography.  He probably had exposure to and experience working with cryptography but wasn't a cryptographer.

-snip-

This isn't to say Satoshi wasn't a genius, the magic in Bitcoin isn't the cryptographic primitives used.  It is in the way he elegantly used existing systems (digital signatures & hashing algorithms) to create a timestamp and consensus finding system that is very simple and yet very difficult to attack.

This is a very interesting remark and I wonder if it explains why he disappeared. The ability to pick up preexisting tools and ideas in a field not your own and see how to use them to create something entirely new and important like bitcoin (coupled with the intelligence and determination to carry your vision all the way through to proof-of-concept) is a very special kind of genius. For someone like that, once you have achieved proof of concept, your work is done. Someone like this probably has other Big Ideas that are completely unrelated to bitcoin. It could very well be the case that he is of greater service to humanity working on proof of concept of yet another Big Idea than he is continuing to work on bitcoin.

If so .... I wonder whether he plans to use his bitcoins to help him develop his next project ....  Shocked




BTC: 14oTcy1DNEXbcYjzPBpRWV11ZafWxNP8EU
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!