Bitcoin Forum
May 09, 2024, 07:24:10 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4] 5 »  All
  Print  
Author Topic: DESIGNING the next generation FAST CRYPTO CURRENCY MINING MACHINE  (Read 22898 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.
Viceroy (OP)
Hero Member
*****
Offline Offline

Activity: 924
Merit: 501


View Profile
April 24, 2013, 12:54:59 AM
 #61

I'm going to go through all the posts and remove the useful info and re-write the OP.  Be patient, let people talk.  Unless you know it all....

And if you want people to read what you wrote you should learn better use of the "quote" function.

because people can't digest 20 pages of nonsense.  I'll take what I need from the posts and then modify the OP.  Then I'll erase all the posts and see what people think of my edits.  I think I can manage this thread, fwiw.  ;-)

Indeed, your original post is in great need of revision. It's hard to read the wall of text, and you should instead format the sections differently. I think instead of using rhetoric you should focus more on separating into different sections, especially the beginning.

Well, sir, feel free to contribute useful walls of text.  The OP is the first major revision which was made after the realization that the ASIC war appears to have ended.  Prior to that revision this was a post about potentially creating the chip that butterfly may never deliver.  Now that Avalon appears to be shipping and has sold more than a half million chips the question changes and so I removed ALL sub-posts and started over.  Which I intend to do again shortly though I've been busy with more pressing matters.  So don't be surprised when I pm you again to tell you I've removed all the posts.
1715282650
Hero Member
*
Offline Offline

Posts: 1715282650

View Profile Personal Message (Offline)

Ignore
1715282650
Reply with quote  #2

1715282650
Report to moderator
1715282650
Hero Member
*
Offline Offline

Posts: 1715282650

View Profile Personal Message (Offline)

Ignore
1715282650
Reply with quote  #2

1715282650
Report to moderator
"If you don't want people to know you're a scumbag then don't be a scumbag." -- margaritahuyan
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715282650
Hero Member
*
Offline Offline

Posts: 1715282650

View Profile Personal Message (Offline)

Ignore
1715282650
Reply with quote  #2

1715282650
Report to moderator
jasinlee
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


Its as easy as 0, 1, 1, 2, 3


View Profile
April 24, 2013, 08:57:23 AM
 #62

Interesting.

BTC 1JASiNZxmAN1WBS4dmGEDoPpzN3GV7dnjX DVC 1CxxZzqcy7YEVXfCn5KvgRxjeWvPpniK3                     Earn Devcoins Devtome.com
bassclef
Hero Member
*****
Offline Offline

Activity: 924
Merit: 1000



View Profile
April 24, 2013, 09:16:37 PM
 #63

I think you bring up some good points Viceroy, but to assume that ASIC mining will consolidate itself to the hands of a few is flawed logic IMO. This might happen if the market were not free (ie governments/corporations passing laws monopolizing the mining process) but the market is free for the forseeable future. Even if huge ASIC farms spring up, average Joe will still compete for his share of the pie as newer, smaller, and more efficient consumer ASIC solutions are marketed. Miniature ASIC mining devices and pools are going to be everywhere.

You also assume no new technology will ever trump ASIC, which is also flawed. Next year, ASIC will be the new GPU, and there will probably be faster tech on the horizon. Yes, difficulty will rise to meet ASIC hashing power, but it will not skyrocket beyond our collective reach until the next new tech emerges.

Your scenario might play out if the big players started lobbying to have laws passed on their behalf in order to monopolize the mining market. Don't give them any ideas Smiley
Viceroy (OP)
Hero Member
*****
Offline Offline

Activity: 924
Merit: 501


View Profile
April 25, 2013, 12:29:18 AM
 #64

the marijuana industry is brand new in Colorado, it's only 4 years old and new laws are being written right now.  you might never imagine that the large stores are putting pressure on the state to craft a law that favors the big player.... these are tree hugging hippies!  it's amazing how quickly peoples interests turn into a legitimate lobbying force.  but I digress.  I'm trying to understand what comes next and how best to hedge the bet.

At this point I predict people will migrate en masse to a scrypt (or other) based solution as soon as they can no longer generate any meaningful income against the ASIC army.  The estimates (see my sig) have been daunting with difficulty tripling in the next three months and difficulty quickly raising to 1 billion.  The only reason your (brother,father,mother,son) knows about bitcoin is because of YOU.  And you probably do or did mine bitcoin at some point, or perhaps a miner turned you onto it.  And that doesn't even touch on the philosophical question of who controls the mining process and the danger of centralization.

Mining is the core of bitcoin.  What is the future of mining?  Or does ASIC spell the end?

If YOU evangelize for some-other-coin, IT will become the 'next best thing'.  I see no alternative.  Educated people are NOT going to purchase a BFL if Inaba remains the voice of it.  Avalon has no idea how to manage media and cannot possibly win the hearts and minds of the average joe miner.  There is an opportunity in this chaos.  What is it?  Is it making a scrypt ASIC miner before Inaba?  Is it making a sexy case for a bunch of Avalon chips?  Is it making a supercomputer?  Can you even make money mining bitcoin at all and if you can how long will it be until you cannot?

so many questions 
MooC Tals
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500


View Profile
April 25, 2013, 12:29:57 AM
 #65

I believe the evidence of Viceroy hypothesis is being manifested ig the rise of new crypto currencies. Those are a result of the people leaving bitcoins and thinning of the base of miners that were in bitcoins. Now if you want to argue that the base has not left and its a natural expansion of the idea of a decentralized currency it still shows that miners are choosing other currencies other than bitcoin.

Still not a good trend imho
Viceroy (OP)
Hero Member
*****
Offline Offline

Activity: 924
Merit: 501


View Profile
April 25, 2013, 02:34:38 PM
Last edit: April 25, 2013, 03:54:15 PM by Viceroy
 #66

I'm seeking a handful of EE's to sit down in a google chat and talk about steps needed to draft an RTL for a scrypt mining FPGA -> ASIC?  Mathematicians, Coders, Designers, Inventors are all welcome... but this is SPECIFICALLY to talk about Developing an RTL; if you do not have that skill set you will not be helpful.

Who is qualified to design a full RTL and interested in this conversation, any readers here?  

Please post below or PM me if you can add meaningful dialog to such a conversation.

(1) space reserved for EE Doctoral Candidate.
(1) space reserved for chip designer with 0.18um specialty.





phk
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
April 26, 2013, 07:27:22 PM
 #67

Opal Kelly Shuttle LX1 for development / testing?

Ignoring the suitability of that board for mining, it's about 3x the cost of the comparable DE0 board.

http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=593&PartNo=1

If you just want to buy something to learn with, I would go with the DE0.

BTW: neither of those are good for running the existing open source bitcoin miner.
dan99
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250



View Profile
April 28, 2013, 10:10:38 AM
 #68

any news and update?
btceic
Sr. Member
****
Offline Offline

Activity: 392
Merit: 250


♫ A wave came crashing like a fist to the jaw ♫


View Profile WWW
April 28, 2013, 12:16:43 PM
 #69

I am a C# developer and would like to get involved with this, I have *NOT* read the entire thread yet but will do so now.

♫ This situation, which side are you on? Are you getting out? Are you dropping bombs? Have you heard of diplomatic resolve? ♫ How To Run A Cheap Full Bitcoin Node For $19 A Year ♫ If I knew where it was, I would take you there. There’s much more than this. ♫ Track Your Bitcoins Value
btceic
Sr. Member
****
Offline Offline

Activity: 392
Merit: 250


♫ A wave came crashing like a fist to the jaw ♫


View Profile WWW
April 28, 2013, 12:33:12 PM
 #70

@viceroy have you seen this:
http://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,400&Cat=10&FPGA

♫ This situation, which side are you on? Are you getting out? Are you dropping bombs? Have you heard of diplomatic resolve? ♫ How To Run A Cheap Full Bitcoin Node For $19 A Year ♫ If I knew where it was, I would take you there. There’s much more than this. ♫ Track Your Bitcoins Value
dan99
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250



View Profile
April 28, 2013, 01:05:39 PM
 #71

It sure is a very interesting website..
fixxi.net
Member
**
Offline Offline

Activity: 89
Merit: 10


View Profile
April 30, 2013, 08:51:48 PM
 #72

Another, perhaps more philosophical question. Should we really be using "mining operations" that require wasted energy? It just doesn't seem to make sense to make zillions upon zillions of calculations, just to be able to create a quasi-physical (here crypto) currency to put into circulation... Is there really no other alternatives or ideas how to go about this?


Don't want to steal the thread just referring to a new idea below: Bitcoin is the first real competitor to the banking system but there will be others. I am collecting support and you can join the group https://www.facebook.com/groups/creditsystem/doc/580888151936183/



Overview / Executive Summary / One sentence explanation
==================================================
The Credit system is the complete opposite of the Banking System where a single entity, the banks, create money. In the "credit system" proposed herein, whenever new money is created to the “Credit” Money Supply, all new money is equally distributed to all participants in the system, avoiding inflation, debt and money-monopoly.  The initial money creation is assigned to every person that is born according to the current volume of money supply.

In the beginning of the system, everybody participating in the system, on a national or global level is assigned 1000 Credits. An initial exchange rate to the banking system is created at 1 Credit equals 15 EUR. Therefore everyone of us who is born, immediately is now assigned 15 000 Euros in “Credit Money”.  ( NOTE, I AM NOT SURE IF THERE WILL BE CONVERSION TO FIAT MONEY, CONVERSIONS HERE ARE GIVEN FOR REFERENCE AND REPRESENTATION ONLY)

The actual conversion rate between credits and EUR/USD/GBP/etc. doesn’t matter because it will be adjusted on marketing principles when trading houses are opened later in the process. In fact considering the current levels of bank money printing and the lessons from Bitcoin, it is safe to assume, that within 2 years of  starting up the credit system, 1000 Credits can easily be worth 150 000 EUR since the starting of the System. And that is credit you get “immediately”.  The system is therefore “anti-debt” and a democratic one.
btceic
Sr. Member
****
Offline Offline

Activity: 392
Merit: 250


♫ A wave came crashing like a fist to the jaw ♫


View Profile WWW
April 30, 2013, 10:36:24 PM
 #73

Here is the problem as I see it in regards to all of the digital currencies that have sprung up over the past couple of years, BTC included.

[1]The current world population of ~5 Billion people aged 18+ all have a need/desire to make and receive goods and services; The easiest method invented so far beyond barter is to use a fiat type system of physical or digital currency (cash, debit card included but excluding BTC and the like).

All nations have some type of currency, but now we are speculating on a world currency, to me this means that the total amount of currency in the system needs to be larger than the actual population, No? and if not then why?

I did not major in economics but this right here seems to be the biggest overlooked fact of wide spread and immediate adoption throughout the world of a truly digital currency ala BTC.

Can any economists in here please join in on this thought?

This is why we are seeing people hoarding their BTC because it has a tiny tiny float of only 21MM, to me this is clearly not enough to sustain a global economy.

Using the above numbers:
5 Billion people able to earn and save BTC / 21 Million BTC == 0.0042 per person.

This is clearly not enough currency to go around and we haven't even begun to include corporations...

[1] http://www.census.gov/population/international/data/idb/worldpop.php

♫ This situation, which side are you on? Are you getting out? Are you dropping bombs? Have you heard of diplomatic resolve? ♫ How To Run A Cheap Full Bitcoin Node For $19 A Year ♫ If I knew where it was, I would take you there. There’s much more than this. ♫ Track Your Bitcoins Value
uMMcQxCWELNzkt
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250



View Profile
April 30, 2013, 11:22:04 PM
 #74

Here is the problem as I see it in regards to all of the digital currencies that have sprung up over the past couple of years, BTC included.

[1]The current world population of ~5 Billion people aged 18+ all have a need/desire to make and receive goods and services; The easiest method invented so far beyond barter is to use a fiat type system of physical or digital currency (cash, debit card included but excluding BTC and the like).

All nations have some type of currency, but now we are speculating on a world currency, to me this means that the total amount of currency in the system needs to be larger than the actual population, No? and if not then why?

I did not major in economics but this right here seems to be the biggest overlooked fact of wide spread and immediate adoption throughout the world of a truly digital currency ala BTC.

Can any economists in here please join in on this thought?

This is why we are seeing people hoarding their BTC because it has a tiny tiny float of only 21MM, to me this is clearly not enough to sustain a global economy.

Using the above numbers:
5 Billion people able to earn and save BTC / 21 Million BTC == 0.0042 per person.

This is clearly not enough currency to go around and we haven't even begun to include corporations...

[1] http://www.census.gov/population/international/data/idb/worldpop.php

In the future we well not see BTC as the standard unit, people will talk in Millibits or whatever the correct terms are. Essentially one day we could be talking about 0.001 as if it were 1BTC, i think once Bitcoin starts to hit 1k people people will be requesting lesser amount making BTC requests rarer and perceived as large transaction then they are now. I do agree though, having to move into decimals will take some getting used to.
jspielberg
Sr. Member
****
Offline Offline

Activity: 490
Merit: 255



View Profile
May 01, 2013, 03:38:31 AM
 #75

The position of the decimal is arbitrary since bitcoin is based on whole numbers of satoshi (the atom of the bitcoin universe).

Our scale of dimensions reference is colored by the block reward as being 25 "units" which we are calling 1xBTC.  In the future when the block reward is significantly less... our frame of reference may have matched (if bitcoin appreciates like many hope it will).  Maybe folks will still mine when the reward is significantly less than 1xBTC because the frame of reference will be significantly different.  The question is... what will a block reward buy in terms of real good (or currency) in 20 years (assuming 5 more currency halfings - and the reward is .78125).  Will we be thinking that the reward is really 781.25 uBtcs?
ISAWHIM
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500



View Profile
May 23, 2013, 10:28:19 AM
Last edit: May 23, 2013, 10:50:22 AM by ISAWHIM
 #76

Instead of building a better miner... why not build a better coin.

These coins have a horrible setup that cripples them, the more they are used. Many design flaws, that we just live with, at a cost to the network they run on, and to those who actually use them. (As opposed to hoarding them, keeping them off the network.)

First flaw...
- Rewards are a gamble. They should be directly related to actual work provided, not a pot-luck. This has been reduced by pooling, thus making the programming of the "gamble", a useless component. (Wasted processing and effort. Overhead.) Blocks should have difficulty that increases with "transactions", not processing loads. More transactions = more processing = more payouts = equal distribution of work, not a fight for work. You take any available transaction that is not claimed, and build until it hits a target difficulty. Your reward would be a direct fraction of the processing reward at the difficulty. Not a set reward, that excludes others actual work. That is just dumb, and as stated, already countered, thus, just leading to ASICs dominance. Eventually leading to one singular controller with the biggest asic-factory.)

