Bitcoin Forum
April 27, 2024, 12:17:36 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: Could Mining Be Useful?  (Read 3674 times)
cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1006

Let's talk governance, lipstick, and pigs.


View Profile
January 23, 2012, 05:23:08 AM
 #21

It could be a problem where the answer is brute forced similar to mining-in that way, rewards could be like pool mining, and everyone is rewarded proportionally to the work they did.

Yeah, that could work.

Essentially it would be bitcoin. Just the network would be more advanced in that it can accept and integrate new user submitted math problems, and allow you to earn coins for doing that math instead of random proof of work.
Sure then you just design a specialized rig for the type of math problem you submit and get the coins. For instance, a parallel computer with thousands of cores that worked with specialized software would give you an advantage.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
1714177056
Hero Member
*
Offline Offline

Posts: 1714177056

View Profile Personal Message (Offline)

Ignore
1714177056
Reply with quote  #2

1714177056
Report to moderator
1714177056
Hero Member
*
Offline Offline

Posts: 1714177056

View Profile Personal Message (Offline)

Ignore
1714177056
Reply with quote  #2

1714177056
Report to moderator
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, but full nodes are more resource-heavy, and they must do a lengthy initial syncing process. As a result, lightweight clients with somewhat less security are commonly used.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714177056
Hero Member
*
Offline Offline

Posts: 1714177056

View Profile Personal Message (Offline)

Ignore
1714177056
Reply with quote  #2

1714177056
Report to moderator
Costia
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
January 23, 2012, 05:31:57 AM
 #22

Quote
It should be possible to estimate how much it'll cost to solve a given problem. We're talking about professional research labs buying distributive computing for their work, they should have at least a general idea how much work it'll take.
You are trusting the submitters not to cheat.

Quote
2) Yep. It's basically like a lottery.
no imean that it will deterministically award only the fastest miner none of the slower ones have any chance of solving it first

Quote
3) Your calculations don't have to solve the problem, just be accurate. As long as other people also got the same worthless result, then you can win the prize.
you are confusing getting a wrong answer with having no answer at all
lets say i submit an infinite loop (some problems will be like that , and their creators will not be aware of this, could be the nature of the problem or even a bug) any client that gets this job will get stuck forever , will have no answer at all to submit and will not be rewarded in any way

what i am getting at, is that this is possible with only very specific scientific problems, and each of those will have to be tailored by a trusted programmer to fit the network's demands/security
JohnnyCash (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
January 23, 2012, 05:44:02 AM
 #23

Sure then you just design a specialized rig for the type of math problem you submit and get the coins. For instance, a parallel computer with thousands of cores that worked with specialized software would give you an advantage.

That doesn't do you any good, because the most you can win for solving your own problem is slightly less than what it cost to submit the problem.

For example, let's say you burn 100,000 coins and submit a question you can easily solve the answer to thanks to your customized rig. Yes, you'd win most of that prize money. But the most you could win is say 99,000 coins (since 1% or so is lost forever as a usage fee). And that's assuming nobody else gets even some of the prize.

So it doesn't make sense to solve your own problems.
cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1006

Let's talk governance, lipstick, and pigs.


View Profile
January 23, 2012, 05:53:32 AM
 #24

Sure then you just design a specialized rig for the type of math problem you submit and get the coins. For instance, a parallel computer with thousands of cores that worked with specialized software would give you an advantage.

That doesn't do you any good, because the most you can win for solving your own problem is slightly less than what it cost to submit the problem.

For example, let's say you burn 100,000 coins and submit a question you can easily solve the answer to thanks to your customized rig. Yes, you'd win most of that prize money. But the most you could win is say 99,000 coins (since 1% or so is lost forever as a usage fee). And that's assuming nobody else gets even some of the prize.

So it doesn't make sense to solve your own problems.
Well, that sounds like an outstanding idea. Do you have any idea where to start on coding something like that?

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
JohnnyCash (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
January 23, 2012, 05:58:33 AM
 #25

Quote
It should be possible to estimate how much it'll cost to solve a given problem. We're talking about professional research labs buying distributive computing for their work, they should have at least a general idea how much work it'll take.
1) You are trusting the submitters not to cheat.

Quote
2) Yep. It's basically like a lottery.
2) no imean that it will deterministically award only the fastest miner none of the slower ones have any chance of solving it first

Quote
3) Your calculations don't have to solve the problem, just be accurate. As long as other people also got the same worthless result, then you can win the prize.
3) you are confusing getting a wrong answer with having no answer at all
lets say i submit an infinite loop (some problems will be like that , and their creators will not be aware of this, could be the nature of the problem or even a bug) any client that gets this job will get stuck forever , will have no answer at all to submit and will not be rewarded in any way

