Author

Topic: [ANN][XEL] Elastic Project - The Decentralized Supercomputer - page 335. (Read 450524 times)

sr. member
Activity: 448
Merit: 250
Ben2016
Definitely send it to your Private Wallet first. I made the mistake of sending 0.5 BTC from my exchange account so I lost that money.
Hope this helps.

Ben
hero member
Activity: 980
Merit: 502
Will it be possible to send BTC directly from Coinbase Account to Elastic project?
Or do I need to transfer first the BTC from coinbase to a wallet (example blockchain.info) then to Elastic project (to get the private Key)
The address to send will be 3Q2aKEGFTKDw3hghsBifXp39CZVMtZukxn correct?
Thanks,
hero member
Activity: 500
Merit: 507
Hi,
Why does it say in the website that 94.66 BTC were donated while the actual amount of btc that was deposited to the crowdfunding wallet is 40.66666659 BTC? (can be easily seen in blockchain.info)
In addition, what is the time estimate for the end of the crowdfunding?
Thanks.

first address that was used in the initial funding phase isn't included in the total on the current address, i sent to the first address at the beginning of the project , so did many others. dunno where those funds are either thou , but that address isn't included.



Well, that's a bit odd don't you think?
I think that transparency is the best policy, especially when it comes to projects that involve the community.
It will be much appreciated if the people behind this project (in this case the person who is in charge of the funds and the availability of info to the public) share all the relevant info regarding fund collection, allocation and so on.
hero member
Activity: 924
Merit: 1000
Hi,
Why does it say in the website that 94.66 BTC were donated while the actual amount of btc that was deposited to the crowdfunding wallet is 40.66666659 BTC? (can be easily seen in blockchain.info)
In addition, what is the time estimate for the end of the crowdfunding?
Thanks.

first address that was used in the initial funding phase isn't included in the total on the current address, i sent to the first address at the beginning of the project , so did many others. dunno where those funds are either thou , but that address isn't included.
hero member
Activity: 500
Merit: 507
Hi,
Why does it say in the website that 94.66 BTC were donated while the actual amount of btc that was deposited to the crowdfunding wallet is 40.66666659 BTC? (can be easily seen in blockchain.info)
In addition, what is the time estimate for the end of the crowdfunding?
Thanks.
legendary
Activity: 938
Merit: 1000
This is an incredibly ambitious project... I like it. I'm not usually one to donate for these types of things, but I see potential in Elastic. Put down .05 Smiley Is there a timeframe as to when the project will go live?

I think the deadline is bitcoin block 425920 which we all try to meet Wink

Oh, ok. So it is just a matter of when all the funding has been donated?

That is about 5 months before bitcoin reaches that block number. Longest ICO ever? Is there any incentive to "donate" now versus waiting?
newbie
Activity: 56
Merit: 0
I would suggest the following change to the NXT scheme.

As we have already discussed, that it's better that the personal raises exponentially (doubles every 7 seconds) rather than linearity (for NXT it increases by the amount of your stake every second), we can be sure that the maximum possible target will be *never* reached later than in 30 minutes.

What if we allow everyone, even those without any stake, to solve PoS blocks once one particular target reaches its highest possible value.
Highest possible value would mean "T=UINT64_MAX" and any other block's PoS hash H is by nature "H<=T".

UINT64?

I was thinking in terms of UINT256, as hashes are 256 bits.  But that's far more precision than is really needed, so there's no problem in using only 64 bits of the hash.  However the doubling rate would be reduced by a factor of 4, i.e., the target would have have to double every 28 seconds instead of every 6.

Quote
To reflect the worst case, accounts that have no stake value, indeed do participate in the PoS, but differently.
Their base_target is 1, and their personal_target also starts with 1, their PoS hash is assumed to be UINT64_MAX, and their personal target is doubling every 7 seconds. If there is at least one account with a stake he will find the block instead, for sure.
Otherwise, after 30 minutes (and not before), an account without stake can generate a block when the target has reached UINT64_MAX.