Second flaw...
- Poorly structured "tree branching", leading to 51% attacks. Though it can be corrected, it can not be avoided, and thus, 50% of this effort is wasted, and can lead to reversed transaction confusion, as "invalid transactions" get removed by the "corrected blocks". At minimum, no single entity/pool should be able to reach 33.333333% of the load. At the current time, pools are allowed to expand to 100% if desired. There should be a MINIMUM of 3x 33.333333% sections available for pool polling. Thus, always 3 separate entities, that can be confirmed, and can not "merge" works to become a 66.666666% pool, by obtaining two portions of the workload.

Third flaw...
- Poor database structure and management. The "user", will eventually be burdened by a 385TB DB of transactions that only contain 1MB of transactions that relate to them. What are we at now, 9GB+ after 4.5 years, and growing exponentially with each transaction. (Users should only have to download transactions that pertain to them, and no more. Starting from the point at which they get that first transaction, and ignoring any other blocks that do not have transactions that do not pertain to them.) Adding note: Using an online service exposes the users to additional risks, and REMOVES the many "distributing blocks", that individual users would be distributing on the network. Thus, leaving 20 "wallets" for servers (from the wallet services), which limits transactions, and places ALL users of that servers single wallet at risk of being lost or stolen, and potentially unrecoverable.

