Bitcoin Forum
June 14, 2024, 11:11:20 AM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Explanation needed on Proof of Idle - Optimal Mining Strategy  (Read 2194 times)
deephouse (OP)
Sr. Member
****
Offline Offline

Activity: 280
Merit: 250


View Profile
July 09, 2014, 03:18:54 AM
 #1

Hi there,

I just cam across this concept on Proof of Idle. I am not technical enough to grasp the concept.

Can someone explain how this would work.

Here are some links:

https://docs.google.com/file/d/0ByJFkp_AfSQuZ1JmbnBGY2lIVG8/edit?pli=1
https://www.youtube.com/watch?v=QN2TPeQ9mnA&sns=tw

Thanks in advance.


str4wm4n
Legendary
*
Offline Offline

Activity: 1611
Merit: 1001


View Profile
July 09, 2014, 03:40:00 AM
 #2

thanks for the link, sounds interesting
hashman
Legendary
*
Offline Offline

Activity: 1264
Merit: 1008


View Profile
July 09, 2014, 04:31:42 AM
 #3

Hi there,

I just cam across this concept on Proof of Idle. I am not technical enough to grasp the concept.

Can someone explain how this would work.

Here are some links:

https://docs.google.com/file/d/0ByJFkp_AfSQuZ1JmbnBGY2lIVG8/edit?pli=1
https://www.youtube.com/watch?v=QN2TPeQ9mnA&sns=tw

Thanks in advance.



Interesting.  This type of mining collusion seems more applicable to chains where the reward is tied to difficulty (e.g. PPC, XPM).  This kind of collusion on mainnet bitcoin appears to me as a very unstable position in game theory space as non-colluding miners will be even more incentivised to do real hashing once the collusion begins.
jjdub7
Hero Member
*****
Offline Offline

Activity: 938
Merit: 502


View Profile
July 09, 2014, 04:44:01 AM
 #4

It does make sense, and it specifically holds gravity due to the null marginal product of labor argument (i.e. "you", the miner do nothing to add to the mining process's output, so you wouldn't specifically be losing anything by scaling your mining down). 

If I take it correctly, you're essentially hardwiring your daemon (and therefore structuring the entire network) to hold collateral proportional to the expected coinbase payout that gets sent out if you cheat and try to mine beyond your share of what the network is capable of.  It would scale mining back down, yielding the same rewards, but would nearly annihilate the electric consumption/cost.  Even if the test (I like "sprint") interval had to be as long as an hour to mitigate statistical variation, collectively the network would only consume 1/24th of the electric that it does now. 

It's a win-win across the mining community (theoretically even to mining manufacturers, since you'd still need to "show your guns" during the test interval).

Economic benefits I can foresee:
- less depreciation of mining hardware (run only a fraction of what it is currently run at, and overclocking becomes affordable again/will have less of a rough impact on hardware)
- higher margins on mining from less electricity spent
franky1
Legendary
*
Offline Offline

Activity: 4256
Merit: 4521



View Profile
July 09, 2014, 05:28:44 AM
 #5

FLAWED

how to work around and trick the system:
imagine this

at 11:58pm GhASH turns off 50% of its miners. then puts the one priv key to the 50% of its active miners

at midnight, the challenge begins, 30 seconds to prove theres a equal amount of active hashing

there done.. 30 seconds later the system thinks mining will be done at half the speed.

now all ghash has to do is bring their hidden 50% of terrahash miners online (turned off at 11:58) to ensure no one else gets a bigger slice of the pie, while laughing at other people that are trying to stay at half speed to stay to their contracted terms they agreed at eligius and btcguild etc.

meaning if before 11:58 GHASH.IO was getting 12btc, eligius was getting 8btc and Guild was getting 4btc, unknown 1btc.. after midnight ghash.io is getting 18.5btc eliguis 4btc(less after paying contracts) Guild 2btc(less after paying contracts), unknown 0.5btc. all because while eligius, Guild, unknown are in contracts.. ghash.io are not.. they are laughing at the others while running back at full steam but 00:01AM knowing if the other pools and miners ramped up their rigs, they would end up paying higher contract fee's to the non miners

miners are not angry about mining as the security of bitcoin needs a difficult hash to secure it. they are just angry that they are not getting a slice of the reward.