4) what i am getting at, is that this is possible with only very specific scientific problems, and each of those will have to be tailored by a trusted programmer to fit the network's demands/security

1) Answers would be cross checked with other miners answers to reject false answers.

2) Each problem would be broken into thousands or millions of smaller simpler problems, each granting a microscopic prize to the first person who solves it. So it's as though any given problem is actually thousands of lotteries. Yes, people with faster computers (more tickets) would win more lotteries. But as long as your computer isn't completely worthless you should still win some of the lotteries.

3) After a certain period of time a miner's computer would give up on a looping or unsolvable probablem and submit what it has. For example, if you asked a miner to solve Pi it would turn in a certain number of digits, but it wouldn't keep calculating forever.

4) Yep, it would only be useful for certain types of problems. But that's fine. Most people would only use it as a currency. What would give it value is that people who do need distributive computing would pay regular money for it.

The average person isn't trying to do something complex like simulate unfolding a protein chain or run climate change models. But a lab at Pfizer or NASA or Harvard might. So let's say a researcher needs a calculation performed, and doesn't have the hardware/power to do it themselves. They'd use their research budget to buy a sufficient quantity of datacoins, then burn them to get their calculation performed on the web. People who want to convert their datacoins to USD could sell them to researchers like that.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 23, 2012, 06:12:09 AM
 #26

I love noobs.

1) Answers would be cross checked with other miners answers to reject false answers.

What if the "other miners" are cheating too?  For example given I am ONLY going to cheat.  I could simulate millions, maybe billions of "fake miners" who always given matching fake answers.  Yup  my answer is "right" because 1 million other fake miners say it is right.

In an anonymous network you can't guarantee identity.  A single "person" can be represented by thousands, millions, even billions of nodes. Just because a "lot" of nodes agree with a single solution doesn't mean that it is valid. 


READ ABOUT WHAT A PROOF OF WORK ACCOMPLISHES AND YOU WILL SEE YOUR "SOLUTION" IS FLAWED.


The proof of work is a problem which has 4 VERY UNIQUE CHARACTERISTICS:
1) The difficulty of the problem can be varied easily
2) The time to completion can be estimated (for average solution)
3) The problem is NOT DETERMINISTIC (each hash has equal chance of solving the solution)
4) CHECKING THE SOLUTION is trivially easy no matter how difficult the solution was.
fb39ca4
Member
**
Offline Offline

Activity: 100
Merit: 10

PlayGame.com


View Profile
January 23, 2012, 06:15:35 AM
 #27

Then the creator of the problem might supply the code with which the problem must be solved. Perhaps some sort of signature is generated with the answer to ensure it came from that code.

──────⟩   PLAYGAME   ⟨──────
WhitepaperPowering real economy in the gaming worldOnepager
Telegram ENG / IND GroupChannel ⟩──● MediumTwitterYouTube
JohnnyCash (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
January 23, 2012, 06:29:54 AM
 #28

I love noobs.

1) Answers would be cross checked with other miners answers to reject false answers.

What if the "other miners" are cheating too?  For example given I am ONLY going to cheat.  I could simulate millions, maybe billions of "fake miners" who always given matching fake answers.  Yup  my answer is "right" because 1 million other fake miners say it is right.

In an anonymous network you can't guarantee identity.  A single "person" can be represented by thousands, millions, even billions of nodes. Just because a "lot" of nodes agree with a single solution doesn't mean that it is valid.  


READ ABOUT WHAT A PROOF OF WORK ACCOMPLISHES AND YOU WILL SEE YOUR "SOLUTION" IS FLAWED.


The proof of work is a problem which has 4 VERY UNIQUE CHARACTERISTICS:
1) The difficulty of the problem can be varied easily
2) The time to completion can be estimated (for average solution)
3) The problem is NOT DETERMINISTIC (each hash has equal chance of solving the solution)
4) CHECKING THE SOLUTION is trivially easy no matter how difficult the solution was.


Spamming false answers is a serious issue, but I addressed it in a post a little further back.

To submit an answer, you'd also have to do some "pointless" proof of work too for each submission. So you can't just spam an infinite amount of fake answers. You have to do real work that is easily verifiable also.

If you spam a million false answers, you also have to have the computing resources to actually solve a million proof of work problems too. And the prize for any one fraction of a problem would be minuscule. So the reward for lying through spam, and spending all that processing time and electricity, wouldn't be worthwhile.

Then the creator of the problem might supply the code with which the problem must be solved. Perhaps some sort of signature is generated with the answer to ensure it came from that code.