As I indicated before, I think this is an an incredibly unlikely eventuality, which would mean that the PoS system has failed.  It hardly seems necessary  to implement this.  If you do, then you need to bear in mind that, as Cryptonite stands at the moment, zero-balance accounts are deleted, so if we keep this feature we will have to accept zero-balance PoS blocks from addresses the system has no record of.

We might not want to keep the "delete zero-balance accounts" feature.  For example if we implement a system of capabilities with secondary keys capable of exercising only some of the capabilities of the master key, then we might want to keep this data around even after an account is emptied.
newbie
Activity: 56
Merit: 0
Perhaps I am missing something, but this looks easy to defeat.  If you see an account attempting to do this, reject all their PoS.

My mistake.  It is impossible to defeat, or even detect, other than statistically, in a NXT style PoS scheme, because accounts won't submit proofs on every branch.  Instead, they will try to create a proof on every branch, which will involve meeting a target.  They will only launch the best one they were able to create, where "best" is the one that maximises "probability that my block will succeed on this branch" * "probability that this branch will win out over all the other branches".

This is a problem because it blunts the consensus-building razor.  Stakers are only supposed to support the single branch that they think is best, giving an advantage to the branch favoured by the most stake.  Over time, other stakers, who initially favored a different branch switch to it, and the side chains lose support exponentially.

But if stakes which fail to win their preferred branch can get a free bet on a different one, side chains will lose support more slowly, consequently the "probability that this branch will win out over all the other branch" will even out between the competing branches, causing the stakers to distribute their proofs between the branches more evenly, in a vicious cycle.

Thus far, what I have described isn't an attack as such, more a tragedy of the commons.  It's called "nothing at stake" I guess, because it costs the staker nothing to build a little extra "on the side", unlike in a PoW system, in which resources committed to a side-chain are resources not deployable to the main.

The attack I've seen described in relation to this is just the standard doublespending attack levering the consensus-weakening effect of this practice.

I think my alternative system is resilient to this problem, because there is no lottery, and because collateral steakers have no incentive to vote for any chain other than the main one.

The problem for us is, even if he fails, the SV he "spends" isn't really spent, because it was "spent" on a side chain that is ultimately discarded.  So he can have another go, and another, and another, until he succeeds.  Undecided

I was discussing a different issue, which is similar to the one discussed here in that, yes, side-chain attackers lose nothing if their attack fails, and so have "nothing at stake", but it really isn't the same thing.
hero member
Activity: 630
Merit: 500
@E-K
How do you solve the so called 'Nothing @ Stake' problem if with NXT style POS(i did not much clear about how NXT slove this also)?
Thanks.

What if we allow everyone, even those without any stake, to solve PoS blocks once one particular target reaches its highest possible value.
Highest possible value would mean "T=UINT64_MAX" and any other block's PoS hash H is by nature "H<=T"

A quick google suggests that the "nothing at stake" problem is not every stakeholder failing to submit a block.  PoS has failed if that were ever to happen.  N@S is when everybody or nearly everybody mines on multiple branches.

Perhaps I am missing something, but this looks easy to defeat.  If you see an account attempting to do this, reject all their PoS.

LOL Dazza, you already described "Nothing at Stake" earlier  Wink

The problem for us is, even if he fails, the SV he "spends" isn't really spent, because it was "spent" on a side chain that is ultimately discarded.  So he can have another go, and another, and another, until he succeeds.  Undecided
full member
Activity: 140
Merit: 500
I'm blocking all private messages. Use Bitmessage!
Sorry that I haven’t been online for a while: I will try to come here more often.

I have finally completed the revamp of the FAQ section: it should look at lot nicer now but we still need people to write the content.
Also, the deadline for the admission of donations has been added.
legendary
Activity: 1512
Merit: 1004
A quick google suggests that the "nothing at stake" problem is not every stakeholder failing to submit a block.  PoS has failed if that were ever to happen.  N@S is when everybody or nearly everybody mines on multiple branches.

