Bitcoin Forum
March 19, 2024, 04:01:47 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 [54] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 ... 345 »
  Print  
Author Topic: [ANN][XEL] Elastic Project - The Decentralized Supercomputer  (Read 450418 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.
Evil-Knievel
Legendary
*
Offline Offline

Activity: 1260
Merit: 1168



View Profile
July 29, 2016, 09:17:30 PM
Last edit: July 30, 2016, 01:43:26 PM by Evil-Knievel
 #1061


good work! i hope there will be a way to donate some XEL directly to you as soon as XEL goes live as i appreciate the responsivity and the calm and steady way you are developing this. thumbs up!

I have worked 14 hours straight today, and I would like to give you all a short status update and ask for a "feature request".
What I have done basically is create an entirely new programming language for elastic including a JIT compiler and an interpreter. The programming language is basic enough to be able to say that it is safe and that "eastereggs" like for example Soliticy's send bug are not possible. I would like to give you a short overview what is there and ask you all what you would like to have in it before we close that chapter for now.

1. The programming language does not allow the declaration of new variables. All you have is the integer state array m[0]-m[255]. This limits the memory overhead of the user-provided POW algorithms to 256*8 Bits. Dos attacks using "stack/heap exhaustion" or whatever are not possible.
Any other variable declarations are not allowed per the grammar, also m[256 and higher] are forbidden per grammer and result in a syntax error so other implementations (maybe we will have some in Go or so) cannot screw up here at all.

The programmer must make sure to use the state array in a "smart" manner!

2. We support the following operations:
+: Addition
-: Subtraction
*: Multiplication
/: Integer Division
%: Modulo Operation
>>: Right Shift 32bit
<<: Left Shift 32bit
>>>: Right Rotate 32bit
<<<: Left Rotate 32bit
~: Bitwise Complement
!: Logical Negation
^: Bitwise XOR 32 bit
&: Bitwise OR 32 bit
|: BitWise AND 32bit

3. And we support the following relational exressions:
<: smaller
>: larger
<=: smaller than
>=: greater than
==: equal
=!: not equal

4, And the following conditional expressions:
&&:  and
||: or

5. Additionally, we have two (ASK FOR MORE NOW, PLEASE!!) built in functions:
Code:
SHA256 x y;
MD5 x y;
Which start at the beginning of m[ x ] and take y byte from there to hash it with the given hash function. In this case, the state array is overwritten beginning at the first byte of m[ x ] with HASH_LENGTH bytes.

6. We support
- if statements
- while statements

7. The "random integers" provided by the miners are stored in m[ 0 ]-m[ ... ] (depending on how many the POW author requests).

8. Every source file must start with "input x;" while x is a value between 3 and 12 and describes how many random integers are shuffled by the miners. Those are added to the state beginning at m[0]...

9. Every source file must end with "verify STATEMENT;" which is the bounty submission check. This line is a Statement that evaluated to either true or false and tells us if the result is "a bounty" or not.



EXAMPLE
======


This is very theoretical, I know! I will give a practical example tomorrow so everyone can try one. For those who are interested in diving into the technical backgrounds ...

Here is a Bitcoin-Mining-Function that would mine the Genesis Block 0 and that is written in Elastics internal programming language:


SMALL AND COMPACT, ISN'T IT???
Wink

It is basically putting the block header into the internal state using Elastic's Programming Language's syntax in "unsigned integer coding" and calls SHA256 Twice, once hashing all 80 bytes of the block header and the second time only the 32 bytes of the resulting hash. The nonce is "shuffled" using the random input fed by the "miners" from m[ 1 ] ;

Tested ;-) Works! ;-)

Code:
input 3;
m[3]=16777216;
m[4]=0;
m[5]=0;
m[6]=0;
m[7]=0;
m[8]=0;
m[9]=0;
m[10]=0;
m[11]=0;
m[12]=1000599037;
m[13]=2054886066;
m[14]=2059873342;
m[15]=1735823201;
m[16]=2143820739;
m[17]=2290766130;
m[18]=983546026;
m[19]=1260281418;
m[20]=699096905;
m[21]=4294901789;
m[22]=497822464 | (m[1] & 255);
SHA256 3 80;
SHA256 3 32;
verify m[10]==0;

