Bitcoin Forum
November 05, 2024, 04:35:02 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 »  All
  Print  
Author Topic: [ANN][STEEM][POW] - An experimental Proof of Work blockchain  (Read 10445 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
thereverseflash (OP)
Member
**
Offline Offline

Activity: 70
Merit: 10

I'll be able to change everything!


View Profile
March 23, 2016, 01:13:52 AM
Last edit: March 24, 2016, 02:43:26 PM by thereverseflash
 #1

Steem is an experimental Proof of Work blockchain with an unproven/beta consensus algorithm.

- No ICO, No IPO
- Currency Symbol STEEM
- 1.000 STEEM block reward at launch
- Approximately 112% APR long term inflation rate

Steem will be Relaunched due to Bug, any mining on current chain will be wasted.


Source Code:   https://github.com/steemit/steem

How To Mine
The mining algorithm used by Steem requires the owner to have access to the private key used by the account. This means it does not favor mining pools.
Code:
      ./steemd --miner=["accountname","${WIFPRIVATEKEY}"] --witness="accountname" --seed-node="52.38.66.234:1984"

Make sure that your accountname is unique and not already used by someone else or your proof of work might not be accepted by the blockchain.

Quote
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


The algorithm:

Quote
Let H        = Head Block ID
Let H2      = SHA256(H+NONCE)
Let PRI      = Producer Private Key
Let PUB    = Producer Public Key
Let S        = SIGN(PRI, SHA256( H ) )
Let K        = RECOVER_PUBLIC_KEY( H2, S )
Let POW  = SHA256( K )

Complaints

There are many common complaints/conspiracies about STEEM that we want to address up front:

1. We know that our announcement could be vague and create a barrier to entry for those who cannot code
2. We have mined the vast majority of blocks thus far and we do not attempt to hide it
3. We have mined using forum names so that we can give those names to their rightful owners
4. We have mined to register accounts with popular boy and girl names because they might have extra value some day
5. We know that many here may chose to avoid or not mine STEEM simply because of how it was launched, that is your choice.

If you do not like how STEEM was launched please move on.

Update:

1. account names must be all lowercase and less than 15 char long and start with a letter [a-z][a-z0-9]*
2. WIFPRIVATEKEY format starts with a 5....
3. make sure to pass --witness and miner with the same accountname
4. a wallet is available in ./cli_wallet and will connect to ./steemd *if* you launch ./steemd with --rpc-endpoint

Update:

The consensus algorithm works as follows:

At the start of the chain, "initminer" is the only node that can produce blocks, but it does not get paid. In fact, no one gets paid until 21 miners solve a POW.

Every time miner solves a POW and broadcasts their transaction, it gets included in a block and they get added to the queue.

The top 21 miners in the queue are selected as a "round" and are randomly shuffled.  Then they produce 21 blocks.

At the start of each round one miner is popped from the queue (reducing queue length), and bringing in a new miner.

Update:

Once your miner is in the POW queue, you cannot submit new POW until you exit the queue.  It takes about 2 hours to move through the queue. In effect, if you have more than 0.2% of the total hash power you should have multiple accounts mining.


This is how I intend to moderate this thread:

1. any posts that fundamentally disagree with the initial mining / launch strategy are not productive and will be removed
2. any posts that are not civil and respectful will be removed
3. any posts making false accusations will be removed

Are you fast enough?
NextGenCrypto
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile WWW
March 23, 2016, 01:18:39 AM
 #2

Checking this out. 

Could ya provide a little less info on how to get started?   Wink

bathrobehero
Legendary
*
Offline Offline

Activity: 2002
Merit: 1051


ICO? Not even once.


View Profile
March 23, 2016, 01:19:53 AM
 #3

We spent months working

And no GUI wallet or even a detailed ann post huh?

Not your keys, not your coins!
Bank_sy
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


View Profile
March 23, 2016, 01:21:09 AM
 #4

Checking this out. 

Could ya provide a little less info on how to get started?   Wink

if he told you more then how will he mine more?  Tongue
gambino
Hero Member
*****
Offline Offline

Activity: 570
Merit: 500


View Profile
March 23, 2016, 01:26:30 AM
 #5

Quote
We spent months working on the code, our only advantage is our knowledge of the code. If you wish to know what Steem is all about then the least you can do is read the code we wrote.

 Roll Eyes


So, this is coin with an experimental Proof of Work blockchain with an unproven/beta consensus algorithm which is only for coders.

Dev, if you force us to avoid this, I'm sure that your project will die
kevin1234a
Legendary
*
Offline Offline

Activity: 1162
Merit: 1000


Decentralizing Jesus on the Blockchain


View Profile WWW
March 23, 2016, 01:30:57 AM
 #6

that is intresting more info would be helpful here meantime going to check github

blackchopper
Sr. Member
****
Offline Offline

Activity: 316
Merit: 253



View Profile WWW
March 23, 2016, 01:43:47 AM
 #7

It's called an instamine. 

Since people have to read the code to figure out how to use your coin and mine it, it's no different than someone releasing a coin without wallets where people have to compile from source and the developer gets to mine a ton of coins while everyone else has to either figure out how to compile the wallet or compile the wallet.

I'm sure people would love to mine and test your coin out, but your very limited ANN prevents people who are interested in the coin from getting involved.

Developer with a background in Marketing and Promotions.
CHECK OUT PLATINUMBAR XPTX
thereverseflash (OP)
Member
**
Offline Offline

Activity: 70
Merit: 10

I'll be able to change everything!


View Profile
March 23, 2016, 01:54:05 AM
 #8

Please report in when you get a block produced. You will see output on the console like:

3177000ms th_a       witness.cpp:213               block_production_loo ] Generated block #761 with timestamp T1 at time T2 by USERNAME