Oh sorry, then I entirely misinterpreted the meaning of "nothing at stake". Ignore my reply from above.
I found this.
Quote
3. Nothing-at-stake attack - not possible at the moment! Will be possible when a lot of forgers will use multiple-branch forging  to increase profits. Then attacker can contribute to all the chains(some of them e.g. containing a transaction) then start to contribute to one chain only behind the best(containing no transaction) making it winner.  Previous statements on N@S attack made with assumption it costs nothing to contribute to an each fork possible and that makes N@S attack a disaster. In fact, it's not possible at all to contribute to each fork possible, as number of forks growing exponentially with time. So the only strategy for a multibranch forger is to contribute to N best forks. In such scenario attack is possible only within short-range e.g. with 25 confirmations needed 10% attacker can't make an attack. And attack is pretty random in nature, it's impossible to predict whether 2 forks will be within N best forks(from exponentially growing set) for k confirmations. So from our point of view the importance of the attack is pretty overblown.
https://bitcointalksearch.org/topic/m.10152632
hero member
Activity: 560
Merit: 500
I have some doubts here. I'm thinking if Elastic Project (Decentralized Supercomputer as you said) has some relation with Gridcoin, once Gridcoin Project directs the computational power to solve scientific problems, integrated with BOINC (Berkley Open Infrastructure for Network Computing).

What are the Elastic Project improvements, in that case?


Well, Gridcoin is centralized. Let me quote their white paper:

Quote
When users participate in Boinc projects, they are required to join Team Gridcoin (Designating ownership of Boinc Credits). As they perform work on projects, they generate cobblestones, or individual clock cycle credits of work for that project. The BOINC distributed servers share these credits and calculate a Recent Average Credit, or Total Credit Average over 30 days. Gridcoin uses the RAC figure as an indicator of the magnitude of work performed by node-project.

Source: http://www.gridcoin.us/images/gridcoin-white-paper.pdf, Accessed: March, 21st, 2016

So basically, there is a Gridcoin Team on BOINC, you have to join that team and they basically pay you Gridcoins for contributing work to their Team. I think you could very well build that scheme with any other alt coin, while Gridcoin has the advantage that most of these processes are performed automatically). But the Gridcoin Team could as well pay you Bitcoins or any other alt coin for contributing to their team.

Elastic is somewhat different: Here, we have no central authority distributing coins, and we are not relying on any centralized service. Elastic is meant to be entirely distributed and decentralized.

Thanks for the reply, nice project.
full member
Activity: 168
Merit: 100
Any bounty for french translating?

Thanks
legendary
Activity: 1260
Merit: 1168
A quick google suggests that the "nothing at stake" problem is not every stakeholder failing to submit a block.  PoS has failed if that were ever to happen.  N@S is when everybody or nearly everybody mines on multiple branches.

Oh sorry, then I entirely misinterpreted the meaning of "nothing at stake". Ignore my reply from above.
newbie
Activity: 56
Merit: 0
@E-K
How do you solve the so called 'Nothing @ Stake' problem if with NXT style POS(i did not much clear about how NXT slove this also)?
Thanks.

What if we allow everyone, even those without any stake, to solve PoS blocks once one particular target reaches its highest possible value.
Highest possible value would mean "T=UINT64_MAX" and any other block's PoS hash H is by nature "H<=T"

A quick google suggests that the "nothing at stake" problem is not every stakeholder failing to submit a block.  PoS has failed if that were ever to happen.  N@S is when everybody or nearly everybody mines on multiple branches.

Perhaps I am missing something, but this looks easy to defeat.  If you see an account attempting to do this, reject all their PoS.
legendary
Activity: 868
Merit: 1000
any bounty for translating? thanks
legendary
Activity: 1260
Merit: 1168
I have some doubts here. I'm thinking if Elastic Project (Decentralized Supercomputer as you said) has some relation with Gridcoin, once Gridcoin Project directs the computational power to solve scientific problems, integrated with BOINC (Berkley Open Infrastructure for Network Computing).

What are the Elastic Project improvements, in that case?


Well, Gridcoin is centralized. Let me quote their white paper:

Quote
When users participate in Boinc projects, they are required to join Team Gridcoin (Designating ownership of Boinc Credits). As they perform work on projects, they generate cobblestones, or individual clock cycle credits of work for that project. The BOINC distributed servers share these credits and calculate a Recent Average Credit, or Total Credit Average over 30 days. Gridcoin uses the RAC figure as an indicator of the magnitude of work performed by node-project.

