Bitcoin Forum
April 26, 2024, 11:50:53 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Was Satoshi's coding ability considered bad?  (Read 1652 times)
AverageGlabella (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1080


View Profile
June 04, 2018, 08:04:49 PM
Merited by dbshck (2), Welsh (1), LeGaulois (1), ABCbits (1)
 #1

I've been reading some old posts of some prolific members here on the forum and here's a quote from DeathAndTaxes to seek your teeth into:


This.  The first time I learned about Bitcoin, I took a look at the whitepaper and code I found all kinds of "flaws".  It wasn't until hours (days?) of reading and researching that the elegance of the solution became visible (like a Polaroid appearing from the black).  It is humbling when you realize that you are looking at the product of someone far above your own capabilities and they have created what you previously considered impossible.  In a hundred years in a hundred parallel worlds I wouldn't have come up with the concept of Bitcoin, it was simply too alien.  It goes beyond just intelligence, the idea was simply outside my frame of reference.  The problem wasn't even one I considered that a solution existed.  

Now Satoshi's coding (nuts and bolts)?  Blech that is another story but nobody complains that Einstein's notes are hard to read because he had bad handwriting.

DeathAndTaxes is pretty famous around here for his ideas and intelligence. Even though he admits earlier in his statement that the idea of Bitcoin was completely out of his scope of intelligence he then goes on to slightly criticize Satoshi's coding ability.

I'm curious if this is the general view point of the community and also if it is true was there any major adaptions to the code following Gavin and other developers contributing to the project?

I'm trying to go through his other posts in an attempt to find any explanation of this as I've not found anything from some quick searches.
1714132253
Hero Member
*
Offline Offline

Posts: 1714132253

View Profile Personal Message (Offline)

Ignore
1714132253
Reply with quote  #2

1714132253
Report to moderator
1714132253
Hero Member
*
Offline Offline

Posts: 1714132253

View Profile Personal Message (Offline)

Ignore
1714132253
Reply with quote  #2

1714132253
Report to moderator
Every time a block is mined, a certain amount of BTC (called the subsidy) is created out of thin air and given to the miner. The subsidy halves every four years and will reach 0 in about 130 years.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714132253
Hero Member
*
Offline Offline

Posts: 1714132253

View Profile Personal Message (Offline)

Ignore
1714132253
Reply with quote  #2

1714132253
Report to moderator
mdayonliner
Copper Member
Sr. Member
****
Offline Offline

Activity: 630
Merit: 420


We are Bitcoin!


View Profile
June 04, 2018, 08:10:37 PM
 #2

Who cares about his/her coding style. This is all to explain:

Einstein's notes are hard to read because he had bad handwriting.

Be happy be at peace. Looking forward to BTC at $1M
AverageGlabella (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1080


View Profile
June 04, 2018, 09:04:53 PM
 #3

Who cares about his/her coding style. This is all to explain:

Einstein's notes are hard to read because he had bad handwriting.

I think you are misunderstanding. I'm not looking to ridicule or say that everything Satoshi has done is discredited because of his coding but I'm interested if there's any truth to what DeathAndTaxes claimed and if so what was some of the major changes when new developers such as Gavin Andersen entered the scene.
Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3071



View Profile
June 04, 2018, 09:19:17 PM
Merited by dbshck (2), LoyceV (1), RodeoX (1), ABCbits (1), buwaytress (1), AverageGlabella (1)
 #4

It's consensus opinion among programmers that Satoshi knew alot about cryptography, but was not an expert programmer. I seem to remember that Bitcoin 0.1.0 was just a bunch of functions and a main function, no classes (and that version was of course all Satoshi's work). It's not impossible that Satoshi was a good programmer, but deliberately chose to obscure any stylistic fingerprints by trying to appear to be amateurish. But there's no evidence for that, it's just a possibility.

Re: changes, IIRC the developing team are even today still untangling some of the messy dependencies introduced early on in the project, but who's responsible for those I don't know.

Vires in numeris
AverageGlabella (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1080


View Profile
June 04, 2018, 09:30:23 PM
 #5

It's consensus opinion among programmers that Satoshi knew alot about cryptography, but was not an expert programmer. I seem to remember that Bitcoin 0.1.0 was just a bunch of functions and a main function, no classes (and that version was of course all Satoshi's work). It's not impossible that Satoshi was a good programmer, but deliberately chose to obscure any stylistic fingerprints by trying to appear to be amateurish. But there's no evidence for that, it's just a possibility.

Re: changes, IIRC the developing team are even today still untangling some of the messy dependencies introduced early on in the project, but who's responsible for those I don't know.

You bring up some interesting points. My angle when proposing my question was to bring up the fact that Satoshi could of potentially tried to avoid fingerprinted by using generic code. Although this is purely speculation it's something which you would have to consider.

I wasn't aware that the development team are still working on fixing some of the initial issues.
Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3071



View Profile
June 04, 2018, 09:45:00 PM
 #6

I wasn't aware that the development team are still working on fixing some of the initial issues.

It's only circular dependency issues, not bugs or design issues. Which are only a problem when trying to restructure the code AFAIU (there's been a long-term mission to remove circular dependency between the wallet class and the server class, which I think blocks any attempt to separate the wallet code into a separate process from the node code)

Vires in numeris
Spendulus
Legendary
*
Offline Offline

Activity: 2898
Merit: 1386



View Profile
June 04, 2018, 10:52:04 PM
Last edit: June 04, 2018, 11:14:42 PM by Spendulus
 #7

I've been reading some old posts of some prolific members here on the forum and here's a quote from DeathAndTaxes to seek your teeth into:


This.  The first time I learned about Bitcoin, I took a look at the whitepaper and code I found all kinds of "flaws".  It wasn't until hours (days?) of reading and researching that the elegance of the solution became visible (like a Polaroid appearing from the black).  It is humbling when you realize that you are looking at the product of someone far above your own capabilities and they have created what you previously considered impossible.  In a hundred years in a hundred parallel worlds I wouldn't have come up with the concept of Bitcoin, it was simply too alien.  It goes beyond just intelligence, the idea was simply outside my frame of reference.  The problem wasn't even one I considered that a solution existed.  

Now Satoshi's coding (nuts and bolts)?  Blech that is another story but nobody complains that Einstein's notes are hard to read because he had bad handwriting.

DeathAndTaxes is pretty famous around here for his ideas and intelligence. Even though he admits earlier in his statement that the idea of Bitcoin was completely out of his scope of intelligence he then goes on to slightly criticize Satoshi's coding ability.

I'm curious if this is the general view point of the community and also if it is true was there any major adaptions to the code following Gavin and other developers contributing to the project?

I'm trying to go through his other posts in an attempt to find any explanation of this as I've not found anything from some quick searches.

Just start reading the code....

https://bitcointalk.org/index.php?topic=382374.0

https://github.com/trottier/original-bitcoin
mr-anonymous
Jr. Member
*
Offline Offline

Activity: 30
Merit: 4


View Profile
June 05, 2018, 01:21:20 AM
 #8

Nothing is perfect.

Espacially digital products, must keep developing it lifetime withut succeed the perfection.

Look at Facebook, Google, Microsoft and others, they are are prehistoric and they have been around for ages ... but from time to time someone find a bug (Notice in addition of that they are closed source projects), compared to open source project as Bitcoin where everyone can read clairely where a bug lies (If there one).

Purhapse he is right about the code, but for the first launch, if the product work well and idea realized then the goal is reached, after that community do the rest.
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5180
Merit: 12899


View Profile
June 05, 2018, 06:26:29 AM
Merited by roslinpl (7), dbshck (2), ABCbits (1), krishnaverma (1)
 #9

It was pretty good: I'd give it a grade of B+. The worst problem was that there were only a few, huge files, but if you ignored that then it made a lot of sense. It was written in (then-)modern C++, clearly with a lot of care. It was clearly not written in a stream-of-consciousness manner. There were very few bugs that you could blame on lack of programming skill.

My personal suspicion in this area is that Satoshi was never (or not recently) a full-time programmer, but he was pretty familiar with computer science (maybe a student or academic?), and he'd read some comprehensive C++ book just before starting on Bitcoin, so he made full and correct usage of C++ features in a slightly messy way.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
andrew1carlssin
Jr. Member
*
Offline Offline

Activity: 168
Merit: 3

#Please, read:Daniel Ellsberg,-The Doomsday *wk


View Profile WWW
June 05, 2018, 09:01:50 AM
 #10

I've been reading some old posts of some prolific members here on the forum and here's a quote from DeathAndTaxes to seek your teeth into:


This.  The first time I learned about Bitcoin, I took a look at the whitepaper and code I found all kinds of "flaws".  It wasn't until hours (days?) of reading and researching that the elegance of the solution became visible (like a Polaroid appearing from the black).  It is humbling when you realize that you are looking at the product of someone far above your own capabilities and they have created what you previously considered impossible.  In a hundred years in a hundred parallel worlds I wouldn't have come up with the concept of Bitcoin, it was simply too alien.  It goes beyond just intelligence, the idea was simply outside my frame of reference.  The problem wasn't even one I considered that a solution existed.  