Fourth flaw...
- Lost accounts. There is no method of recovery for lost accounts. There are tools to assist with a recovery of a partial loss, if you have data to recreate it... but that only helps recover up to 100 keys beyond the point of where it can restore. Since, for some reason, new keys ask the network for the next 100 keys, instead of generating them sequentially, and selecting valid ones from YOUR selection, not asking the network for 100 more keys that you could never "guess", once a wallet is recovered. If it is ever recovered.

(NOTE: It is suggested that brute-force should be used to recover a partial known lost wallet. However, the fact that brute-force can be used on a users wallet, indicates that it can also be used to open any other users wallet that is on the network. Which it can, because the entire transaction history of events are there, on the network, which can confirm the "cracked" wallet contents, when it is cracked.)

Fifth flaw...
- Burden of load that does not expand, will only diminish in time. A diminished burden of load will result in failure of the network, as machines become fast enough to handle all transactions at once. Thus, leaving only one operator running the whole show. In the advent of ASIC's, it will turn the 30,000 GPU load-balanced network into 1,000 ASIC operators, which will fade into 10 Super-ASIC operators, which will end-up as 1 Super-Super-ASIC operator running the trillions of micro-transactions, and thus, not be able to "keep-up" the burden of the load, while manipulating the entire market that still exists.