its not a mining problem, its a selfishness problem. people want "free money" and all of these idea's about getting bitcoins for no work at all are more selfish then GHASH getting big rewards for all their hard work and investment.

GHASH is not simply going to 'collude' with 1000 lazy arsed people and say if you do nothing but sit in your basement ill give you half my reward. they would rather get 1000 raspberry pi's to just sit there, thus keeping their reward. or other methods of cheating the system such as description above

why would anyone that is actually spending money and investing in hardware give away reward to lazy selfish basement dwellers that dont want to work..

MAN UP GUYS if you want 12btc every 10 minutes, roll up your socks and do some work!!

I DO NOT TRADE OR ACT AS ESCROW ON THIS FORUM EVER.
Please do your own research & respect what is written here as both opinion & information gleaned from experience. many people replying with insults but no on-topic content substance, automatically are 'facepalmed' and yawned at
jjdub7
Hero Member
*****
Offline Offline

Activity: 938
Merit: 502


View Profile
July 09, 2014, 06:32:40 AM
 #6

True - the mining network in theory was supposed to be much more fragmented to prevent this kind of attack.  

However, this PoI scheme could still work:

If every miner dialed their hashrate down to 51% (maybe something like +2 standard deviations to be safe/compensate for overclock potential and ability to add hashing power with more equipment) during the normal, non-test period, then shouldn't this prevent the possibility of the attack you describe?  It could still save >50% electricity due to people having no incentive to overclock.  It would also behoove possible attackers to do this as well to save their equipment from depreciating (especially after said depreciation is already on the books).