Now Satoshi's coding (nuts and bolts)?  Blech that is another story but nobody complains that Einstein's notes are hard to read because he had bad handwriting.

DeathAndTaxes is pretty famous around here for his ideas and intelligence. Even though he admits earlier in his statement that the idea of Bitcoin was completely out of his scope of intelligence he then goes on to slightly criticize Satoshi's coding ability.

I'm curious if this is the general view point of the community and also if it is true was there any major adaptions to the code following Gavin and other developers contributing to the project?

I'm trying to go through his other posts in an attempt to find any explanation of this as I've not found anything from some quick searches.

Just start reading the code....

https://bitcointalk.org/index.php?topic=382374.0

https://github.com/trottier/original-bitcoin

Thanks for the link ( last time I saw any code was at sourceforge host )

Today on my breakfast while trying to read the commentaries (Yes I love commentaries, the part of the code ignored by the compiler) because some are funny, others just mess with the coder mind state ) it somehow led[1] me the following path

Quote
Quote from: Mike Hearn on December 23, 2013, 08:30:45 PM
OP_CODESEPARATOR was in the first released version too. It was part of his broken method of running scripts via concatenation.

In the Bitcoin v0.1 release OP_CODESEPARATOR was always inserted between the scriptSig and scriptPubKey prior to calling EvalScript() This pre-release sourcecode implies that was not automatically done, which allows for scripts to take advantage of that after the fact to delegate signing authority after the fact. (though to fully take advantage of the idea you need the notion of a OP_CODESEPARATOR "stack")

The idea is "broken" only in that OP_RETURN originally could cause a script to return valid prematurely; now that OP_RETURN only fails a script prematurely an explicit OP_CODESEPARATOR design would work fine.

The concatenation thing reminds the post I read few days ago about shell script on unix systems ...
It let me thinking about RISC and CISC instruction sets and pipelining,

From the textbook

Reduced instruction set computing (RISC) refers to a system in which the
processor can execute a relatively small number of distinct fundamental,
highly optimised instructions, each consisting of a single operation. By
comparison, in complex instruction set computing (CISC), the processor
can execute many more distinct instructions, with each potentially consisting
of many operations.
To give you a flavour of the difference, consider two approaches to
multiplying two integers.
Use the existing circuit that adds two integers and use software to
repeatedly execute an ADD instruction to add the first integer to itself the
right number of times.
2 Build a circuit that multiplies two integers[2] and use a MULTIPLY
instruction to activate it.
The first approach is in the spirit of RISC (although, in fact, RISC processors
do have a multiply operation) – a more complex task is achieved by using
software to combine several more fundamental instructions.
The second approach is more aligned to a CISC approach – the emphasis is
put on building complex instructions directly into the hardware.
There are some other important differences between the RISC and CISC
approaches.
.
.
Each instruction executed on a RISC processor is fundamental enough
that it can be executed in a single clock cycle, whereas the more complex
CISC instruction to do the same job may take multiple clock cycles.
However, because a task generally takes many more instructions in RISC
than in CISC, the overall time is usually similar in each system.
Each instruction in a RISC processor can be represented in the same
number of bits because when data is moved to and from memory, only
one memory location is involved. However, CISC instructions are more
likely to need variable numbers of bits because a single instruction might
need to access multiple memory locations. This also means that as well as
taking more clock cycles, a CISC instruction takes a variable number of
clock cycles to complete, whereas a RISC instruction consistently takes
one.
So which approach is better? Certainly the general trend has been away from
CISC towards RISC, and except for some highly specialised computers, most
processors now take a RISC approach. This is partly because early computers
were born out of a world of switches and relays, so hardware solutions came
more naturally than software solutions for early computer pioneers. It was
also the case that RISC architectures relied on more main memory being
available (because there are many more instructions to be stored), and main
memory was very expensive in the early days. As software developed and
main memory became much cheaper, RISC moved into the ascendancy.
However, perhaps the most important advantage that RISC architectures have
is the predictability of the representation of an instruction, and the time it
takes to execute (one clock cycle) lends itself to pipelining, which is the
process of speeding up a task by splitting it into steps that can be executed in
parallel.





