Bitcoin Forum
June 20, 2019, 02:25:51 AM *
News: Latest Bitcoin Core release: 0.18.0 [Torrent] (New!)
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 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 ... 346 »
  Print  
Author Topic: [ANN][XEL] Elastic Project - The Decentralized Supercomputer  (Read 449642 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: 1274
Merit: 1160



View Profile
March 21, 2016, 07:30:33 AM
 #201

@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){
                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){  // just the integer overflow handler
                    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){ // just the integer overflow handler
                 personal_target = max_target;
            }else{
                personal_target = 0;  // Only if gone past max_target balance=0 account can stake
            }
        }
1560997551
Hero Member
*
Offline Offline

Posts: 1560997551

View Profile Personal Message (Offline)

Ignore
1560997551
Reply with quote  #2

1560997551
Report to moderator

0% MINING FEES FOR THE NEXT MONTH. GET PAID IN BTC, ETH, XMR or RVN.

www.cudominer.com Learn More
Easily run CudoOS from a USB flash drive.
Designed for rigs. Manage your mining remotely from Cudo Console.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Evil-Knievel
Legendary
*
Offline Offline

Activity: 1274
Merit: 1160



View Profile
March 21, 2016, 07:55:18 AM
 #202

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.
aleksand
Hero Member
*****
Offline Offline

Activity: 854
Merit: 1000


https://www.cryptocarz.io/


View Profile
March 21, 2016, 10:12:42 AM
 #203

any bounty for translating? thanks

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

   ▄██████▄  ▐███████▄  ██▌   ▄██  ███████▄  █████████  ▄██████▄    ▄██████▄     █████    ▐███████▄  ██████████
  ███▀  ▀██  ███   ███  ▐██ ▄███▀ ▐██▀  ▀██▌   ▐██▌    ███▀  ▀██▌  ███▀  ▀██    ███▀██    ███   ███        ▄██▀
 ▐██▌       ▐██▌  ▄██▀   █████▀   ███   ▄██    ███    ▐██▌   ▐██▌ ▐██▌         ███  ██   ▐██▌  ▄██▀      ▄███▀
 ███        ███████▀     ▐██▌    ▐███████▀    ▐██▌    ███    ███  ███         ███   ██   ███████▀      ▄███▀  
▐██▌   ▄▄▄ ▐██▌ ▐██▌     ███     ███          ███    ▐██▌   ▐██▌ ▐██▌   ▄▄▄  █████████  ▐██▌ ▐██▌    ▄███▀    
 ███▄▄███▀ ███   ███    ▐██▌    ▐██▌         ▐██▌     ███▄▄▄███   ███▄▄███▀ ███▌    ██  ███   ███  ▄████▄▄▄▄▄▄
  ▀▀▀▀▀▀   ▀▀▀   ▀▀▀    ▀▀▀     ▀▀▀          ▀▀▀       ▀▀▀▀▀▀▀     ▀▀▀▀▀▀   ▀▀▀     ▀▀  ▀▀▀   ▀▀▀  ▀▀▀▀▀▀▀▀▀▀ 
.The future of racing is now.
.THE WORLD'S FIRST BLOCKCHAIN-ENABLED VR RACING EXPERIENCE.
.▞ 

    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
            ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄               
 ▄▄▄▄▄▄██████▄▄   ▄█     ▄▄  ▀▀█▄            
▐█████████████████████████████████████▄▄▄    
█████▀ ▄ ▀███████████████████████▀▀▀███████▄ 
▀███▌ ███ ▐█████████████████████ ▄█▄ ████████▌
  ▀▀█▄ ▀ ▄█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▄ ▀ ▄█▀▀▀▀▀▀▀
     ▀▀▀▀▀                      ▀▀▀▀▀        
..BUY ◣   BUILD ◣   SHOW ◣   RACE ◣ 
TELEGRAM
REDDIT
BOUNTY
TWITTER
MEDIUM
ANN THREAD
Dazza
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
March 21, 2016, 11:12:41 AM
 #204