Conclusion... Build a better coin. Otherwise you are just adding to the future problem, creating a super-asic.

NOTE on the 4th flaw...
Eventually the "fixed coinbase" will be dwindled down to nothing, as more and more coins become lost forever, if they are not recoverable, destroyed on purpose, or stolen and can not be used. Thus, the fixed level of coins is already inaccurate, as many funds have been reported as unrecoverable and lost and destroyed.
Nova!
Full Member
***
Offline Offline

Activity: 140
Merit: 101


View Profile
May 26, 2013, 10:18:51 PM
 #77

The position of the decimal is arbitrary since bitcoin is based on whole numbers of satoshi (the atom of the bitcoin universe).

Our scale of dimensions reference is colored by the block reward as being 25 "units" which we are calling 1xBTC.  In the future when the block reward is significantly less... our frame of reference may have matched (if bitcoin appreciates like many hope it will).  Maybe folks will still mine when the reward is significantly less than 1xBTC because the frame of reference will be significantly different.  The question is... what will a block reward buy in terms of real good (or currency) in 20 years (assuming 5 more currency halfings - and the reward is .78125).  Will we be thinking that the reward is really 781.25 uBtcs?

I find it interesting that when I bought it last year my BFL single made $3 per day.
I asked my wife to check it today, it still makes about $3 per day.
Value of bitcoins went up from $10 to $100 as the difficulty went up and the reward was halved.
No one could have predicted ASICs hitting within a 1 year period of the block reward being cut in half.

