AnoniX1 (OP)
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 237
Merit: 19
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 19, 2021, 09:04:38 PM Merited by Welsh (2), kaggie (1) |
|
I don't mean any options doing copies or something exactly like bitcoin. It's just a reference on the complexity of the task.
So if bitcoin would not exist - how many working hours would it need to code it?
|
Freebitco.in refpool closed. DM for more infos.
|
|
|
DaveF
Legendary
Offline
Activity: 3598
Merit: 6545
Crypto Swap Exchange
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 19, 2021, 09:52:01 PM |
|
Loaded question.
Bitcoin of 2009 or bitcoin of 2021? There have been many many updates & changes to the code. It's like asking how long to design a car? A Ford Model T from 1908 or a 2020 Bugatti Divo? Going to be 2 different answers.
How good a programmer are you? Do you understand cryptography? Is it just you or do you have a team?
-Dave
|
|
|
|
AnoniX1 (OP)
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 237
Merit: 19
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 19, 2021, 10:03:34 PM |
|
Loaded question.
Bitcoin of 2009 or bitcoin of 2021? There have been many many updates & changes to the code. It's like asking how long to design a car? A Ford Model T from 1908 or a 2020 Bugatti Divo? Going to be 2 different answers.
How good a programmer are you? Do you understand cryptography? Is it just you or do you have a team?
-Dave
Let's say Bitcoin today. The number of working hours depend on 1 person (I'm not a programmer, that's why I'm asking cause I can't really imagine the work). I also don't know how big the difference between a good programmer and a "normal" one, but I don't think a good one would be 100x faster than a normal one. Just go with the average. I know there is no exact answer, but if I'm a solo average programmer (who know what I'm doing), would I need 100 hours or 1000 as example?
|
Freebitco.in refpool closed. DM for more infos.
|
|
|
NotATether
Legendary
Offline
Activity: 1722
Merit: 7203
In memory of o_e_l_e_o
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 19, 2021, 10:39:43 PM |
|
Thousands of man hours per week.
It's not as super complex as the Linux kernel but at tens of thousands of source code lines, the comprehensive integration testing it received for each pull request and code review that follows before each major release, this is not something you, or even Satoshi, can pull off by yourself.
Sure you can write the initial program in about ~200 hours, but that's where it ends.
Maintaining it is something different. You usually can't use software in its original form because it has tons of flaws, that require dedicated people to fix them whenever they can in addition to others supplying new features. Most projects can't afford the luxury time to run review sessions on each major software release.
|
|
|
|
BrewMaster
Legendary
Offline
Activity: 2114
Merit: 1293
There is trouble abrewing
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 20, 2021, 12:50:28 PM |
|
there is a big difference between implementing an already existing protocol well and inveting a strong new protocol. the former (create software which as good as Bitcoin Core) is not that hard because everything you need to implement already exists and you can just translate it then spend time securing the implementation. the later on the other hand is extremely hard and there really isn't any time frame you can put on it. it may take a couple of years or decades to invent something new, useful and strong.
|
There is a FOMO brewing...
|
|
|
PrimeNumber7
Copper Member
Legendary
Offline
Activity: 1652
Merit: 1899
Amazon Prime Member #7
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 21, 2021, 05:24:03 AM |
|
The actual coding would be the easy part. The time-consuming part of developing software such as bitcoin core is the meetings for things such as requirements gathering, planning, discussing roadblocks, and edge cases. There were 17 developers who contributed to the most recent release of bitcoin core. This release did not build bitcoin core from scratch, but rather implemented some upgrades, and some contributors helped more than others.
|
|
|
|
BASE16
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 180
Merit: 38
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 21, 2021, 05:34:12 AM |
|
350400 Hours
|
|
|
|
Heisenberg_Hunter
Legendary
Offline
Activity: 1584
Merit: 1280
Heisenberg Design Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 21, 2021, 06:20:50 AM |
|
As others has pointed out, there are insanely huge difference between the first version of Bitcoin Core and the recently available version and I don't think it's possible for a single person to code something such complex from scratch. Even satoshi referenced various articles and mechanisms while building Bitcoin and they merged altogether the failed components and created a successful network i.e Adam Back's mining mechanism was used in PoW, P2P mechanism was used for communication between the nodes and a few more. On top of all these things, satoshi even had a goal to achieve - the decentralized P2P e-cash system. Later on, we all know that hundreds of developers worked together for 10 years to achieve the current codebase.
This is the same workflow which happens in any open source development like Linux Kernel or proprietary development like Windows. MS-DOS 1.0 had 4,000 lines of code whereas Windows 10 which was based on NT kernel has a mammoth 50 million lines of code. Do we think a former CEO like Ballmer or current CEO like Satya know where a particular feature of Windows is hidden in 50 million lines? The same stuff happens in Bitcoin as well, it's impossible for one single person to re-create Bitcoin 2021 from scratch without the help of hundreds of developers.
Even today, when new developers try to onboard onto Core development, the experienced devs request them to work on a single feature alone as we are in need of devs specializing in a particular feature of Bitcoin and not to work on multiple features.
|
|
|
|
BlackHatCoiner
Legendary
Offline
Activity: 1638
Merit: 8051
Bitcoin is a royal fork
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 22, 2021, 07:55:20 PM |
|
So if bitcoin would not exist - how many working hours would it need to code it? To code it? Probably some hours, especially if you type quickly. To think it, envision it and trying to make it true with every available resource? Well that's much tougher, you get it right? If Bitcoin wouldn't exist, you wouldn't “just code it”. You'd have to combine all these pieces through a Proof of Work block chain and make it happen, just like that guy did, back in 2009. As for Bitcoin Core v0.21.1, it really depends on the effort and the knowledge. It would probably take more than a year, for a developing team, to cover what they've already done.
|
|
|
|
NeuroticFish
Legendary
Offline
Activity: 3780
Merit: 6486
Looking for campaign manager? Contact icopress!
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 22, 2021, 08:13:44 PM |
|
and make it happen
OP already got his answer. I'd like to point this out though ^^ Even if an expert programmer with a great imagination would code "a new Bitcoin", there's by far no guarantee it could become this successful. So for Bitcoin also "the stars have aligned right", in order to "make it happen".
|
|
|
|
AnoniX1 (OP)
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 237
Merit: 19
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 22, 2021, 10:17:35 PM |
|
and make it happen
OP already got his answer. I'd like to point this out though ^^ Even if an expert programmer with a great imagination would code "a new Bitcoin", there's by far no guarantee it could become this successful. So for Bitcoin also "the stars have aligned right", in order to "make it happen". Well, it's gone to far away. Sure beeing successful like btc is a whole different discussion. I just wanted to lern to imagine a little bit how much work into a code like this is going. I don't have these technical knowlage to imagine. I have a idea for a coin and maybe i want realize it in future. So knowing the requirered resources is important i guess.
|
Freebitco.in refpool closed. DM for more infos.
|
|
|
gmaxwell
Moderator
Legendary
Offline
Activity: 4242
Merit: 8672
|
sloccount run against current git-master, with leveldb removed (since that was developed independently of Bitcoin):
Total Physical Source Lines of Code (SLOC) = 208,911 Development Effort Estimate, Person-Years (Person-Months) = 54.57 (654.89) (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05)) Schedule Estimate, Years (Months) = 2.45 (29.38) (Basic COCOMO model, Months = 2.5 * (person-months**0.38)) Estimated Average Number of Developers (Effort/Schedule) = 22.29 Total Estimated Cost to Develop = $ 7,372,266 (average salary = $56,286/year, overhead = 2.40).
So-- it says 55 person years. Of course, this kind of estimation is a bit bullshitty, but it's about the best you could do. Bitcoin is a lot trickier than many of the industrial tasks used to calibrate those estimates, otoh the industrial developers those estimates are based on are a lot less productive than some that exist.
There has been more than 55 person years put into the codebase for sure.
|
|
|
|
willhuber
Newbie
Offline
Activity: 33
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 23, 2021, 12:41:18 PM |
|
Lesser than the time taken while developing it back in 2008. Technology and knowledge has evolved a lot but yes if you are creating something that could change the entire financial system it would still require a lot of man hours
|
|
|
|
AnoniX1 (OP)
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 237
Merit: 19
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 23, 2021, 11:34:16 PM |
|
sloccount run against current git-master, with leveldb removed (since that was developed independently of Bitcoin):
Total Physical Source Lines of Code (SLOC) = 208,911 Development Effort Estimate, Person-Years (Person-Months) = 54.57 (654.89) (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05)) Schedule Estimate, Years (Months) = 2.45 (29.38) (Basic COCOMO model, Months = 2.5 * (person-months**0.38)) Estimated Average Number of Developers (Effort/Schedule) = 22.29 Total Estimated Cost to Develop = $ 7,372,266 (average salary = $56,286/year, overhead = 2.40).
So-- it says 55 person years. Of course, this kind of estimation is a bit bullshitty, but it's about the best you could do. Bitcoin is a lot trickier than many of the industrial tasks used to calibrate those estimates, otoh the industrial developers those estimates are based on are a lot less productive than some that exist.
There has been more than 55 person years put into the codebase for sure.
So 1 person would need over 50 years to code something like bitcoin from scratch? Well...Makes it not become easier I think.
|
Freebitco.in refpool closed. DM for more infos.
|
|
|
pooya87
Legendary
Offline
Activity: 3570
Merit: 10837
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 24, 2021, 02:46:25 AM |
|
So 1 person would need over 50 years to code something like bitcoin from scratch? Well...Makes it not become easier I think.
The time is a bit overestimated but also it is not just implementation of bitcoin, implementing takes a lot less time. But I suppose it is mostly the optimization of the code and usually optimizing and bechmarking takes a lot more time than implementing.
|
|
|
|
gmaxwell
Moderator
Legendary
Offline
Activity: 4242
Merit: 8672
|
So 1 person would need over 50 years to code something like bitcoin from scratch? Well...Makes it not become easier I think.
Bitcoin Core with its current feature set without having another implementation that they could gawk at. If you drop features or assume the other programmer could read Bitcoin Core's codebase than it would take a lot less time -- which is part of how there are a number of other implementations. These figures don't include time for research and design, however. And if you didn't have access to Bitcoin Core (or similar) there would be a substantial amount of that required. For example, Bech32(m) has a really solid man year of R&D time in it alone, even though its implementation is short (0.15kloc. 0.25 person-months per COCOMO). There are a number of small parts of Bitcoin Core that were novel tech which had much higher R&D costs than typical for industrial programming problems. So the COCOMO estimates assume that you've received the high level design and feature requirements as inputs and are not doing a large amount of novel invention and research (though it does assume you're doing some), but it also doesn't assume that you've got access to the source code of another complete implementation. It really depends on what you're asking, exactly.
|
|
|
|
AnoniX1 (OP)
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 237
Merit: 19
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 24, 2021, 04:38:09 PM |
|
So 1 person would need over 50 years to code something like bitcoin from scratch? Well...Makes it not become easier I think.
Bitcoin Core with its current feature set without having another implementation that they could gawk at. If you drop features or assume the other programmer could read Bitcoin Core's codebase than it would take a lot less time -- which is part of how there are a number of other implementations. These figures don't include time for research and design, however. And if you didn't have access to Bitcoin Core (or similar) there would be a substantial amount of that required. For example, Bech32(m) has a really solid man year of R&D time in it alone, even though its implementation is short (0.15kloc. 0.25 person-months per COCOMO). There are a number of small parts of Bitcoin Core that were novel tech which had much higher R&D costs than typical for industrial programming problems. So the COCOMO estimates assume that you've received the high level design and feature requirements as inputs and are not doing a large amount of novel invention and research (though it does assume you're doing some), but it also doesn't assume that you've got access to the source code of another complete implementation. It really depends on what you're asking, exactly. I understand. I know there is no exact answer possible. But when u have no clue about it it's hard to imagine. Here I copy the noob explaination about what's needed: https://bitcointalk.org/index.php?topic=5350644.0Hey all. Since years I had a concept for a coin that would fit all needs (imo) and want to know some opinions on it. I see so many stupid and nonsens in the world of cryptos and i asked myself, why not take your concept and start to build it up and share it, maybe it opens some doors to realize it. So i want share my coin, thats not created yet! So feel free to contibute with ideas! BlueCredit - SystemThe ECredit - System is divided in two related coins (good to compare with ETH and Gas). 1. BlueCredits (or HardCredits) There is a total supply of x BC, no decimal places. Generating GreenCredits, every x transactions the same amount (1BC generates 1 GC every x transactions). 2. GreenCredits (or SoftCredits) No max. supply. No decimal places. Used as daily fast money and are required to send BlueCredits. So BlueCredits generating GreenCredits like ETH gas. But in this case the "gas" is the actual money we use and BlueCredits are more an investment system that generates new money. The transaction fee is determinated on x% of any amount. 50% of the transaction fees goes to the miners that solve the transactions, the other 50% get burned! This is how the coin regulates itself. Also the sender can decide how "safe" each transaction has to be - the encryption can be raised unlimited (what means that a higher encryption need more time/work for the miner to do the transaction). This would make it stay safe also when the time of quantum computing is arrived. Miners are only using their power to solve transactions - there is no rising difficulty or something else they need to solve (no more wasted energy) - an eco friendly mining system. Every miner who solve a transaction get the 50% fees from it. In this system investors could have a lot of interest in BlueCredits to hold cause they generating new supply. On the other hand the GreeCredit would be the payment methode for any time and any "money" transaction. It would regulate it self with the burning effect and could handle a stable finance system. Feel free do destroy my idea! ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif)
|
Freebitco.in refpool closed. DM for more infos.
|
|
|
Welsh
Staff
Legendary
Offline
Activity: 3290
Merit: 4114
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 26, 2021, 09:24:59 AM |
|
Gmaxwell probably gives the best metric that we have, although probably isn't a brilliant indicator. However, you wouldn't want to code Bitcoin of today as a sole effort, you would get a basic viable product out there, and then rely on the community to help. Just as Satoshi did. This is generally the case for a lot of open source projects, and with company funded assets, they usually have more than one person working on it.
|
|
|
|
Kakmakr
Legendary
Offline
Activity: 3528
Merit: 1963
Leading Crypto Sports Betting & Casino Platform
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
July 26, 2021, 07:21:54 PM |
|
People said Satoshi Nakamoto's first code that was submitted.... was very sloppy. I do not know if he quickly threw a bunch of things together to create it or given more time... he would have made it more presentable. I think Satoshi provided the bones for the skeleton project and he coded it in a way that it could be used. Other people submitted a more "fleshy" body to the bones to make it more presentable and they added more streamline code that made the body into a Olympic Athlete. So if someone wanted to re-create it from the start... they should not aim for an Olympic athlete.... but rather a skeleton project of a bunch of ideas. (A team with different skill sets and knowledge.. will probably do this a lot quicker .. than one person) ![Wink](https://bitcointalk.org/Smileys/default/wink.gif)
|
..Stake.com.. | | | ▄████████████████████████████████████▄ ██ ▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄ ██ ▄████▄ ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██ ██████ ██ ██████████ ██ ██ ██████████ ██ ▀██▀ ██ ██ ██ ██████ ██ ██ ██ ██ ██ ██ ██████ ██ █████ ███ ██████ ██ ████▄ ██ ██ █████ ███ ████ ████ █████ ███ ████████ ██ ████ ████ ██████████ ████ ████ ████▀ ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██ ██ ▀▀▀▀▀▀▀▀▀▀ ██ ▀█████████▀ ▄████████████▄ ▀█████████▀ ▄▄▄▄▄▄▄▄▄▄▄▄███ ██ ██ ███▄▄▄▄▄▄▄▄▄▄▄▄ ██████████████████████████████████████████ | | | | | | ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▄ █▀▀█▀▄▄ █ █▀█ █ ▐ ▐▌ █ ▄██▄ █ ▌ █ █ ▄██████▄ █ ▌ ▐▌ █ ██████████ █ ▐ █ █ ▐██████████▌ █ ▐ ▐▌ █ ▀▀██████▀▀ █ ▌ █ █ ▄▄▄██▄▄▄ █ ▌▐▌ █ █▐ █ █ █▐▐▌ █ █▐█ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█ | | | | | | ▄▄█████████▄▄ ▄██▀▀▀▀█████▀▀▀▀██▄ ▄█▀ ▐█▌ ▀█▄ ██ ▐█▌ ██ ████▄ ▄█████▄ ▄████ ████████▄███████████▄████████ ███▀ █████████████ ▀███ ██ ███████████ ██ ▀█▄ █████████ ▄█▀ ▀█▄ ▄██▀▀▀▀▀▀▀██▄ ▄▄▄█▀ ▀███████ ███████▀ ▀█████▄ ▄█████▀ ▀▀▀███▄▄▄███▀▀▀ | | | ..PLAY NOW.. |
|
|
|
gmaxwell
Moderator
Legendary
Offline
Activity: 4242
Merit: 8672
|
People said Satoshi Nakamoto's first code that was submitted.... was very sloppy.
Anyone who said that was an idiot or just trying to make themselves look greater by alleging a great work was lesser. It's simply not true. It is true that Bitcoin today does a lot more than the original software did, and does it with a lot more performance and to get there required many changes. The fact that the original code wasn't built that way wasn't a deficiency. In fact, if the original code had been built with the structure suited for the later feature set that would have been a lot of unnecessary and bug-introducing complexity.
|
|
|
|
|