@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.
Evil-Knievel
Legendary
*
Offline Offline

Activity: 1274
Merit: 1160



View Profile
March 21, 2016, 11:18:05 AM
 #205

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.
Ghoom
Full Member
***
Offline Offline

Activity: 170
Merit: 100


View Profile
March 21, 2016, 11:28:39 AM
 #206

Any bounty for french translating?

Thanks
deadpoolx
Hero Member
*****
Offline Offline

Activity: 560
Merit: 500



View Profile
March 21, 2016, 12:43:01 PM
 #207

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.
allwelder
Legendary
*
Offline Offline

Activity: 1498
Merit: 1000



View Profile
March 21, 2016, 12:54:40 PM
 #208

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://bitcointalk.org/index.php?topic=897488.msg10152632#msg10152632
Lannister
Full Member
***
Offline Offline

Activity: 140
Merit: 500


I'm blocking all private messages. Use Bitmessage!


View Profile
March 21, 2016, 01:09:48 PM
 #209

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.

No, I will not disclose my real name on the Internet. The very simple reason I’m anonymous is so that I can talk freely about a free web. One mistake people often make is having the faulty assumption that knowing my real name or my association with a respected person, group or organization might get them to trust me more. In fact, I have no authority here. Elastic Project is a loosely associated group of developers which constantly changes over time. If you prefer projects with a more centralized structure, then please move on. Specifically, I kindly ask you to refrain from any messages that try to convince me of the contrary. My time is too valuable to be wasted with the same discussion again and again.
scam confirmed
Hero Member
*****
Offline Offline

Activity: 630
Merit: 500


View Profile WWW
March 21, 2016, 05:16:48 PM
 #210

@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

Dazza
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
March 21, 2016, 11:33:14 PM
 #211

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.

Quote
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

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.
Dazza
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
March 21, 2016, 11:59:35 PM
 #212

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.
andyatcrux
Legendary
*
Offline Offline

Activity: 938
Merit: 1000



View Profile
March 22, 2016, 12:47:18 AM
 #213

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?
mr.coinzy
Hero Member
*****
Offline Offline

Activity: 504
Merit: 507


For XEL tips: XEL-EFWU-3V2F-4REL-7PQMT


View Profile
March 22, 2016, 12:54:59 AM
 #214

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.
jibble
Hero Member
*****
Offline Offline

Activity: 924
Merit: 1000


View Profile
March 22, 2016, 01:06:00 AM
 #215

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.
mr.coinzy
Hero Member
*****
Offline Offline

Activity: 504
Merit: 507


For XEL tips: XEL-EFWU-3V2F-4REL-7PQMT


View Profile
March 22, 2016, 01:41:43 AM
 #216

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.
Sam123
Hero Member
*****
Offline Offline

Activity: 980
Merit: 502


View Profile
March 22, 2016, 04:42:21 AM
 #217

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,
Bgjjj2016
Sr. Member
****
Offline Offline

Activity: 448
Merit: 250

Ben2016


View Profile
March 22, 2016, 05:34:48 AM
 #218

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

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
dulinxu
Sr. Member
****
Offline Offline

Activity: 363
Merit: 250


View Profile
March 22, 2016, 06:27:26 AM
 #219

are you joking?  The 22000 blocks time left, it is abou 150 days!!!

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

Activity: 1701
Merit: 1023

I thought we all equal -_-


View Profile
March 22, 2016, 06:56:39 AM
 #220

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.


good idea, might as well make all the addresses and amounts that have been raised so far public. I too sent my money during the initial first week Smiley

EYE




██████████

████
████
█████████
███████
███████
█████
█████████
█████████
BOOT
   Online Mining Hardware Store   
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
Industrial-Grade USB HubsBTC/LTC MinersPower SuppliesAdapter Cables

Like us on Facebook
Follow us on Twitter
Contact Us Now
Pages: « 1 2 3 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 ... 346 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!