Are you fast enough?
thereverseflash (OP)
Member
**
Offline Offline

Activity: 70
Merit: 10

I'll be able to change everything!


View Profile
March 23, 2016, 02:08:54 AM
 #9

It's called an instamine.  

Since people have to read the code to figure out how to use your coin and mine it, it's no different than someone releasing a coin without wallets where people have to compile from source and the developer gets to mine a ton of coins while everyone else has to either figure out how to compile the wallet or compile the wallet.

I'm sure people would love to mine and test your coin out, but your very limited ANN prevents people who are interested in the coin from getting involved.

My interpretation of instamine is when the block reward is very high at the beginning giving non-linear returns to the first block producers.  Here we get linear returns. If we get a full 24 hours with no competition then we will end up with less than 0.3% of the STEEM after a year.

 

Are you fast enough?
blackchopper
Sr. Member
****
Offline Offline

Activity: 316
Merit: 253



View Profile WWW
March 23, 2016, 02:17:30 AM
 #10

It's called an instamine.  

Since people have to read the code to figure out how to use your coin and mine it, it's no different than someone releasing a coin without wallets where people have to compile from source and the developer gets to mine a ton of coins while everyone else has to either figure out how to compile the wallet or compile the wallet.

I'm sure people would love to mine and test your coin out, but your very limited ANN prevents people who are interested in the coin from getting involved.

My interpretation of instamine is when the block reward is very high at the beginning giving non-linear returns to the first block producers.  Here we get linear returns. If we get a full 24 hours with no competition then we will end up with less than 0.3% of the STEEM after a year.

 

It also means when a developer or a miner mines a coin, in the beginning, with an advantage.  Regardless of how many coins you are going to get, your limited ANN and "new" type of coin limits people from mining the coin, whereas you can mine it - an advantage.  You're "instantly mining" the coin because there is no one else who can mine the coin.

Hey, it's your coin and if you want only the smart people to be able to figure out how to mine the coin, then you can do that.  But if you want people interested in the coin and able to mine it and learn about it, then explain to people how to mine the coin and generate the wallets and they'll be much more interested in your project.  Sure, there are people who only mine a coin to make money and don't care about technology, but there are people who love the tech and would like to learn and mine.  People are just looking at this thread and saying Pass.

Maybe if you would have released the code in advance so that people could ask questions and learn, then started the blockchain and mining, things would be different.  But, you didn't decide to do that.

Developer with a background in Marketing and Promotions.
CHECK OUT PLATINUMBAR XPTX
tacee
Sr. Member
****
Offline Offline

Activity: 386
Merit: 250


View Profile
March 23, 2016, 02:20:46 AM
 #11

No wallet,no miner,Dev,are you kidding? Huh
thereverseflash (OP)
Member
**
Offline Offline

Activity: 70
Merit: 10

I'll be able to change everything!


View Profile
March 23, 2016, 02:41:46 AM
 #12


No pool, sources won't build. Hmmm. Reminds me of something.


It builds on OS X and Ubuntu. 

Are you fast enough?
thereverseflash (OP)
Member
**
Offline Offline

Activity: 70
Merit: 10

I'll be able to change everything!


View Profile
March 23, 2016, 02:52:29 AM
 #13


No pool, sources won't build. Hmmm. Reminds me of something.


It builds on OS X and Ubuntu. 


You need to read what happens to coins when the sources don't build.

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