The Bounty hook function which must be the last instruction in the source code in this case is "checking for 32 leading zerobits which in fact are trailing zero bits due to endianess".
This is simply:

Code:
verify m[10]==0;


And this is the grammar of ElasticPL (POW) for now:

Code:

SKIP :
{
  " "
| "\t"
| "\n"
| "\r"
| "\f"
}


TOKEN :
{
  < INTEGER_LITERAL: (<DIGIT>)+ >
}


void CompilationUnit() :
{
   String name;
}
{
   (
       Statement()
   )*
   FinalBountyCheckExpression()
   <EOF>
}

void FinalBountyCheckExpression() :
{}
{
  "verify" Expression() ";"
}

void Expression() #void:
{}
{
  LOOKAHEAD( PrimaryExpression() "=" )
  Assignment()
|
  ConditionalOrExpression()
}


void Assignment() #Assignment(2) :
{}
{
  PrimaryExpression() "=" Expression()
}


void ConditionalOrExpression() #void :
{}
{
  ConditionalAndExpression()
  ( "||" ConditionalAndExpression() #OrNode(2) )*
}


void ConditionalAndExpression() #void :
{}
{
  InclusiveOrExpression()
  ( "&&" InclusiveOrExpression() #AndNode(2) )*
}


void InclusiveOrExpression() #void :
{}
{
  ExclusiveOrExpression()
  ( "|" ExclusiveOrExpression() #BitwiseOrNode(2) )*
}


void ExclusiveOrExpression() #void :
{}
{
  AndExpression()
  ( "^" AndExpression() #BitwiseXorNode(2) )*
}


void AndExpression() #void :
{}
{
  EqualityExpression()
  ( "&" EqualityExpression() #BitwiseAndNode(2) )*
}


void EqualityExpression() #void :
{}
{
  RelationalExpression()
  (
     "==" RelationalExpression() #EQNode(2)
   |
     "!=" RelationalExpression() #NENode(2)
  )*
}


void RelationalExpression() #void :
{}
{
  AdditiveExpression()
  (
    "<" AdditiveExpression() #LTNode(2)
   |
    ">" AdditiveExpression() #GTNode(2)
   |
    "<=" AdditiveExpression() #LENode(2)
   |
    ">=" AdditiveExpression() #GENode(2)
  )*
}


void AdditiveExpression() #void :
{}
{
  MultiplicativeExpression()
  (
    "+" MultiplicativeExpression() #AddNode(2)
   |
    "-" MultiplicativeExpression() #SubtractNode(2)
  )*
}


void MultiplicativeExpression() #void :
{}
{
  UnaryExpression()
  (
    "*" UnaryExpression() #MulNode(2)
   |
    "/" UnaryExpression() #DivNode(2)
   |
    "%" UnaryExpression() #ModNode(2)
   |
    ">>" UnaryExpression() #RShiftNode(2)
   |
    "<<" UnaryExpression() #LShiftNode(2)
   |
    ">>>" UnaryExpression() #RRotNode(2)
   |
    "<<<" UnaryExpression() #LRotNode(2)
  )*
}


void UnaryExpression() #void :
{}
{
  "~" UnaryExpression() #BitwiseComplNode(1)
|
  "!" UnaryExpression() #NotNode(1)
|
  PrimaryExpression()
}


void PrimaryExpression() #void :
{
   String name;
}
{
  Literal()
|
  Id()
|
  "(" Expression() ")"
}


void Id() :
{
   Token t;
}
{
   t = <IDENTIFIER>  { jjtThis.name = t.image; }
}


void Literal() #void :
{
   Token t;
}
{
 (
  t=<INTEGER_LITERAL>
    {
       jjtThis.val = Integer.parseUnsignedInt(t.image);
    }
 )#IntConstNode
|
  BooleanLiteral()
}


void BooleanLiteral() #void :
{}
{
  "true" #TrueNode
|
  "false" #FalseNode
}


void Statement() #void :
{}
{
  ";"
|
  LOOKAHEAD(2)
  LabeledStatement()
|
  Block()
|
  StatementExpression()
|
  IfStatement()
|
  WhileStatement()
|
  HashStatement()
}


void HashStatement() #void :
{}
{
   SHA256()
 |
   MD5()
}
void SHA256() :
{ Token t1; Token t2; }
{
   "SHA256" t1 = <INTEGER_LITERAL> t2 = <INTEGER_LITERAL>
   { jjtThis.position_to_start = Integer.valueOf(t1.image); jjtThis.byte_length = Integer.valueOf(t2.image); }
}
void MD5() :
{ Token t1; Token t2; }
{
   "MD5" t1 = <INTEGER_LITERAL> t2 = <INTEGER_LITERAL>
   { jjtThis.position_to_start = Integer.valueOf(t1.image); jjtThis.byte_length = Integer.valueOf(t2.image); }
}



void LabeledStatement() #void :
{}
{
  <IDENTIFIER> ":" Statement()
}


void Block() :
{}
{
  "{" ( Statement() )* "}"
}


void StatementExpression() :
{}
{
  Assignment() ";"
}


void IfStatement() :
{}
{
  "if" "(" Expression() ")" Statement() [ LOOKAHEAD(1) "else" Statement() ]
}


void WhileStatement() :
{}
{
  "while" "(" Expression() ")" Statement()
}


TOKEN :
{
  < IDENTIFIER: "m[" (<DIGIT>|<NOZERODIGIT><DIGIT>|<ONE><DIGIT><DIGIT>|<TWO><ZEROTOFOUR><DIGIT>|<TWO><FIVE><ZEROTOFIVE>) "]" >
|
  < #DIGIT: [ "0"-"9" ] >
|
  < #NOZERODIGIT: [ "1"-"9" ] >
|
  < #ONE: [ "1" ] >
|
  < #TWO: [ "2" ] >
|
  < #ZEROTOFOUR: [ "0"-"4" ] >
|
  < #FIVE: [ "5" ] >
|
  < #ZEROTOFIVE: [ "0"-"5" ] >
}
Whoever mines the block which ends up containing your transaction will get its fee.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Evil-Knievel
Legendary
*
Offline Offline

Activity: 1260
Merit: 1168



View Profile
July 29, 2016, 09:21:00 PM
Last edit: July 29, 2016, 09:32:37 PM by Evil-Knievel
 #1062


If you want any "built in functions" suggest them NOW! At the moment we have SHA256 and MD5 natively, all others must be implemented by the POW function authors. We can reduce the blockchain bloat by supporting the most common ones natively with just one simple command.


(remember, any built in function will be just one call in your POW function that you push to the network and therefore make it cheaper for you. This is because fees are calculated by the POW program size)


Evil-Knievel
Legendary
*
Offline Offline

Activity: 1260
Merit: 1168



View Profile
July 30, 2016, 01:54:41 PM
 #1063

For those of you who want to try out my suggestion for Elastic's new scripting language, do this:

1. Get the interpreter plus the demo file at:
https://github.com/OrdinaryDude/elastic-reference-client/tree/master/example_miner_new_language

2. Compile the interpreter
Code:
javac *.java

3. Take a look at the demo file which is written in "ElasticPL", Elastic's own programming language. Two posts above this one, there is a short description of the syntax. Feel free to play around with it.
This particular demo will mine "Bitcoin Block 0" and give back the correct nNonce which meets the Bitcoin target hash value required for block 0. As you can view in any block explorer, the correct block nonce should be "497822588" ... this is what this demo will find.

Code:
input 3;
m[3]=16777216;
m[4]=0;
m[5]=0;
m[6]=0;
m[7]=0;
m[8]=0;
m[9]=0;
m[10]=0;
m[11]=0;
m[12]=1000599037;
m[13]=2054886066;
m[14]=2059873342;
m[15]=1735823201;
m[16]=2143820739;
m[17]=2290766130;
m[18]=983546026;
m[19]=1260281418;
m[20]=699096905;
m[21]=4294901789;
m[22]=497811456 | (m[1] & 65535);
SHA256 3 80;
SHA256 3 32;
verify (m[10]==0);

4. This source file is saved under bitcoin_block_0.epl

5. Start the interpreter with the above source code as an argument like this:
Code:
java ElasticPL bitcoin_block_0.epl

6. Enjoy:

devking
Member
**
Offline Offline

Activity: 96
Merit: 10


View Profile
August 01, 2016, 03:22:07 AM
 #1064

Great EK, looks good. Any support for other languages other than the default. Its nice to have language options. How about including statistical one's. My understanding XEL is generic in nature.

Join the Elastic revolution!  Elastic - The Decentralized Supercomputer
ELASTIC WEBSITE | ANNOUNCEMENT THREAD | ELASTIC SLACK | ELASTIC FORUM
Elevated
Newbie
*
Offline Offline

Activity: 37
Merit: 0


View Profile
August 02, 2016, 02:03:25 PM
 #1065

Hello, what is the total XEL supply; i.e. the 5 million up for donation are what % of the total (or is 5M the total supply)?  Apologies if this is posted somewhere, I couldn't find it.

How is this different from Maidsafe and Golem Project?  Thanks.
Evil-Knievel
Legendary
*
Offline Offline

Activity: 1260
Merit: 1168



View Profile
August 02, 2016, 03:39:48 PM
 #1066

How is this different from Maidsafe and Golem Project?  Thanks.

AFAIK, although planned for a long time, there is no working Maidsafe "app" out there that would allow "farming" Safecoins by contributing processing power to the ecosystem. Correct me if I'm wrong on this.
Gridcoin does something similar to us, but albeit you earn Gridcoins for contributing CPU power, the distribution of the coins is not done by a decentralized protocol. In fact, some dude is checking the statistics of a centralized service (BOINC? SETI?) and crediting the users based on that. Of course he does that automatically, but that doesn't make it less centralized.
Golem claims they want to do the same thing but they, at least from what I can see, are still stuck in the "planning phase"? Am I also right on this?

There are several other approaches out there which clearly were "inspired" by our idea. Let's see how many will adopt parts of our source code  Wink  Everyone is welcome to do so.
Bgjjj2016
Sr. Member
****
Offline Offline

Activity: 448
Merit: 250

Ben2016


View Profile
August 02, 2016, 11:32:11 PM
 #1067

Hello, what is the total XEL supply; i.e. the 5 million up for donation are what % of the total (or is 5M the total supply)?  Apologies if this is posted somewhere, I couldn't find it.

How is this different from Maidsafe and Golem Project?  Thanks.
hi, I believe the five million is the entire coin supply.

My " I want that Old Toyota Camry very bad" BTC Fund :1DQU4oqmZRcKSzg7MjPLMuHrMwnbDdjQRM
Join the Elastic revolution! Elastic Network: The Decentralized Supercomputer 
ELASTIC WEBSITE|ANNOUNCEMENT THREAD|JOIN THE SLACK
Evil-Knievel
Legendary
*
Offline Offline

Activity: 1260
Merit: 1168



View Profile
August 03, 2016, 07:22:48 PM
 #1068

Isarmatrose, if you read this ...
I need either access to your server or you being "available" so we can set up a faucet and a testnet bootstrap node on your server.
Evil-Knievel
Legendary
*
Offline Offline

Activity: 1260
Merit: 1168



View Profile
August 03, 2016, 10:33:04 PM
 #1069

@Lannister: The genesis block is not getting updated. Seems the tx daemon crashes again. Please fix this when you read this.
dulinxu
Sr. Member
****
Offline Offline

Activity: 358
Merit: 250


View Profile
August 03, 2016, 11:38:32 PM
 #1070

nice work

TERRA - Bring profits to support community, starting from cross-border payment ❘|❘ ICO ❘|❘ DISCUSSION
Evil-Knievel
Legendary
*
Offline Offline

Activity: 1260
Merit: 1168



View Profile
August 03, 2016, 11:43:21 PM
 #1071

nice work

Thanks,

here is an older video showing some insights. A lot has been done since, like a new tailored (and provably safe) programming language for the user-provided Proof-of-Work functions which can be also easily ported to GPUs, a functional mining application, and a lot more. I hope I find some time to make an updated video showing all the new stuff soon. There are a few little "meta" things to do tomorrow like allowing the "root" to reset the testnet using a special handcrafted transaction so we can "hard fork" new features into the testnet as the testing goes along quite easily.

cryptodv
Hero Member
*****
Offline Offline

Activity: 1092
Merit: 507


btcstakes.com


View Profile WWW
August 04, 2016, 12:06:36 AM
 #1072

Project has a lot of potential, please keep it up. Early "donator" here.  Grin



▄▄                                  ▄▄
 ███▄                            ▄███
  ██████                      ██████
   ███████                  ███████
    ███████                ███████
     ███████              ███████
      ███████            ███████
       ███████▄▄      ▄▄███████
        ██████████████████████
         ████████████████████
          ██████████████████
           ████████████████
            ██████████████
             ███████████
              █████████
               ███████
                █████
                 ██
                  █
veil|     PRIVACY     
     WITHOUT COMPROMISE.       
▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂
|   NO ICO. NO PREMINE. 
   X16RT GPU Mining. Fair distribution.   
|      The first Zerocoin-based Cryptocurrency       
   WITH ALWAYS-ON PRIVACY.   
|



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




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




     ▄▄█▀▀ ▄▄▄▄▄▄▄▄ ▀▀█▄▄
   ▐██▄▄██████████████▄▄██▌
   ████████████████████████
  ▐████████████████████████▌
  ███████▀▀▀██████▀▀▀███████
 ▐██████     ████     ██████▌
 ███████     ████     ███████
▐████████▄▄▄██████▄▄▄████████▌
▐████████████████████████████▌
 █████▄▄▀▀▀▀██████▀▀▀▀▄▄█████
  ▀▀██████          ██████▀▀
      ▀▀▀            ▀▀▀
cyberhacker
Legendary
*
Offline Offline

Activity: 1330
Merit: 1000



View Profile
August 04, 2016, 01:23:28 AM
 #1073

wow. great!

so after one month, it is really possible to release the mainnet and hit exchanges?

unvoid
Hero Member
*****
Offline Offline

Activity: 535
Merit: 500



View Profile
August 04, 2016, 08:18:53 AM
 #1074

1. Is there a reason for 5m coins? Why not 0.5m or 50m? 21m would be much better for potential bitcoin investors.

2. The fee will be static at 1 XEL? In that case fee will be big problem of XEL like it was in case of NXT and because there will be 5m coins problem will show up earlier.

3. In NXT case many people left forging because with sums below 100k NXT they was wating too long for any kind of block. I've seen possible solution to this once - can we extract 10% from block reward and send them to the random (hallmarked) forger? This way even people with 100 XEL forging have chance to get rewarded for thier time and money spent on forging.

BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5
XEL: XEL-HCM8-KB6E-YFLK-8BWMF
Evil-Knievel
Legendary
*
Offline Offline

Activity: 1260
Merit: 1168



View Profile
August 04, 2016, 02:05:30 PM
 #1075

A very simple miner is finished, that will mine programs written in Elastic's own programming language "ElasticPL" and look for both bounties and POW solutions.

https://github.com/OrdinaryDude/elastic-miner

There is some room for improvement like do not pause "mining" while submitting solutions to the server, and a better GUI.

A video of how to use the entire Elastic framework, including how to create programs using ElasticPL, submitting them to the network and then using the miner to earn XEL will follow shortly.






unvoid
Hero Member
*****
Offline Offline

Activity: 535
Merit: 500



View Profile
August 04, 2016, 02:28:05 PM
 #1076

1. Is there a reason for 5m coins? Why not 0.5m or 50m? 21m would be much better for potential bitcoin investors.

2. The fee will be static at 1 XEL? In that case fee will be big problem of XEL like it was in case of NXT and because there will be 5m coins problem will show up earlier.

3. In NXT case many people left forging because with sums below 100k NXT they was wating too long for any kind of block. I've seen possible solution to this once - can we extract 10% from block reward and send them to the random (hallmarked) forger? This way even people with 100 XEL forging have chance to get rewarded for thier time and money spent on forging.

@Evil-Knievel how my concerns? Any response?

BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5
XEL: XEL-HCM8-KB6E-YFLK-8BWMF
Evil-Knievel
Legendary
*
Offline Offline

Activity: 1260
Merit: 1168



View Profile
August 04, 2016, 02:38:05 PM
 #1077

1. Is there a reason for 5m coins? Why not 0.5m or 50m? 21m would be much better for potential bitcoin investors.

2. The fee will be static at 1 XEL? In that case fee will be big problem of XEL like it was in case of NXT and because there will be 5m coins problem will show up earlier.

3. In NXT case many people left forging because with sums below 100k NXT they was wating too long for any kind of block. I've seen possible solution to this once - can we extract 10% from block reward and send them to the random (hallmarked) forger? This way even people with 100 XEL forging have chance to get rewarded for thier time and money spent on forging.

@Evil-Knievel how my concerns? Any response?

Hey, sorry that I didn't answer immediately. I am pretty busy getting all things together.

1. I have no idea why 5M coins. The guy who "invented" this project specified 5M (i guess he chose it randomly) and I sticked to that specification during development.

2. You are perfectly right! I have been thinking about this for a long time. For the testnet, I guess we can leave it like this but for the mainnet we have to find a better solution. Do you have any suggestions? I thought about some minimum threshold and then requiring a certain percentage of the transaction volume (again, capped by an upper bound). That would scale sort of. Whatever way we go, we have to make sure that DOS style blockchain spamming attacks remain too expensive to be carried out.

3. The POS style forging is just there for blockchain integrity. There is not much to be earned except the transaction fees. So yes, you are right we will experience the same "problem" as we have in NXT but the real XEL earning is done by solving the user-provided algorithms (by submitting bounties or proof of work transactions). These are scaled using a similar targeting mechanism as we have in Bitcoin except we adjust the target value each block. I like your idea with the hallmarked forger, but 10% will be nearly nothing. Again, the POS mining is just to ensure blockchain integrity and there is nothing to earn except the transaction fees. This was necessary because simply relying on the user-provided algorithms (and using them to form consensus about the blockchain) is prone to the so-called "faster algorithm attack" where a malicious miner creates a program that he knows a shortcut for and so can mine the majority of the blocks. By having a POS/POW combination we can circumvent that.
wosch76
Legendary
*
Offline Offline

Activity: 942
Merit: 1026



View Profile
August 04, 2016, 02:49:18 PM
 #1078

project looks very good.
I'm glad I donated in the early stages (before block 400000) Smiley

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



.SEMUX
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
  Semux uses .100% original codebase.
  Superfast with .30 seconds instant finality.
  Tested .5000 tx per block. on open network
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
unvoid
Hero Member
*****
Offline Offline

Activity: 535
Merit: 500



View Profile
August 04, 2016, 05:37:08 PM
Last edit: August 05, 2016, 05:01:37 PM by unvoid
 #1079

1. Is there a reason for 5m coins? Why not 0.5m or 50m? 21m would be much better for potential bitcoin investors.

2. The fee will be static at 1 XEL? In that case fee will be big problem of XEL like it was in case of NXT and because there will be 5m coins problem will show up earlier.

3. In NXT case many people left forging because with sums below 100k NXT they was wating too long for any kind of block. I've seen possible solution to this once - can we extract 10% from block reward and send them to the random (hallmarked) forger? This way even people with 100 XEL forging have chance to get rewarded for thier time and money spent on forging.

Hey, sorry that I didn't answer immediately. I am pretty busy getting all things together.

1. I have no idea why 5M coins. The guy who "invented" this project specified 5M (i guess he chose it randomly) and I sticked to that specification during development.

2. You are perfectly right! I have been thinking about this for a long time. For the testnet, I guess we can leave it like this but for the mainnet we have to find a better solution. Do you have any suggestions? I thought about some minimum threshold and then requiring a certain percentage of the transaction volume (again, capped by an upper bound). That would scale sort of. Whatever way we go, we have to make sure that DOS style blockchain spamming attacks remain too expensive to be carried out.

3. The POS style forging is just there for blockchain integrity. There is not much to be earned except the transaction fees. So yes, you are right we will experience the same "problem" as we have in NXT but the real XEL earning is done by solving the user-provided algorithms (by submitting bounties or proof of work transactions). These are scaled using a similar targeting mechanism as we have in Bitcoin except we adjust the target value each block. I like your idea with the hallmarked forger, but 10% will be nearly nothing. Again, the POS mining is just to ensure blockchain integrity and there is nothing to earn except the transaction fees. This was necessary because simply relying on the user-provided algorithms (and using them to form consensus about the blockchain) is prone to the so-called "faster algorithm attack" where a malicious miner creates a program that he knows a shortcut for and so can mine the majority of the blocks. By having a POS/POW combination we can circumvent that.

1. I think we should really consider to rise this supply. 5m is quite small if we think about hitting XEL adoption. As I remember (correct me if I'm wrong) NXT have 1b coins but in comparasion to BTC, comma is moved right in NXT. 1b coins like NXT have is already proven solution and we should not change that number but anything above 5m will be much better (latest example, see at daily increase in ETH mined coins. Madness and for some reason (don't ask me) people like it when there is lot of them).

2. We should learn here from giants. BTC has config setting for minimum fee that miner will accept transaction. Let's add static to config that define minimum fee that forger will mine block will include transaction in block and forget about this case untill some big heads came up with better idea. This topic was raped in BTC community for ages so I think that forger decision is best for now. Set minimum fee at very low (say 0.0001) and move choice to forgers in config. Waste of time and hairs to trying invent something better as even BTC devs are hairless because of this topic.

3. But we are dividing this at PoS and PoW participants. Many people would like to just confirm transactions and stay with coin with lot of reasons (they don't understand PoW thing in this coin; they are afraid that solving problems will drive theirs CPUs/RAMs to roof; they are afraid that if someone can run code in their machine they expose themselves to attacks; you name it). Let's just assume that lot of people will be interested just in forging. You can't say 10% is nothing and I have two arguments for this:
3a. Many people ran away from NXT just because they seen nothing. Absolutley nothing for months of forging. Lot of people will run their nodes just for love for technology they believe but if they see nothing happening for months they will feel useless; not contribute to support network. So if they see "something" happening, lot of them will stay.
3b. I agree that it's not up to us to decide if 10% is small or big amount. Let's just take previous (and I think best) idea for now and create static config where every miner will decide how much he want to give away for rest of the forgers. Minimum setting would be 5% and maximum 50%. Beauty of this is that we can change min and max requirements with just new update not even soft fork! I think I'm wrong. Soft fork will be needed when we implement it in a secure way.

Don't complicate things that aren't complicated or lot of top brains in the world can't find solution to. Just trust forgers and move on, focus on great things/coding and let the forgers decide.

Couple lines of code and we covered up most of the NXT dark sides. Not to mention that already XEL have better distribution (one of the most butthurts in NXT community). So I think XEL can be great only if we patch it up with cosmetic changes just before main net launch.

BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5
XEL: XEL-HCM8-KB6E-YFLK-8BWMF
cyberhacker
Legendary
*
Offline Offline

Activity: 1330
Merit: 1000



View Profile
August 04, 2016, 11:48:51 PM
 #1080

yeah, how about increase the coin supply to one billion to ease liquidity.

just asking,  supply increase will not dilute our value.

thanks.
Pages: « 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 [54] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 ... 345 »
  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!