Source: http://www.gridcoin.us/images/gridcoin-white-paper.pdf, Accessed: March, 21st, 2016

So basically, there is a Gridcoin Team on BOINC, you have to join that team and they basically pay you Gridcoins for contributing work to their Team. I think you could very well build that scheme with any other alt coin, while Gridcoin has the advantage that most of these processes are performed automatically). But the Gridcoin Team could as well pay you Bitcoins or any other alt coin for contributing to their team.

Elastic is somewhat different: Here, we have no central authority distributing coins, and we are not relying on any centralized service. Elastic is meant to be entirely distributed and decentralized.
legendary
Activity: 1260
Merit: 1168
@E-K
How do you solve the so called 'Nothing @ Stake' problem if with NXT style POS(i did not much clear about how NXT slove this also)?
Thanks.

I would suggest the following change to the NXT scheme.

As we have already discussed, that it's better that the personal raises exponentially (doubles every 7 seconds) rather than linearity (for NXT it increases by the amount of your stake every second), we can be sure that the maximum possible target will be *never* reached later than in 30 minutes.

What if we allow everyone, even those without any stake, to solve PoS blocks once one particular target reaches its highest possible value.
Highest possible value would mean "T=UINT64_MAX" and any other block's PoS hash H is by nature "H<=T".

To reflect the worst case, accounts that have no stake value, indeed do participate in the PoS, but differently.
Their base_target is 1, and their personal_target also starts with 1, their PoS hash is assumed to be UINT64_MAX, and their personal target is doubling every 7 seconds. If there is at least one account with a stake he will find the block instead, for sure.
Otherwise, after 30 minutes (and not before), an account without stake can generate a block when the target has reached UINT64_MAX.

Right now, regular accounts calculate their current target value like this:

Code:
       double balance = getCurrentStakeBalance();
double personal_target = base_target * balance;
        if(personal_target < base_target || personal_target > max_target)
            personal_target = max_target;
    
        if(personal_target != max_target){
            // Now increase exponentially so that target doubles every 7 seconds. This ensures that even if target is 1 (worst case) a block will be found after 30 minutes max.
            double factor = pow(2, (1.0/7.0)*time_diff_to_last_block);
            
            // TODO, correct to handle integer overflow this way?
            double new_target = personal_target * factor;
            if(new_target                personal_target = max_target;
            }else{
                personal_target = new_target;  
            }
        }

we would need a change like this (see the else branch that calculated 0-stake target value starting from 1 and so reflecting the worst case. Furthermore, it can only stake once the worst case itself has been reached, i.e., die target has gone past uint64_max):

Code:
       double balance = getCurrentStakeBalance();
        if(balance > 0){
            double personal_target = base_target * balance;
            if(personal_target < base_target || personal_target > max_target)
                personal_target = max_target;
        
            if(personal_target != max_target){
                // Now increase exponentially so that target doubles every 7 seconds. This ensures that even if target is 1 (worst case) a block will be found after 30 minutes max.
                double factor = pow(2, (1.0/7.0)*time_diff_to_last_block);
                
                // TODO, correct to handle integer overflow this way?
                double new_target = personal_target * factor;
                if(new_target                    personal_target = max_target;
                }else{
                    personal_target = new_target;  
                }
            }
        }
        else{
            double personal_target = 1;
            double factor = pow(2, (1.0/7.0)*time_diff_to_last_block);
            double new_target = personal_target * factor;
            if(new_target                 personal_target = max_target;
            }else{
                personal_target = 0;  // Only if gone past max_target balance=0 account can stake
            }
        }
legendary
Activity: 1512
Merit: 1004
@E-K
How do you solve the so called 'Nothing @ Stake' problem if with NXT style POS(i did not much clear about how NXT slove this also)?
Thanks.
hero member
Activity: 980
Merit: 502
Hi,

Will it be possible to send BTC from Coinbase Account to Elastic project?
Or do I need to transfer first the BTC from coinbase to a wallet (example blockchain.info) then to Elastic project (to get the private Key)
The address to send will be 3Q2aKEGFTKDw3hghsBifXp39CZVMtZukxn correct?
Thanks,
Jump to: