Bitcoin Forum
May 03, 2024, 10:49:12 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [Ann] Studcoin  (Read 239 times)
drmutz (OP)
Jr. Member
*
Offline Offline

Activity: 39
Merit: 5


View Profile
December 03, 2017, 12:51:17 AM
 #1

Hello Folks,

I'd like to find some other developers who want to study and learn more about cryptocoins.

I have many years of experience with all sorts of software development and programming languages generally, and have been a cryptocoin enthusiast since 2011, so I have a modest bit of capacity to bring to the table.

Imagine trying to implement a new coin.  What _specific_ steps would you go through?  The goal of this project is not primarily to create yet another worthless s**t coin, but instead, to learn more about the inner workings of these things. This is a hobby project for personal edification.  If you need to become a billionaire by next Friday in order to make rent, you're wasting your time reading this. Nevertheless, for purposes of concreteness I'll call this "student coin" or studcoin for short. I'm particularly I'm _not interested_ in merely cloning and building existing software.  Instead I want to ...

1. Determine a "good" method of creating the coins.  Discuss the pros 'n' cons of POW vs. POS.  How to maybe start with POW and ease into POS.  What other algorithms are out there?

2. Determine whether or not the existing standard Bitcoin style block-chain model is even worth further contemplation or are there newer models such as Ethereum that would be better to focus on?

3. Find examples of existing software that already exist for dissection and study.

4. Establish a github account to host probably more than one repo from this project. 

4.1  Perhaps there's a repo for the command line stuff (studcoind, studcoin-cli etc.)

4.2  And another for studcoin-qt.  Do we even want to use QT?  What other alternatives are there?

4.3  And another for a block-chain explorer.

4.4  And perhaps another for a mining pool.

4.5  Vanity address generator?

For each repo I'd like to start with a fresh project and then start carefully copying in pieces of code found from other places and/or created from scratch.  I _don't_ want to just fork existing software, I would instead like to examine the piece involved, cherry pick the good ones, and assemble a quality build process.

Although this is not a path to easy money, I expect you'll gain some value in participation.

Thanks in advance for your consideration.

Dr Mutz



"In a nutshell, the network works like a distributed timestamp server, stamping the first transaction to spend a coin. It takes advantage of the nature of information being easy to spread but hard to stifle." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714733352
Hero Member
*
Offline Offline

Posts: 1714733352

View Profile Personal Message (Offline)

Ignore
1714733352
Reply with quote  #2

1714733352
Report to moderator
illiki23
Sr. Member
****
Offline Offline

Activity: 602
Merit: 295


Hail Eris!


View Profile
December 03, 2017, 01:20:28 AM
 #2

While you wouldn't want to use Python in practice the "Learn blockchains by building one" tutorial is AWESOME.  
https://hackernoon.com/learn-blockchains-by-building-one-117428612f46

Picking apart code bases is also rather neat.  Some are not friendly at all due to the design and readability of their code bases.  I would also be interested in a well designed and self commenting code example.  

You don't have to use a QT based wallet.  If you are not using C++ it might not be the best choice.  There are other cross platform frameworks which could work. Not sure what is best.  I use Xamarin for cross platform apps but it kind of sucks in its own way but there are .Net libraries written for bitcoin.

You say this is not a path to easy money but I assume you eventually want to make a coin to make some skrilla?  Once you and your team have learned about coin development?  It does not matter how much you learn unless you have an innovation to bring to the table so keep that in mind.


             ▄▄██████▄
         ▄▄████████████
   ▄▄█████████▀▀   ▀████
 ▄███████████▄      ████
████▀   ▀▀██████▄▄▄████
████      ▄███████████▄
▀████▄▄▄████████▀▀▀████▄
 ▀███████████▀      ████
 ████▀▀▀██████▄▄   ▄███▀
████      ▀███████████▀
████▄   ▄▄█████████▀▀
 ████████████▀▀
  ▀██████▀▀
█████████████████

     ███

██████████

     ██████

███████████

     ███████████████

███████████████████
█████████████████

███    

██████████

██████    

███████████

███████████████    

███████████████████
▄█████████████████████████▄
███████████████████████████
███████████████████████████
██████▀███████▀   ▀▀▀▄█████
█████▌  ▀▀███▌       ▄█████

████▀               █████
█████▄              ███████
██████▄            ████████
███████▄▄        ▄█████████
█████▄▄       ▄████████████
███████████████████████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
██████████████████▀▀███████
█████████████▀▀▀    ███████