Or something like that could work. Although it would have to be set up so the asker can't manipulate who wins, even if they can customize their problem to help guard against fraud.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 23, 2012, 06:35:14 AM
 #29

To submit an answer, you'd also have to do some "pointless" proof of work too for each submission. So you can't just spam an infinite amount of fake answers. You have to do real work that is easily verifiable also.

If you spam a million false answers, you also have to have the computing resources to solve a million proof of work problems too. And the prize for any one fraction of a problem would be minuscule. So the reward for lying through spam, and spending all that processing time and electricity, wouldn't be worthwhile.

Now you are just walking in circles.

So Bitcoin is bad because it "wasted" computing cycles doing "worthless work" (you still haven't realized that work is very valuable but we will save that for later).

So "solution" have Bitcoin do "useful work" however to prevent cheating we also require some "useless work" too.

You haven't prevented cheating. 

If the value of useful work >0 then it is is always better to cheat.  Right? 

If I have x computing power I can operate legit and earn x reward OR I can cheat and for the % of total workload which is "useful work" I gain that as a bonus.

So if the network reward is based 70% useless (uncheatable) work and 30% useful (cheatable work) then I simply do the useless work and cheat on the rest and gain a 30% bonus in revenue. 

Logically the only way to avoid that is make the useful work 0% and ... drumroll ... you just invented Bitcoins' proof of work.
JohnnyCash (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
January 23, 2012, 06:56:23 AM
 #30

To submit an answer, you'd also have to do some "pointless" proof of work too for each submission. So you can't just spam an infinite amount of fake answers. You have to do real work that is easily verifiable also.

If you spam a million false answers, you also have to have the computing resources to solve a million proof of work problems too. And the prize for any one fraction of a problem would be minuscule. So the reward for lying through spam, and spending all that processing time and electricity, wouldn't be worthwhile.

Now you are just walking in circles.

So Bitcoin is bad because it "wasted" computing cycles doing "worthless work" (you still haven't realized that work is very valuable but we will save that for later).

So "solution" have Bitcoin do "useful work" however to prevent cheating we also require some "useless work" too.

You haven't prevented cheating.  

If the value of useful work >0 then it is is always better to cheat.  Right?  

If I have x computing power I can operate legit and earn x reward OR I can cheat and for the % of total workload which is "useful work" I gain that as a bonus.

So if the network reward is based 70% useless (uncheatable) work and 30% useful (cheatable work) then I simply do the useless work and cheat on the rest and gain a 30% bonus in revenue.  

Logically the only way to avoid that is make the useful work 0% and ... drumroll ... you just invented Bitcoins' proof of work.

Only a small percentage of the work miners would do would be "useless". Most of it is useful. The useless work would be a tiny token added on just to increase the cost of fraud.

The reason why you wouldn't want to cheat is that it wouldn't be profitable, even if you pull it off.

For example, let's say a researcher submits a problem which is divided into several million smaller problems. Each micro-problem is only worth a teensy fraction of a cent. Unless you have a supercomputer, even someone with a mining rig can only handle a small percentage of the total micro-problems, so everyone takes a random grab bag of micro-problems.

Let's say 10,000 miners are working on micro-problem #1,704,423 (along with many other micro-problems but this is one they all have in common). If you play fair and submit one answer for it, then your odds of winning are 1/10,000. This is profitable despite the low odds because you work on many micro-problems, and only expect to win a small percentage of them.

So by submitting one low cost "useless" proof of work answer you get a 1/10,000 chance of winning.

What if you want to cheat? Well, you have to overwhelm the network with false answers. So let's say you send in 10,000 false answers, to outnumber the other 9,999 people sending in answers for that micro-problem. So it's like buying $10,000 of tickets in a raffle to win $10,000. At best you break even.

And you can't predict in advance how many other people are going to submit answers to any micro-problem. So might end up spending too few entries and losing everything. Or you might spend more than you need to, and spend your entries for less than they're worth.

For example, you might only submit 4,000 false answers, and be outnumbered and have wasted all that proof of work. Or you might submit 15,000 answers, and have spent more than you needed to win a contest with 1/10,000 odds.

DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 23, 2012, 07:08:47 AM
 #31

Ok well build it because nobody else will it won't work.  I doubt I or anyone else will convince you so just build it.

A couple of hints.
1) If only a tiny amount of the work is "uncheatable" then I can simulate a large number of nodes very very cheaply.  Just take 30 or 40 GH and using poxies make them look like thousands of less powered nodes. 30 GH it 10,000x 30 MH/s nodes.  Now 30 MH/s is very weak BUT if only a tiny amount (1% ??) if actual hashing and the other 99% of the time I make up BS answers well that is very profitable compared to the idiots doing real math 100% of the time.  I get a 10,000x fold increase in my computing power for free.

2) Why would 10,000 miners be working on the same micro-problem?  Who is protecting the network?  How are they getting paid at a level that compensates them for the time/energy if they are only getting 1/10,00th of the value of their work.  You just had 10,000 fold duplication of work.  Can you imagine if supercomputers did that?  10,000 nodes double checking other before submitting a solution. You just turned "useful" work into utterly useless work.  Something that would take the network 1 computing day to solve would take 30 years due to the 99.999% wated/duplicated work.  That is "useful"?

3)  If you have 10,000 fold duplication of work then the effective hashing power of the network is 1/10,000th.  An attacker could simply produce his own trivial problems, withhold them from the "good" network and generate "proofs of work" to defeat the network with a token amount of hashing power.  Each answer would be backed up by the token amount of actual hashing and verified by thousands of other attack nodes.  Congrat you just made attacking the network magnitudes easier and cheaper.