[1] CodersLed as the past tense of the verb lead, not the blood Diode ( https://en.wikipedia.org/wiki/Light-emitting_diode ) Makers
[2] In this case I was thinking about the the multiplication of the static const int64 COIN = 1000000; static const int64 CENT = 10000;

Satoshi's book editor; SCIpher - https://pdos.csail.mit.edu/archive/scigen/scipher.html
vit05
Hero Member
*****
Offline Offline

Activity: 672
Merit: 526



View Profile
June 05, 2018, 03:10:10 PM
 #11

It was pretty good: I'd give it a grade of B+. The worst problem was that there were only a few, huge files, but if you ignored that then it made a lot of sense. It was written in (then-)modern C++, clearly with a lot of care. It was clearly not written in a stream-of-consciousness manner. There were very few bugs that you could blame on lack of programming skill.

My personal suspicion in this area is that Satoshi was never (or not recently) a full-time programmer, but he was pretty familiar with computer science (maybe a student or academic?), and he'd read some comprehensive C++ book just before starting on Bitcoin, so he made full and correct usage of C++ features in a slightly messy way.

Is there any indication that he would be more familiar with another language, but chose to study and use C ++ because of its efficiency in memory usage compared to other languages? Since he believed that the easier it was to mine and maintain a node, the more widespread the network would be. And for that, the consumption of memory could not be high since many would hardly leave a computer exclusive to Bitcoin in the beginning.

Is it possible that he started the project using another language and started over again using C ++?
mapkowsky
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
June 06, 2018, 12:43:55 AM
 #12

Why does it even matter?
I mean did you wonder if De Lorean from "Back to the future" had high fuel consumption?
Philopolymath
Sr. Member
****
Offline Offline

Activity: 558
Merit: 295

Walter Russell's Cosmogony is RIGHT!


View Profile
June 06, 2018, 02:19:03 AM
 #13

Einstein was a complete FRAUD thief plagiarist idiot who could not possibly have written the work he is credited for..
Was not competent enough to even understand it..
Did not even know the speed of sound when asked by Thomas Edison
FAILED his university entrance exam and never attended a single physics class.
The Nobel Prize in Physics has LONG been a REWARD for IDIOT SYCOPHANTS for their contribution in sustaining the fraud and increasing the level of confusion and obfuscation.

The legacy of Einstein's genius is a MEGA fallacy grotesquely ill deserved but a TESTAMENT to the overwhelming power and influence and control of ZIONIST propaganda over the media and Academia. He HIMSELF complained of being made a false idol.

His EX-wife SUCCESSFULLY SUED him for the prize money from the Nobel work on the PHOTO-ELECTRIC effect. And for divorce for adultery.
She was a very competent mathematician.

Special relativity and General Relativity are crimes against science and reason....
They have been fraudulently supported and proven idiotic complete nonsense many times over by REAL empirical observation and have absolutely NOT a single occasion of evidenciary support or relation to ACTUAL real world Physics/science and engineering.

These are the true KNOWN Immutable facts pertaining to the person that idiots use as a benchmark of genius.

Are you sure you want to compare that asshole to Satoshi?
We KNOW NOTHING about Satoshi...we can't even know if he wrote any of the code or if he was even a real singular person.
Odds are far greater that he was a front, a vehicle, a tool, a weapon. Of a collaborative effort, a scheme.
The product of a stratagem.







Support Alien Beer Circle research...www.youtube.com/watch?v=MRXDk2RMQ4A
Coin-1
Legendary
*
Offline Offline

Activity: 2436
Merit: 2169



View Profile
June 06, 2018, 03:20:31 AM
 #14

My personal suspicion in this area is that Satoshi was never (or not recently) a full-time programmer, but he was pretty familiar with computer science (maybe a student or academic?), and he'd read some comprehensive C++ book just before starting on Bitcoin, so he made full and correct usage of C++ features in a slightly messy way.
Agree with you. It seems that Satoshi's code was pretty sloppy. Moreover, obviously he was a Windows guy.

Readme.txt from Bitcoin 0.01 ALPHA:
Code:
Operating Systems
-----------------
Windows NT/2000/XP (and probably Vista)

Vista hasn't been tested yet.  All the libraries used are cross-platform, so
there's nothing preventing future Linux and Mac builds.

Anyway, it doesn't matter if Satoshi Nakamoto was a full-time programmer or not. Although there were some bugs, the software worked fine.
drm
Legendary
*
Offline Offline

Activity: 1176
Merit: 1005


View Profile
June 06, 2018, 11:38:24 AM
 #15

Who cares about his/her coding style.

My personal suspicion in this area is that Satoshi was never (or not recently) a full-time programmer, but he was pretty familiar with computer science (maybe a student or academic?), and he'd read some comprehensive C++ book just before starting on Bitcoin, so he made full and correct usage of C++ features in a slightly messy way.
Agree with you. It seems that Satoshi's code was pretty sloppy. Moreover, obviously he was a Windows guy.

Readme.txt from Bitcoin 0.01 ALPHA:
Code:
Operating Systems
-----------------
Windows NT/2000/XP (and probably Vista)

Vista hasn't been tested yet.  All the libraries used are cross-platform, so
there's nothing preventing future Linux and Mac builds.

Anyway, it doesn't matter if Satoshi Nakamoto was a full-time programmer or not. Although there were some bugs, the software worked fine.

OP is not saying it matters or that it forms an issue in any way, just trying to find out more.
And if we shouldn't discuss things that don't matter we can scrap more than half of the threads on this board.  Wink
buwaytress
Legendary
*
Offline Offline

Activity: 2786
Merit: 3437


Join the world-leading crypto sportsbook NOW!


View Profile
June 06, 2018, 01:04:00 PM
 #16

Most observations I can recall reading seem to agree that Satoshi was/were pretty decent at coding, stopping short of criticizing the work. Criticisms seem to have arrived much later. The same actually happened even with Satoshi's language. Those who paid attention noted the impeccable grammar and structure, others criticised (again, much later) the inconsistencies even with spelling.

As Carlton Banks points out, these could all be deliberate attempts at concealing identity, or simply a result of the multiple hands behind Satoshi.

It's hard to be a genius and not have people analyse every item connected to your personality.

But Satoshi's coding considered bad? I don't think anyone, not even DeathAndTaxes, would come close to thinking that.

██
██
██
██
██
██
██
██
██
██
██
██
██
... LIVECASINO.io    Play Live Games with up to 20% cashback!...██
██
██
██
██
██
██
██
██
██
██
██
██
Traxo
Hero Member
*****
Offline Offline

Activity: 568
Merit: 703



View Profile
June 06, 2018, 04:21:46 PM
 #17

The same actually happened even with Satoshi's language. Those who paid attention noted the impeccable grammar and structure, others criticised (again, much later) the inconsistencies even with spelling.

The same happened with the analysis of the analysis of 9/11 also. Even the Mossad aren’t able to fool God.

(trying to stay on topic here with the implied reason that others want to analyze if Satoshi was an amateur hobbiest Japanese teenage hacker sleeping on his mother’s futon next their family kabota)
ir.hn
Member
**
Offline Offline

Activity: 322
Merit: 54

Consensus is Constitution


View Profile
June 09, 2018, 03:42:08 AM
 #18

What I gleaned from reading up on the beginnings of bitcoin was that his style was outdated and windows based.  Like he was an old hand, probably a software engineer that didn't typically get his hands too dirty in writing his own code and worked for UNIX and then later windows based corporate entities for many years.

And ahem...if you want to learn more about the man, you may want to look up a fellow named Dorian...  " I AM NOT DORIAN NAKAMOTO"

CryptAssist
Jr. Member
*
Offline Offline

Activity: 364
Merit: 4


View Profile
June 09, 2018, 12:39:00 PM
 #19

If his technology is the leading digital currency next to digital fiat, then I'd say he, or they had a pretty good idea of what they were doing. DOS for example was a pretty good operating system as flawed as it may be. It is the foundation for an operating system that millions use to this day. It needed allot more upgrades than bitcoin. I'd say brilliant but then I'm no coder so take it with a pinch of salt.
AverageGlabella (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1080


View Profile
June 10, 2018, 08:39:28 PM
 #20

If his technology is the leading digital currency next to digital fiat, then I'd say he, or they had a pretty good idea of what they were doing. DOS for example was a pretty good operating system as flawed as it may be. It is the foundation for an operating system that millions use to this day. It needed allot more upgrades than bitcoin. I'd say brilliant but then I'm no coder so take it with a pinch of salt.

One can have brilliant ideas and do the basic legwork but has since been backed up by multiple people that his code wasn't perfect. I think a lot of people hold Satoshi in high regard and think he's perfect. It's always good to point this out to people and say he isn't perfect.

Yes he made Bitcoin and the revolutionary technology behind it and I'm sure we all thank him for loosening the chains of regulation for us but it was no where near a perfect implementation.This is expected though.
Pages: [1] 2 3 »  All
  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!