This tells me that there is actually far more money missing in BTC than people currently realize.  Otherwise common sense would kick in and you would see these older wallets being spent.  Fact is they aren't.

So many of us in the beginning saw it as a fun experiment then walked away and forgot.  We wiped our drives, sold our computers, upgraded or just got bored and deleted the little client and it's wallet. 

There will be a time in the future where it will be worth while to invest a million or more dollars in simply breaking bitcoin keys for these older wallets.  When they fall, someone will have an overwhelming majority of coins.

If I were a bad actor, I would actually create a botnet and task it with generating random keys and comparing it to those older wallets, as time goes on the keyspace decreases, eventually with enough bots you are going to hit one or two of these old dusty keys and literally strike gold. 

I'm not a bad actor, I have no plans to do it, but it is one attack against bitcoin no one really considers because they look at it as intractably safe.  It is and if you are looking for a single key your odds are astronomically against.  But the required keyspace divides in half for each key you are looking for.  There becomes a point at probably 2^32 where this is no longer an intractable problem.  You would in the space of a year with a botnet the size of say Srizbi, be all but guaranteed of hitting at least 1 key of value within the space of a year once there are that many keys in play.

Also several keygen algo's use the current unix time as their random seed when generating keys.  (I know mine did anyways).  Thus if you posses the same random generator and use the same seed factor you can reduce the key search space a bit by picking a number between the creation of the genesis block and today and using it as a seed to random.  Good chance you would hit a key again because you have restricted the search space. (This fact is probably arguable, but I do see this as a potential attack vector)