I am going to click ignore so I don't waste anymore of my time.  Your aren't the first noob w/ less than a dozen posts who suddenly thinks he have solved something that thousands of people spending millions of hours haven't.  The only problem is you haven't solved anything.  If you stick with Bitcoin you will see you 2.0 propose the same dubious solution next month, and another one the month after that and the month after that and the month after that.

If you think you ACTUALLY have a solution then code it or at least write it up in a format white paper not some circular logic nonsense.  Before you waste the time THINK about what the proof of work is used for.  You keep calling it useless work.  IT ISN'T USELESS.  The proof of work is what makes Bitcoins have value.  Without it all Bitcoins are completely worthless.
fb39ca4
Member
**
Offline Offline

Activity: 100
Merit: 10

PlayGame.com


View Profile
January 23, 2012, 07:21:05 AM
 #32

No, you want to have each worker working on a different micro-problem. Having 10,000 computers race to finish the same problem would be a waste. It would be better if each worker randomly choose a microproblem in hopes of being the first to solve it. Once the answer to the microproblem has been released, other computer would verify it before putting it in the chain.

──────⟩   PLAYGAME   ⟨──────
WhitepaperPowering real economy in the gaming worldOnepager
Telegram ENG / IND GroupChannel ⟩──● MediumTwitterYouTube
JohnnyCash (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
January 23, 2012, 07:31:22 AM
 #33

No, you want to have each worker working on a different micro-problem. Having 10,000 computers race to finish the same problem would be a waste. It would be better if each worker randomly choose a microproblem in hopes of being the first to solve it. Once the answer to the microproblem has been released, other computer would verify it before putting it in the chain.

Good point. Redundant work defeats the whole purpose, and the proof of work isn't enough of a barrier to entry.

What if instead micro-problems were assigned randomly? You'd submit a proof of work to receive a random micro-problem to solve, and that proof of work would only entitle you to submit one answer. But you couldn't request to solve any specific micro-problem, which would prevent you from sending multiple answers to the same question. If you submit 500 proof of work you'd get 500 different micro-problems. Each micro problem would only be assigned a couple times, to avoid redundancy.

P.S. I know that this idea probably has a lot of flaws as written, but I think if we could think of a way to make it work a coin backed by distributive computing could be very potent. Lots of challenges to solve, but that's why I'm posting it for discussion.
Costia
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
January 23, 2012, 12:49:12 PM
 #34

this is way to theoretical
for any fix you suggest me or others will be able to come up with 10 exploits

this needs to be tested on a concrete example.
i think folding@home does have some kind of measure of work done, maybe seti is well
if you are serious about this , look at their code and adjust it to be secure
Or take any specific problem and try to make it work on a small scale

Currently, creating a general purpose, distributed, scientific solving network for profit is not feasible.
This might change with time (for example if from a certain point in time motherboards will have integrated DRM chips that can be used to verify work with 99% certainty)
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 23, 2012, 06:09:50 PM
 #35

i think folding@home does have some kind of measure of work done, maybe seti is well
if you are serious about this , look at their code and adjust it to be secure
Or take any specific problem and try to make it work on a small scale

Folding & Seti solve the problem of cheating by using a central third party.  A key design of Bitcoin is a commerce system which relies on no trusted third party.

Quote
Currently, creating a general purpose, distributed, scientific solving network for profit is not feasible.
This might change with time (for example if from a certain point in time motherboards will have integrated DRM chips that can be used to verify work with 99% certainty)

There is no DRM that can't be broken.  Today DRM is broken even when there is no direct economic incentive.  Many hackers break it just to break it.  When the payoff is potentially millions a year in transaction fees DRM doesn't have a hope of standing up.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
January 23, 2012, 07:04:11 PM
 #36

Can someone show a useful problem that can be broken into millions of parts? Each part having an answer that is already known so we know the solver did it and did it right? I mean just show one problem like this, maybe you can actually do it, but it should demonstrate that it wont' work for anything.

Current 'work' has an amazing property. It can take an arbitrarily large and fine tuned amount of computing (on average) and still be instantly verifiable by everyone. We can all verify both that the work was done and that it was done AFTER the previous block.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1006

Let's talk governance, lipstick, and pigs.


View Profile
January 23, 2012, 07:43:45 PM
 #37

Can someone show a useful problem that can be broken into millions of parts? Each part having an answer that is already known so we know the solver did it and did it right? I mean just show one problem like this, maybe you can actually do it, but it should demonstrate that it wont' work for anything.

Current 'work' has an amazing property. It can take an arbitrarily large and fine tuned amount of computing (on average) and still be instantly verifiable by everyone. We can all verify both that the work was done and that it was done AFTER the previous block.

About the only thing I can think of is that we become a rendering farm for the next Pixar film, but I'm not sure if ATI cards would work well for that.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
Costia
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
January 23, 2012, 11:54:17 PM
 #38

Quote
There is no DRM that can't be broken.  Today DRM is broken even when there is no direct economic incentive.  Many hackers break it just to break it.  When the payoff is potentially millions a year in transaction fees DRM doesn't have a hope of standing up.
currently this is true. but if more platforms become "closed" - aka you cant run any code that you want and it has to be signed by the manufacturer, the needed HW hacks might not be cost effective anymore, or too risky. for example a lot of the hacked xbox console were banned from XBL and required a to buy a new one to connect to the internet. So while cheating you will risk loosing the money spent on that machine, which in the long term might become less profitable than mining properly.

tl'dr it doesnt have to be unhackable, it needs to be more risky/expensive than actually doing the mining
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 24, 2012, 12:00:55 AM
 #39

Quote
There is no DRM that can't be broken.  Today DRM is broken even when there is no direct economic incentive.  Many hackers break it just to break it.  When the payoff is potentially millions a year in transaction fees DRM doesn't have a hope of standing up.
currently this is true. but if more platforms become "closed" - aka you cant run any code that you want and it has to be signed by the manufacturer, the needed HW hacks might not be cost effective anymore, or too risky. for example a lot of the hacked xbox console were banned from XBL and required a to buy a new one to connect to the internet. So while cheating you will risk loosing the money spent on that machine, which in the long term might become less profitable than mining properly.

tl'dr it doesn't have to be unhackable, it needs to be more risky/expensive than actually doing the mining

How exactly is do closed systems and code signed by "manufacturer" apply to a decentralized open source project?

Even in closed networks DRM is an utter failure.  Even closed hardware systems are routinely hacked.  There is no DRM which can't be broken because the keys must be present on the hardware.   Obfuscation is no basis for secure systems.
Costia
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
January 24, 2012, 12:37:46 AM
 #40

quote author=DeathAndTaxes link=topic=60703.msg709554#msg709554 date=1327363255]
Quote
There is no DRM that can't be broken.  Today DRM is broken even when there is no direct economic incentive.  Many hackers break it just to break it.  When the payoff is potentially millions a year in transaction fees DRM doesn't have a hope of standing up.
currently this is true. but if more platforms become "closed" - aka you cant run any code that you want and it has to be signed by the manufacturer, the needed HW hacks might not be cost effective anymore, or too risky. for example a lot of the hacked xbox console were banned from XBL and required a to buy a new one to connect to the internet. So while cheating you will risk loosing the money spent on that machine, which in the long term might become less profitable than mining properly.

tl'dr it doesn't have to be unhackable, it needs to be more risky/expensive than actually doing the mining

How exactly is do closed systems and code signed by "manufacturer" apply to a decentralized open source project?

Even in closed networks DRM is an utter failure.  Even closed hardware systems are routinely hacked.  There is no DRM which can't be broken because the keys must be present on the hardware.   Obfuscation is no basis for secure systems.
[/quote]
by preventing access to your network card to any app that isn't signed (the network card will require a signed key  + hash to operate or something like that)
and they can brick your device if they think it got hacked
you are describing the current situation - this can change
btw was HDMI hacked already? it is encrypted...

anyway, i didnt say it will be impossible to hack, just not worth the cost (per machine)
Pages: « 1 [2] 3 »  All
  Print  
 
Jump to:  

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