███████▀▀▀   ▄▀   ███████
█████▄     ▄█▀     ████████
████████▄ █▀      █████████
█████████▌▐       █████████
██████████ ▄██▄  ██████████
████████████████▄██████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
███████▀           ▀███████
██████  ▄██▀▀▀▀▀█▀▄  ██████

█████  █▀  ▄▄▄  ▀█  █████
██████  █  █████  █  ██████
██████  █▄  ▀▀▀  ▄█  ██████
██████  ▀██▄▄▄▄▄██▀  ██████
███████▄           ▄███████
███████████████████████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
██████████▀█████▀██████████
███████▀  ▀     ▀  ▀███████

█████▌             ▐█████
██████    ██   ██    ██████
█████▌    ▀▀   ▀▀    ▐█████
██████▄  ▄▄▄   ▄▄▄  ▄██████
████████▄▄███████▄▄████████
███████████████████████████
███████████████████████████
▀█████████████████████████▀


na]][/font][/font][/size][/font][/td][td][/td][/tr][/table][/tr
drmutz (OP)
Jr. Member
*
Offline Offline

Activity: 39
Merit: 5


View Profile
December 03, 2017, 02:46:45 AM
 #3

While you wouldn't want to use Python in practice the "Learn blockchains by building one" tutorial is AWESOME.  
https://hackernoon.com/learn-blockchains-by-building-one-117428612f46

Picking apart code bases is also rather neat.  Some are not friendly at all due to the design and readability of their code bases.  I would also be interested in a well designed and self commenting code example.  

You don't have to use a QT based wallet.  If you are not using C++ it might not be the best choice.  There are other cross platform frameworks which could work. Not sure what is best.  I use Xamarin for cross platform apps but it kind of sucks in its own way but there are .Net libraries written for bitcoin.

You say this is not a path to easy money but I assume you eventually want to make a coin to make some skrilla?  Once you and your team have learned about coin development?  It does not matter how much you learn unless you have an innovation to bring to the table so keep that in mind.

Hey illiki23, Thanks for the advice.  I'll checkout the Python example for sure.

I agree that there's a tremendous amount of cruft that's just accumulated over the eons and nobody has ever had the time to clean out or update.  That's a major reason for my "start-fresh" approach.

I've thought long and hard about C++.  I've considered trying this in Rust.  But the bottom line in my understanding is that C++, despite its warts, is just the best choice.  But I don't think this thread is the place for that debate!  Smiley  And I'm not particularly hostile to QT.  I'm merely looking for alternatives to evaluate.

Re: Easy money.  I do have some ideas that I'd like pursue that definitely include some innovation.  But as a prerequisite I must first obtain a more solid understanding of the foundation, as well as a well-oiled development machine.
drmutz (OP)
Jr. Member
*
Offline Offline

Activity: 39
Merit: 5


View Profile
December 03, 2017, 03:41:46 AM
 #4

One part of this that I'm very curious about is what people generally consider to a "fair" method of creating the coins.

I don't like POW because it consumes too much and I think it's inherently susceptible to centralization.  But w/o POW in the beginning, how to create the initial coins and transit to POS ?  Can anybody suggest any other consensus making algorithms other than POW or POS ?

I do think that having a fixed quantity is good, even if there is a rising supply asymptotically approaching some final value.

How about this:

10% of the initial total supply is created in the genesis block.  It is controlled by one person, let us call him StudMan, who will dole it out thereafter according to his opaque and arbitrary process.  However, the intent shall be to pass this out to other developers and early adopters as payment for services rendered.  I'm thinking 100 early adopters would be a reasonable quantity to get the party started. One wrinkle is that the initial coins held by StudMan cannot be used for staking.  But once the coins leave his tender embrace then staking can begin.

The staking algo should create new coins at the rate of 10% of the remaining coins, per year.  As an example: StudMan gets the initial 10%, but those coins are unstakeable.  At some point in time, he has passed out 20% of the (10% initial quantity), so therefore the stakeable base = 2% of the final supply and the staking algorithm has 90% of the final supply available to distribute.  So at that time, the staking algo is creating new coins at a rate of 9% of final supply, per year, and is distributing them to a handful of people who presently only have 2% of the final total. 

This would be a very lucrative deal for the early adopters and will draw criticism from those suggesting the purpose is to enrich the insiders. Although  enrichment of the early adopters is a possible and worthy side-effect, it is _not_ the primary goal.  https://www.youtube.com/watch?v=2WtGcuwq_GY&t=33m10s  I just pulled these numbers out of ... wherever ... in order to serve as a baseline for discussion.  I welcome tweaks and discussion.

illiki23
Sr. Member
****
Offline Offline

Activity: 602
Merit: 295


Hail Eris!


View Profile
December 03, 2017, 06:40:30 AM
 #5

One part of this that I'm very curious about is what people generally consider to a "fair" method of creating the coins.

I don't like POW because it consumes too much and I think it's inherently susceptible to centralization.  But w/o POW in the beginning, how to create the initial coins and transit to POS ?  Can anybody suggest any other consensus making algorithms other than POW or POS ?

I do think that having a fixed quantity is good, even if there is a rising supply asymptotically approaching some final value.

How about this:

10% of the initial total supply is created in the genesis block.  It is controlled by one person, let us call him StudMan, who will dole it out thereafter according to his opaque and arbitrary process.  However, the intent shall be to pass this out to other developers and early adopters as payment for services rendered.  I'm thinking 100 early adopters would be a reasonable quantity to get the party started. One wrinkle is that the initial coins held by StudMan cannot be used for staking.  But once the coins leave his tender embrace then staking can begin.

The staking algo should create new coins at the rate of 10% of the remaining coins, per year.  As an example: StudMan gets the initial 10%, but those coins are unstakeable.  At some point in time, he has passed out 20% of the (10% initial quantity), so therefore the stakeable base = 2% of the final supply and the staking algorithm has 90% of the final supply available to distribute.  So at that time, the staking algo is creating new coins at a rate of 9% of final supply, per year, and is distributing them to a handful of people who presently only have 2% of the final total. 

This would be a very lucrative deal for the early adopters and will draw criticism from those suggesting the purpose is to enrich the insiders. Although  enrichment of the early adopters is a possible and worthy side-effect, it is _not_ the primary goal.  https://www.youtube.com/watch?v=2WtGcuwq_GY&t=33m10s  I just pulled these numbers out of ... wherever ... in order to serve as a baseline for discussion.  I welcome tweaks and discussion.



Opaque and arbitrary??  That doesn't sound good.  Sounds like they could just give coins (and the 'lucrative deal') to anyone such as friends.  Transparancy and 'not arbitrariness' would be way significantly fairer which is what you are concerned with.

If you want practice doing coin development try to generate a white paper.  It would clarify some things as it is.  Not seeing anything innovative yet - many many variants of POW/POS coins have come and gone with different distribution parameters, but it would give you practice.

Not a big fan of the name as well. ;P 

             ▄▄██████▄
         ▄▄████████████
   ▄▄█████████▀▀   ▀████
 ▄███████████▄      ████
████▀   ▀▀██████▄▄▄████
████      ▄███████████▄
▀████▄▄▄████████▀▀▀████▄
 ▀███████████▀      ████
 ████▀▀▀██████▄▄   ▄███▀
████      ▀███████████▀
████▄   ▄▄█████████▀▀
 ████████████▀▀
  ▀██████▀▀
█████████████████

     ███

██████████

     ██████

███████████

     ███████████████

███████████████████
█████████████████

███    

██████████

██████    

███████████

███████████████    

███████████████████
▄█████████████████████████▄
███████████████████████████
███████████████████████████
██████▀███████▀   ▀▀▀▄█████
█████▌  ▀▀███▌       ▄█████

████▀               █████
█████▄              ███████
██████▄            ████████
███████▄▄        ▄█████████
█████▄▄       ▄████████████
███████████████████████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
██████████████████▀▀███████
█████████████▀▀▀    ███████

███████▀▀▀   ▄▀   ███████
█████▄     ▄█▀     ████████
████████▄ █▀      █████████
█████████▌▐       █████████
██████████ ▄██▄  ██████████
████████████████▄██████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
███████▀           ▀███████
██████  ▄██▀▀▀▀▀█▀▄  ██████

█████  █▀  ▄▄▄  ▀█  █████
██████  █  █████  █  ██████
██████  █▄  ▀▀▀  ▄█  ██████
██████  ▀██▄▄▄▄▄██▀  ██████
███████▄           ▄███████
███████████████████████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
██████████▀█████▀██████████
███████▀  ▀     ▀  ▀███████

█████▌             ▐█████
██████    ██   ██    ██████
█████▌    ▀▀   ▀▀    ▐█████
██████▄  ▄▄▄   ▄▄▄  ▄██████
████████▄▄███████▄▄████████
███████████████████████████
███████████████████████████
▀█████████████████████████▀


na]][/font][/font][/size][/font][/td][td][/td][/tr][/table][/tr
drmutz (OP)
Jr. Member
*
Offline Offline

Activity: 39
Merit: 5


View Profile
December 03, 2017, 09:11:06 AM
 #6

I wasn't serious about the "opaque and arbitrary" bit and I share your concern about such processes.  However, the particulars about how that would be distributed are certainly worthy of discussion.  I'm more interested at this time in trying to determine "many variants of POW/POS coins ... with different distribution parameters,"  It all seems very arbitrary to me and it all attracts criticism re: "fairness".  So I'm really looking for some guidelines in that department.

As far the the White Paper goes, I figure it's premature for that.  I don't have much idea about what the coin should do, other than to be a learning exercise.  And as you've noticed, there's nothing novel about that.  Although come to think of it... I suppose I should study some existing white papers.  I'm sure there's plenty of food-for-thought buried therein.

illiki23
Sr. Member
****
Offline Offline

Activity: 602
Merit: 295


Hail Eris!


View Profile
December 03, 2017, 08:09:00 PM
 #7

I wasn't serious about the "opaque and arbitrary" bit and I share your concern about such processes.  However, the particulars about how that would be distributed are certainly worthy of discussion.  I'm more interested at this time in trying to determine "many variants of POW/POS coins ... with different distribution parameters,"  It all seems very arbitrary to me and it all attracts criticism re: "fairness".  So I'm really looking for some guidelines in that department.

As far the the White Paper goes, I figure it's premature for that.  I don't have much idea about what the coin should do, other than to be a learning exercise.  And as you've noticed, there's nothing novel about that.  Although come to think of it... I suppose I should study some existing white papers.  I'm sure there's plenty of food-for-thought buried therein.



Well that is good.   Yes, I was suggesting a whitepaper as a learning exercise since communication with the public is a critical part of coin development.

Though if you just want to focus on learning to develop a coin then focus on that.  If you actually want to make a product and change the world you need the whole package.

The Python tutorial should take you far.  Building a wallet for an already established coin would also give a lot of practice.  And wallet innovations are relatively easier to come up with than coin innovations.   Many wallets just lack the UI experience I am looking for, but I am data visualization freak and want better dashboards in general.

Good luck!

             ▄▄██████▄
         ▄▄████████████
   ▄▄█████████▀▀   ▀████
 ▄███████████▄      ████
████▀   ▀▀██████▄▄▄████
████      ▄███████████▄
▀████▄▄▄████████▀▀▀████▄
 ▀███████████▀      ████
 ████▀▀▀██████▄▄   ▄███▀
████      ▀███████████▀
████▄   ▄▄█████████▀▀
 ████████████▀▀
  ▀██████▀▀
█████████████████

     ███

██████████

     ██████

███████████

     ███████████████

███████████████████
█████████████████

███    

██████████

██████    

███████████

███████████████    

███████████████████
▄█████████████████████████▄
███████████████████████████
███████████████████████████
██████▀███████▀   ▀▀▀▄█████
█████▌  ▀▀███▌       ▄█████

████▀               █████
█████▄              ███████
██████▄            ████████
███████▄▄        ▄█████████
█████▄▄       ▄████████████
███████████████████████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
██████████████████▀▀███████
█████████████▀▀▀    ███████

███████▀▀▀   ▄▀   ███████
█████▄     ▄█▀     ████████
████████▄ █▀      █████████
█████████▌▐       █████████
██████████ ▄██▄  ██████████
████████████████▄██████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
███████▀           ▀███████
██████  ▄██▀▀▀▀▀█▀▄  ██████

█████  █▀  ▄▄▄  ▀█  █████
██████  █  █████  █  ██████
██████  █▄  ▀▀▀  ▄█  ██████
██████  ▀██▄▄▄▄▄██▀  ██████
███████▄           ▄███████
███████████████████████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
██████████▀█████▀██████████
███████▀  ▀     ▀  ▀███████

█████▌             ▐█████
██████    ██   ██    ██████
█████▌    ▀▀   ▀▀    ▐█████
██████▄  ▄▄▄   ▄▄▄  ▄██████
████████▄▄███████▄▄████████
███████████████████████████
███████████████████████████
▀█████████████████████████▀


na]][/font][/font][/size][/font][/td][td][/td][/tr][/table][/tr
drmutz (OP)
Jr. Member
*
Offline Offline

Activity: 39
Merit: 5


View Profile
December 03, 2017, 10:48:42 PM
 #8

So tell me Mr. Data visualizer... what do the existing wallets lack that you'd like to see?  I for one would like a running total cuz otherwise it can be tedious to compare with external records.
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!