Wink

And what error are you getting? It is a simple cmake system.

Code:
git submodule update --init --recursive
cmake .
make

Are you fast enough?
Eclipse Crypto
Member
**
Offline Offline

Activity: 98
Merit: 10


View Profile
March 23, 2016, 03:04:07 AM
 #14


No pool, sources won't build. Hmmm. Reminds me of something.


It builds on OS X and Ubuntu.  


You need to read what happens to coins when the sources don't build.

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

Wink

And what error are you getting? It is a simple cmake system.

Code:
git submodule update --init --recursive
cmake .
make

I built it.

Can you make an example of how to start the miner. I'm getting json errors.

Will any wif key do?






Code:
# ./steemd --miner='["EclipseCrypto2016","WIFKEYNUNYA"]' --witness="EclipseCrypto2016" --seed-node="52.38.66.234:1984"
179291ms th_a       main.cpp:158                  main                 ] parsing options
179291ms th_a       main.cpp:160                  main                 ] initializing node
179291ms th_a       main.cpp:162                  main                 ] initializing plugins
179292ms th_a       witness.cpp:92                plugin_initialize    ] witness plugin:  plugin_initialize() begin
179292ms th_a       witness.cpp:132               plugin_initialize    ] 4 parse_error_exception: Parse Error
Unexpected char '69' in "EclipseCrypto2016"
    {"c":69,"s":"EclipseCrypto2016"}
    th_a  json.cpp:433 variant_from_stream

    {"str":"EclipseCrypto2016"}
    th_a  json.cpp:478 from_string
179292ms th_a       main.cpp:196                  main                 ] Exiting with error:
4 parse_error_exception: Parse Error
Unexpected char '69' in "EclipseCrypto2016"
    {"c":69,"s":"EclipseCrypto2016"}
    th_a  json.cpp:433 variant_from_stream

    {"str":"EclipseCrypto2016"}
    th_a  json.cpp:478 from_string
rethrow
    {}
    th_a  witness.cpp:132 plugin_initialize
caramelisedbanknote
Full Member
***
Offline Offline

Activity: 182
Merit: 100


View Profile
March 23, 2016, 03:20:41 AM
 #15

Steem is an experimental Proof of Work blockchain with an unproven/beta consensus algorithm.

- No Pre-mine, No ICO, No IPO
- Currency Symbol STEEM
- 1.000 STEEM block reward at launch
- Approximately 112% APR long term inflation rate

Source Code:   https://github.com/steemit/steem

Mining Starts NOW!  

We spent months working on the code, our only advantage is our knowledge of the code. If you wish to know what Steem is all about then the least you can do is read the code we wrote.

How To Mine
The mining algorithm used by Steem requires the owner to have access to the private key used by the account. This means it does not favor mining pools.
Code:
      ./steemd --miner=["accountname","${WIFPRIVATEKEY}"] --witness="accountname" --seed-node="52.38.66.234:1984"

Make sure that your accountname is unique and not already used by someone else or your proof of work might not be accepted by the blockchain.

Quote
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.



i do not get how to mine...
thereverseflash (OP)
Member
**
Offline Offline

Activity: 70
Merit: 10

I'll be able to change everything!


View Profile
March 23, 2016, 03:36:49 AM
 #16

user names should be all lower case and less than 15 characters long.

Are you fast enough?
Eclipse Crypto
Member
**
Offline Offline

Activity: 98
Merit: 10


View Profile
March 23, 2016, 03:39:06 AM
 #17

user names should be all lower case.


What is the algo? ? ? ?


I've been mining with 8 cores and have gotten nothing in 20 blocks. Either a bunch of others figured this out real fast or you are mining with asics.
thereverseflash (OP)
Member
**
Offline Offline

Activity: 70
Merit: 10

I'll be able to change everything!


View Profile
March 23, 2016, 03:43:01 AM
 #18

user names should be all lower case.


What is the algo? ? ? ?


I've been mining with 8 cores and have gotten nothing in 20 blocks. Either a bunch of others figured this out real fast or you are mining with asics.


While any mining algorithm could be used, we would like to introduce a new algorithm that has several beneficial properties. The mining algorithm requires proof that the miner possess the private key for the account that will ultimately produce the block and receive the reward. The algorithm also requires the user to do an elliptic curve signature verification, the optimization of which will benefit the validation of all transactions and lower the cost of operating the network in the long run.

The algorithm:

Quote
Let HASH = a secure cryptographic hash function (SHA256 or better)
Let H        = Head Block ID
Let H2      = HASH(H+NONCE)
Let PRI      = Producer Private Key
Let PUB    = Producer Public Key
Let S        = SIGN(PRI, HASH( H ) )
Let K        = RECOVER_PUBLIC_KEY( H2, S )
Let POW  = HASH( K )

To be valid the POW must be less than the target difficulty and RECOVER_PUBLIC_KEY(H2,S) must equal PUB. The miner introduces randomness in either the selection of the NONCE or via the randomness required for elliptic curve signature generation. This, combined with the private key selection should ensure that no two miners are searching the same work space.

By starting and ending the POW with a cryptographically secure hash function we can ensure that any vulnerabilities or computational shortcuts that may exist in the RECOVER_PUBLIC_KEY algorithm or SIGN algorithm will ultimately cause the POW algorithm to revert back to a simple HASH-based POW.

Are you fast enough?
Eclipse Crypto
Member
**
Offline Offline

Activity: 98
Merit: 10


View Profile
March 23, 2016, 03:44:44 AM
 #19

user names should be all lower case.


What is the algo? ? ? ?


I've been mining with 8 cores and have gotten nothing in 20 blocks. Either a bunch of others figured this out real fast or you are mining with asics.


While any mining algorithm could be used, we would like to introduce a new algorithm that has several beneficial properties. The mining algorithm requires proof that the miner possess the private key for the account that will ultimately produce the block and receive the reward. The algorithm also requires the user to do an elliptic curve signature verification, the optimization of which will benefit the validation of all transactions and lower the cost of operating the network in the long run.

The algorithm:

Quote
Let HASH = a secure cryptographic hash function (SHA256 or better)
Let H        = Head Block ID
Let H2      = HASH(H+NONCE)
Let PRI      = Producer Private Key
Let PUB    = Producer Public Key
Let S        = SIGN(PRI, HASH( H ) )
Let K        = RECOVER_PUBLIC_KEY( H2, S )
Let POW  = HASH( K )

To be valid the POW must be less than the target difficulty and RECOVER_PUBLIC_KEY(H2,S) must equal PUB. The miner introduces randomness in either the selection of the NONCE or via the randomness required for elliptic curve signature generation. This, combined with the private key selection should ensure that no two miners are searching the same work space.

By starting and ending the POW with a cryptographically secure hash function we can ensure that any vulnerabilities or computational shortcuts that may exist in the RECOVER_PUBLIC_KEY algorithm or SIGN algorithm will ultimately cause the POW algorithm to revert back to a simple HASH-based POW.



Great. But what is HASH() ? ? ?
thereverseflash (OP)
Member
**
Offline Offline

Activity: 70
Merit: 10

I'll be able to change everything!


View Profile
March 23, 2016, 03:49:24 AM
 #20

user names should be all lower case.


What is the algo? ? ? ?


I've been mining with 8 cores and have gotten nothing in 20 blocks. Either a bunch of others figured this out real fast or you are mining with asics.


While any mining algorithm could be used, we would like to introduce a new algorithm that has several beneficial properties. The mining algorithm requires proof that the miner possess the private key for the account that will ultimately produce the block and receive the reward. The algorithm also requires the user to do an elliptic curve signature verification, the optimization of which will benefit the validation of all transactions and lower the cost of operating the network in the long run.

The algorithm:

Quote
Let HASH = a secure cryptographic hash function (SHA256 or better)
Let H        = Head Block ID
Let H2      = HASH(H+NONCE)
Let PRI      = Producer Private Key
Let PUB    = Producer Public Key
Let S        = SIGN(PRI, HASH( H ) )
Let K        = RECOVER_PUBLIC_KEY( H2, S )
Let POW  = HASH( K )

To be valid the POW must be less than the target difficulty and RECOVER_PUBLIC_KEY(H2,S) must equal PUB. The miner introduces randomness in either the selection of the NONCE or via the randomness required for elliptic curve signature generation. This, combined with the private key selection should ensure that no two miners are searching the same work space.

By starting and ending the POW with a cryptographically secure hash function we can ensure that any vulnerabilities or computational shortcuts that may exist in the RECOVER_PUBLIC_KEY algorithm or SIGN algorithm will ultimately cause the POW algorithm to revert back to a simple HASH-based POW.



Great. But what is HASH() ? ? ?


HASH() is SHA256, but the algorithm is dominated by RECOVER_PUBLIC_KEY() and SIGN() for which there is no ASIC or GPU code that I am aware of.

I would respond faster, but bitcointalk is rate limiting me to once every 6 minutes.

Are you fast enough?
Pages: [1] 2 3 4 5 6 7 8 »  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!