Mining for keys, is unfortunately one thing that bitcoin cannot guard against.  Even if they change the keysign algo, they do have to honor all the old keys generated since the beginning of time and there is no difference between the key and it's owner by design. 

Donate @ 1LE4D5ERPZ4tumNoYe5GMeB5p9CZ1xKb4V
qbits
Full Member
***
Offline Offline

Activity: 219
Merit: 100



View Profile
May 27, 2013, 04:24:20 PM
 #78

Instead of building a better miner... why not build a better coin.


Fifth flaw...
- Burden of load that does not expand, will only diminish in time. A diminished burden of load will result in failure of the network, as machines become fast enough to handle all transactions at once. Thus, leaving only one operator running the whole show. In the advent of ASIC's, it will turn the 30,000 GPU load-balanced network into 1,000 ASIC operators, which will fade into 10 Super-ASIC operators, which will end-up as 1 Super-Super-ASIC operator running the trillions of micro-transactions, and thus, not be able to "keep-up" the burden of the load, while manipulating the entire market that still exists.

Conclusion... Build a better coin. Otherwise you are just adding to the future problem, creating a super-asic.

NOTE on the 4th flaw...
Eventually the "fixed coinbase" will be dwindled down to nothing, as more and more coins become lost forever, if they are not recoverable, destroyed on purpose, or stolen and can not be used. Thus, the fixed level of coins is already inaccurate, as many funds have been reported as unrecoverable and lost and destroyed.

Flaw #5 is only serious one as with centralization of mining resources the whole point of network currency fails as ultimately there is no network. On top of that thinks about this: what is the point of paying a block fee in the first place?

Well the point is to achieve the initial currency distribution so that many people have it and will spend it and therefore start an economy. Having most of the newly issued currency end up in the hands of handful big asic operators goes against that principle. And will consequently work against developing Bitcoin economy.

Fees should pay for mining not block reward. Block reward serves the purpose of initial currency distribution.

Other points regarding gamble, chain forking, lost wallets cannot be efficiently mitigated unless one gives up some of the privacy and this is a no go tradeoff. I'm struggling myself to find more efficient ways of doing things. Those that you mentioned I don't know if they are fixable.

There was a guy (not a very pleasant type) who would at this point say: oh, just one more thing (tm) :

Initial Bitcoin paper calls for distributed = non centralized peer-to-peer currency. There is little of "crypto" in Bitcoin design other than public/private key scheme for wallets which I guess any serious e-currency had and will have. However Bitcoin and it's derivatives are sometimes commonly known as crypto-currencies solely for a reason that they use some or the other cryptographic hashing function as proof of work.

It is a choice of convenience not fundamental design corner stone. Crypto functions are well studied and have properties which make them suitable for proof of work. Namely it is hard or impossible to fake it. There is no known way today to solve a block other than to simply try out billions of noonces and hopefully finding one that matches the criteria, that is difficulty.

But at the same time some crypto functions like SHA256 can be efficiently computed with custom hardware, those are ASICS. Unfortunately these ASICS are not available at any local store with undesirable consequence that average Bitcoin user has no practical way to mine Bitcoins.

However the protocol itself can be modified to use some other proof of work algorithm which would not allow for ASICS to have such and advantage over general purpose computer. Litecoin is an attempt to do just that.
Viceroy (OP)
Hero Member
*****
Offline Offline

Activity: 924
Merit: 501


View Profile
June 09, 2013, 05:23:32 AM
 #79

.
Viceroy (OP)
Hero Member
*****
Offline Offline

Activity: 924
Merit: 501


View Profile
June 09, 2013, 05:35:51 AM
 #80

I'm ready to design a prototype scrypt mining FPGA.  I need a development board.   I was thinking of this:
www.xilinx.com/products/boards-and-kits/EK-K7-KC705-G.htm

Are there better choices?

Pages: « 1 2 3 [4] 5 »  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!