It only becomes more feasible as the size of the network grows, and even more so as we near the next block reward halving (large scale operations won't want to put in capex if current price is maintained).
franky1
Legendary
*
Offline Offline

Activity: 4256
Merit: 4521



View Profile
July 09, 2014, 07:08:55 AM
 #7

True - the mining network in theory was supposed to be much more fragmented to prevent this kind of attack.  

However, this PoI scheme could still work:

If every miner dialed their hashrate down to 51% (maybe something like +2 standard deviations to be safe/compensate for overclock potential and ability to add hashing power with more equipment) during the normal, non-test period, then shouldn't this prevent the possibility of the attack you describe?  It could still save >50% electricity due to people having no incentive to overclock.  It would also behoove possible attackers to do this as well to save their equipment from depreciating (especially after said depreciation is already on the books).

It only becomes more feasible as the size of the network grows, and even more so as we near the next block reward halving (large scale operations won't want to put in capex if current price is maintained).

lets say electric was a round number of 100, if everyone (using my example in last post) at midnight halved their miners, so its now 50 electric use. eligius, guild and unknown are now under contract to stay at their 50. now ghash only has to turn on their other rigs to 75 to eat half of eligius,guild,unknowns reward.

thus ghash.io is saving electric buy eligius,guild,unknown are getting less reward and also paying out contracts to lazy non miners.

as for jjdub7 idea:
you cant prevent hashpower being added after the midnight test. otherwise, all them people that wake up in the morning and turn their miners on, or new miners just wanting to start mining.. they all have to be awake for a 30 second period just to be able to mine during the day? what about people that get glitches during the day, oh no they have to lose out for the rest of the day and wait till midnight to get back in.

stake and idle are just selfish idea's for the lazy people that dont want to do any work.

this idea will last 1 day before its back to business as usual.

I DO NOT TRADE OR ACT AS ESCROW ON THIS FORUM EVER.
Please do your own research & respect what is written here as both opinion & information gleaned from experience. many people replying with insults but no on-topic content substance, automatically are 'facepalmed' and yawned at
jjdub7
Hero Member
*****
Offline Offline

Activity: 938
Merit: 502


View Profile
July 09, 2014, 07:42:07 AM
 #8

True - the mining network in theory was supposed to be much more fragmented to prevent this kind of attack.  

However, this PoI scheme could still work:

If every miner dialed their hashrate down to 51% (maybe something like +2 standard deviations to be safe/compensate for overclock potential and ability to add hashing power with more equipment) during the normal, non-test period, then shouldn't this prevent the possibility of the attack you describe?  It could still save >50% electricity due to people having no incentive to overclock.  It would also behoove possible attackers to do this as well to save their equipment from depreciating (especially after said depreciation is already on the books).

It only becomes more feasible as the size of the network grows, and even more so as we near the next block reward halving (large scale operations won't want to put in capex if current price is maintained).

lets say electric was a round number of 100, if everyone (using my example in last post) at midnight halved their miners, so its now 50 electric use. eligius, guild and unknown are now under contract to stay at their 50. now ghash only has to turn on their other rigs to 75 to eat half of eligius,guild,unknowns reward.

thus ghash.io is saving electric buy eligius,guild,unknown are getting less reward and also paying out contracts to lazy non miners.

as for jjdub7 idea:
you cant prevent hashpower being added after the midnight test. otherwise, all them people that wake up in the morning and turn their miners on, or new miners just wanting to start mining.. they all have to be awake for a 30 second period just to be able to mine during the day? what about people that get glitches during the day, oh no they have to lose out for the rest of the day and wait till midnight to get back in.

stake and idle are just selfish idea's for the lazy people that dont want to do any work.

this idea will last 1 day before its back to business as usual.

What I'm saying is that you have to think about the scale mining is expected to reach.  Let's assume that by the time we're hitting the next reward half (2017), we're floating at around 1000 PH/s on the network (by 2017, a realistic number).  Let's set an idle hashrate at 60% of capacity - 600 PH/s, which could be sent over the network at random intervals to avoid the issue of locking the timing to a specific time zone (to address your first point).

Now let's say there's a potential bad actor controlling 40% of the network's maximum capacity - 400 TH/s, PoI hashrate 240 PH/s.  With the network capacity this large, with their test hardware they could potentially pull 400 of 760 max PH (52.6%) of the network by cheating and building their own hidden chain (more by adding hardware, but at that scale its just not feasible).  The odds that they'd be able to mine 120 blocks in a forked chain and confirm before everyone else realized would be astronomical - they have to have what, 200-some PH/s on reserve?  If they had that much hidden hashing power, why not just attempt a blunt 51% attack?

Another mitigation strategy that would probably be less than desirable to most here on the forum would be to have a centralized authority hold reserve hashing power (a kind of failsafe).  While many would argue that this defeats the entire purpose of Bitcoin due to reliance on a centralized authority, keep in mind that we're talking about BTC being valuated at a price so high that allowing the blockchain to collapse in a 51% attack would have catastrophic effects on world economies as the markets fled from billions of dollars in wealth.  Not much of an incentive for the regulator to allow the blockchain to fail.
franky1
Legendary
*
Offline Offline

Activity: 4256
Merit: 4521



View Profile
July 09, 2014, 08:18:00 AM
 #9


What I'm saying is that you have to think about the scale mining is expected to reach.  Let's assume that by the time we're hitting the next reward half (2017), we're floating at around 1000 PH/s on the network (by 2017, a realistic number).  Let's set an idle hashrate at 60% of capacity - 600 PH/s, which could be sent over the network at random intervals to avoid the issue of locking the timing to a specific time zone (to address your first point).

Now let's say there's a potential bad actor controlling 40% of the network's maximum capacity - 400 TH/s, PoI hashrate 240 PH/s.  With the network capacity this large, with their test hardware they could potentially pull 400 of 760 max PH (52.6%) of the network by cheating and building their own hidden chain (more by adding hardware, but at that scale its just not feasible).  The odds that they'd be able to mine 120 blocks in a forked chain and confirm before everyone else realized would be astronomical - they have to have what, 200-some PH/s on reserve?  If they had that much hidden hashing power, why not just attempt a blunt 51% attack?

Another mitigation strategy that would probably be less than desirable to most here on the forum would be to have a centralized authority hold reserve hashing power (a kind of failsafe).  While many would argue that this defeats the entire purpose of Bitcoin due to reliance on a centralized authority, keep in mind that we're talking about BTC being valuated at a price so high that allowing the blockchain to collapse in a 51% attack would have catastrophic effects on world economies as the markets fled from billions of dollars in wealth.  Not much of an incentive for the regulator to allow the blockchain to fail.

using your example
1000 PH/s normal speds before idle protocol in place - bad actor has 400PH/s

at 11:58 "bad actor" hides 200ph..  then at midnight, everyone is doing the test and forming the contracts to pay idlers... "bad actor" contracts thmselves (the 200ph now idle)..

everyone else EG eligius, guild, unknown have dialed down theirs too and formed contracts with lazy non worker wannabe's.

now then.. the 30 second test is done. the time is now 00:01AM

the network is now 500PH coz everyone is working at half the hash

time 00:02AM, "bad actor" turns back on 100PH/s, so (was 200ph now 300ph) meaning was 40% of network, now 60% of network and still under the 600PH limit.

reward wise "bad actor" is getting more bitcoins per block meaning eligius reward has decreased. plus eligius needs to pay contracts out too,
yet "bad actor", because they contracted themselves.. they dont care if they breach contract as the amount in the contract still goes to them.

again this plan is NOT about petahashes, not about trying to make actual active miners have a fair share. its purely about making those that dont mine get free money.

proof if idle protocol is a basement dwelling freeloader's wet dream.. just like proof of stake. it will not help decentralise mining AT ALL. decentralising the mining is NOT the hidden agenda here

I DO NOT TRADE OR ACT AS ESCROW ON THIS FORUM EVER.
Please do your own research & respect what is written here as both opinion & information gleaned from experience. many people replying with insults but no on-topic content substance, automatically are 'facepalmed' and yawned at
tdryja
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
July 09, 2014, 09:08:07 AM
 #10

Hi - I'm the guy who gave the talk.  Just made an account here to reply.

Franky1- I seem to have touched a nerve.  I'm hesitant to address your posts at all (referring to this idea as "a basement dwelling freeloader's wet dream" makes it clear that this isn't any kind of rational debate) but will optimistically respond to the post to the extent possible.

I don't understand your "bad actor" scenario.  There is no reason for a miner to "contract with themselves", because the contract transactions are not made public, and don't appear on the blockchain until one of the two nLockTimes becomes valid.  Why would you send coins to yourself?  Nobody sees the proof of power responses except the node creating the bounty.

Also, if smaller miners who were hoping to idle their hash power and receive a bounty see that the network is running at a high rate, they will assume the bounties will not be fulfilled and adjust their hash rates to the optimum without a bounty payout.  So if at 00:03 am, some mining pool starts running full blast, well, everyone can see that, and the whole PoI contract is off, mining continues as before, and the bounties are returned to the sender a few days later.  The argument of this talk is that this is not an optimal choice for a large miner to make.  Granted, many miners are not rational and can try to do dumb things.  This doesn't address that, and assumes rational actors trying to maximize their bitcoin income.

Sorry if this wasn't clear in the talk, I'll try to have a nice PDF of it out soon.  The slides linked on the youtube page explain most of it though.

This does not help with decentralization at all in fact.  I'm not advocating this idea, I'm just saying that my research has indicated that it is possible, optimal, and likely to be inevitable if the right conditions are met (mainly a low opex profitability and somewhat stable network with large mining entities).  Miners would still need to have equipment to pose credible threats to mine, but would not have to mine at full capacity.

(Also this should possibly be moved to Development & Technical Discussion, but I didn't create the thread.)

I'll post responses tomorrow if people have other questions.  Thanks for the interest!
jjdub7
Hero Member
*****
Offline Offline

Activity: 938
Merit: 502


View Profile
July 09, 2014, 11:26:56 AM
 #11


What I'm saying is that you have to think about the scale mining is expected to reach.  Let's assume that by the time we're hitting the next reward half (2017), we're floating at around 1000 PH/s on the network (by 2017, a realistic number).  Let's set an idle hashrate at 60% of capacity - 600 PH/s, which could be sent over the network at random intervals to avoid the issue of locking the timing to a specific time zone (to address your first point).

Now let's say there's a potential bad actor controlling 40% of the network's maximum capacity - 400 TH/s, PoI hashrate 240 PH/s.  With the network capacity this large, with their test hardware they could potentially pull 400 of 760 max PH (52.6%) of the network by cheating and building their own hidden chain (more by adding hardware, but at that scale its just not feasible).  The odds that they'd be able to mine 120 blocks in a forked chain and confirm before everyone else realized would be astronomical - they have to have what, 200-some PH/s on reserve?  If they had that much hidden hashing power, why not just attempt a blunt 51% attack?

Another mitigation strategy that would probably be less than desirable to most here on the forum would be to have a centralized authority hold reserve hashing power (a kind of failsafe).  While many would argue that this defeats the entire purpose of Bitcoin due to reliance on a centralized authority, keep in mind that we're talking about BTC being valuated at a price so high that allowing the blockchain to collapse in a 51% attack would have catastrophic effects on world economies as the markets fled from billions of dollars in wealth.  Not much of an incentive for the regulator to allow the blockchain to fail.

using your example
1000 PH/s normal speds before idle protocol in place - bad actor has 400PH/s

at 11:58 "bad actor" hides 200ph..  then at midnight, everyone is doing the test and forming the contracts to pay idlers... "bad actor" contracts thmselves (the 200ph now idle)..

everyone else EG eligius, guild, unknown have dialed down theirs too and formed contracts with lazy non worker wannabe's.

now then.. the 30 second test is done. the time is now 00:01AM

the network is now 500PH coz everyone is working at half the hash

time 00:02AM, "bad actor" turns back on 100PH/s, so (was 200ph now 300ph) meaning was 40% of network, now 60% of network and still under the 600PH limit.

reward wise "bad actor" is getting more bitcoins per block meaning eligius reward has decreased. plus eligius needs to pay contracts out too,
yet "bad actor", because they contracted themselves.. they dont care if they breach contract as the amount in the contract still goes to them.

again this plan is NOT about petahashes, not about trying to make actual active miners have a fair share. its purely about making those that dont mine get free money.

proof if idle protocol is a basement dwelling freeloader's wet dream.. just like proof of stake. it will not help decentralise mining AT ALL. decentralising the mining is NOT the hidden agenda here


First, thanks for joining, Thad.  You've come up with a pretty interesting concept.

Franky, my man.  Just to be clear, you're not physically mining gold here, so I don't understand where you're drawing the connection between individuals with less hashing power and an inferior work ethic.  This schematic is just a solution to a general game theory problem (where the optimal Nash solution is always to collude) applied to mining.

In order for bad actors to cheat the system, they have to mine on a hidden chain (correct me if I'm wrong Thad).  No basement dweller is solo-mining a block here.  I use the 1000 PH/s scale because it would be financially idiotic for a mining entity to throw down that much money for the 100 PH/s (or the full 200 even) they'd use to cheat - not to mention running at the full 400 PH/s would cost them an exorbitant amount of extra electricity - only to see a marginal benefit as their contracts from other miners are lost.  They'd be better off joining the contract pools and colluding to idle...

Everyone still gets what they're proportionally entitled to with a larger margin.  Plus, you're not fitting any cheat-worthy sum of hashing power in a basement...
jjdub7
Hero Member
*****
Offline Offline

Activity: 938
Merit: 502


View Profile
July 09, 2014, 11:35:16 AM
 #12

Thad - I've draw so many analogies between the mining network and the fiat banking system, and it gets more fascinating every time I go back to it.  

The minimum idling hashrate I described in my earlier posts (cutting down the margin of extra hashrate an attacker could hide and then muster for an attack) runs in a manner that's functionally similar to the fractional reserves that banks are required to keep on hand (which they can leverage to create the money multiplier effect through issuing loans).  I'd been wondering how that might map to a mining model (proof-of-X) for a while now, cool.
franky1
Legendary
*
Offline Offline

Activity: 4256
Merit: 4521



View Profile
July 09, 2014, 02:29:35 PM
Last edit: July 09, 2014, 02:41:32 PM by franky1
 #13

I don't understand your "bad actor" scenario.  There is no reason for a miner to "contract with themselves", because the contract transactions are not made public, and don't appear on the blockchain until one of the two nLockTimes becomes valid.  Why would you send coins to yourself?  Nobody sees the proof of power responses except the node creating the bounty.

i put the idea into many many scenarios (most not wrote down) as im always personally and professionally into seeing if things are feasible. so this is not a personal attack on you. i actually liked your video and thought you were good.. but this is about the protocol

now, as for why 'bad actor' would form a contract. well in the first post i scenario'd that GHash (being the bad actor) just wouldnt even bother entering into a contract. and just fool the system switing off units then switcing on, but then i thought that for the PoI protocol to even have a chance to work, it would have to be coded into everyones mining software that everyone had to be in a contract.. else who would even bother.. so thats why i envisioned the bad actor forming a contract with itself, just to cover the bases that all miners had to have a contract to be able to mine.

Also, if smaller miners who were hoping to idle their hash power and receive a bounty see that the network is running at a high rate, they will assume the bounties will not be fulfilled and adjust their hash rates to the optimum without a bounty payout.  So if at 00:03 am, some mining pool starts running full blast, well, everyone can see that, and the whole PoI contract is off, mining continues as before, and the bounties are returned to the sender a few days later.  
in reply to jjdub7 also:
but this can also be faked. lets say someone wants to be an idler.. they set up their miners for the test. make the test address. and then they pretend to be in idle. yet, they have switched their miners over to a different IP address a different pool, a different receive address and mined there. thus they get a reward from the contract from one person that they tested with on eligius by pretending to idle. and they get part of the block rewards by actually mining on ghash or btcguild. without the contract partner knowing. after all the address on eligius that is attached to the contract is not showing any rewards or hashpower in the stats Cheesy

Sorry if this wasn't clear in the talk, I'll try to have a nice PDF of it out soon.  The slides linked on the youtube page explain most of it though.

you seem smart, well educated etc, all i would say is you do seem to like your graphs and numbers. but in many cases statistics on a graph are not everything, and normally just theory. put things into real life case scenarios too, experiment with actual examples. EG with those graphs you made in the video. before making the graphs did you ever put 2 computers side by side and set both to mine.. then.. one to mine-one to idle.. or then.. rev up the threadconcurrency on one- and have low thread concurrency on the other.. and mine a crap altcoin with low hashrate to see your idea in action?


This does not help with decentralization at all in fact.  I'm not advocating this idea, I'm just saying that my research has indicated that it is possible, optimal, and likely to be inevitable if the right conditions are met (mainly a low opex profitability and somewhat stable network with large mining entities).  Miners would still need to have equipment to pose credible threats to mine, but would not have to mine at full capacity.

(Also this should possibly be moved to Development & Technical Discussion, but I didn't create the thread.)

I'll post responses tomorrow if people have other questions.  Thanks for the interest!

don't get me wrong we do need people like you thinking of solutions.. just dont be afraid when others feasibility test them.. usually people find it helpful as it makes you realise some flaws that need to be worked out, or helps you save time by not working weeks on an idea that could be spent on a better or different idea.

in my eyes there is no problem with POW.. the cost of mining going up is the reasons miners refuse to sell for $2 and only want something over $500 (above their costs).. if gold mining for instance still only cost a pickaxe and a days labour to mine 5 ounces of gold.. then today 5 ounces of gold would be on the market for a hell of alot less then it is now..

I DO NOT TRADE OR ACT AS ESCROW ON THIS FORUM EVER.
Please do your own research & respect what is written here as both opinion & information gleaned from experience. many people replying with insults but no on-topic content substance, automatically are 'facepalmed' and yawned at
tokyopotato
Legendary
*
Offline Offline

Activity: 812
Merit: 1000


View Profile
July 16, 2014, 06:57:37 AM
 #14

Thanks for the discussion guys, very helpful to understanding.  I didn't finish thad's presentation yet, but I am interested in his theories and also appreciate the responses from franky1 on the subject.
fran2k
Hero Member
*****
Offline Offline

Activity: 784
Merit: 500


View Profile WWW
July 16, 2014, 10:17:47 AM
 #15

Watching, thanks.
aTg
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000



View Profile
October 17, 2014, 02:44:12 PM
Last edit: October 17, 2014, 02:54:49 PM by aTg
 #16

We hope news of tdryja, I would like to participate in the development of this concept, think of a way to put into practice the Idle miners, a pool PoW & PoI coexisting two types of miners, the reward of which mining PoW be distributed to PoI miners, this can be done also with the concept of p2pool what I would do more interesting still.
sandykho47
Sr. Member
****
Offline Offline

Activity: 252
Merit: 251

Knowledge its everything


View Profile
October 17, 2014, 03:04:16 PM
 #17

I just the on google drive  Smiley
Too bad i have slow connection, so i just see about 20 pages
You should make .pdb / .epub

But, your idea is still better than PoS / PoB
And i think you need to combine PoI with other else (PoW / PoS)

And, your idea is brilliant  Cheesy

Kemampuanku Tidak semua orang memiliki dan dapat melakukannya . Tidak memakan kaum sendiri . dan mempunyai kode etik yang tidak masuk akal.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!