Bitcoin Forum
December 06, 2016, 04:27:52 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
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 »
  Print  
Author Topic: [announce] Namecoin - a distributed naming system based on Bitcoin  (Read 319148 times)
bitpop
Legendary
*
Offline Offline

Activity: 1918


https://keybase.io/bitpop


View Profile WWW
May 29, 2013, 11:48:40 AM
 #641

Have we or will switch from bitcoin.conf to namecoin.conf?

Reputation  |  PGP  |  DigitalOcean  |  OpenVPN 2GB Free  |  TorGuard  |  Ethereum Classic
Bitcoin: 3DSh6AnmvBpDJFUz2mnLirMLmTMcFs9nDm
Bitmessage: BM-2cXN9j8NFT2n1FxDVQ6HQq4D4MZuuaBFyb
1481041672
Hero Member
*
Offline Offline

Posts: 1481041672

View Profile Personal Message (Offline)

Ignore
1481041672
Reply with quote  #2

1481041672
Report to moderator
1481041672
Hero Member
*
Offline Offline

Posts: 1481041672

View Profile Personal Message (Offline)

Ignore
1481041672
Reply with quote  #2

1481041672
Report to moderator
1481041672
Hero Member
*
Offline Offline

Posts: 1481041672

View Profile Personal Message (Offline)

Ignore
1481041672
Reply with quote  #2

1481041672
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481041672
Hero Member
*
Offline Offline

Posts: 1481041672

View Profile Personal Message (Offline)

Ignore
1481041672
Reply with quote  #2

1481041672
Report to moderator
lunarboy
Hero Member
*****
Offline Offline

Activity: 544



View Profile
May 29, 2013, 12:04:07 PM
 #642

I never really have been a fan of NMC destruction it just like seems a crude waste. The eloquent idea seems to be the domain Binding, possibly with this value being released to the miners when the domain registration expires. I also like the idea of sponsoring a namecoin development fund through Tx fee, although I wonder if this needs to be done as a fixed % from within transactions?  Surely the need for a Fund is V. important now, but will decrease significantly with time. (Possibly it could be related to Block reward halving?)

Hard forks Huh my vote is sooner rather than later with some very nice PR to the mining pools before hand.

There is a lot of good work coming out here guys keep it up.  Grin
snailbrain
Legendary
*
Offline Offline

Activity: 1134



View Profile
May 29, 2013, 12:20:54 PM
 #643

Have we or will switch from bitcoin.conf to namecoin.conf?

namecoin.conf .. but i believe bitcoin.conf should "still" work... not sure which has priority..

should be easy to test Cheesy

marcus_of_augustus
Legendary
*
Offline Offline

Activity: 2086



View Profile
May 29, 2013, 12:22:02 PM
 #644

Have we or will switch from bitcoin.conf to namecoin.conf?

Already switched.

Quote
I also like the idea of sponsoring a namecoin development fund through Tx fee, although I wonder if this needs to be done as a fixed % from within transactions?  Surely the need for a Fund is V. important now,

Centralising a fund for development from fees will create many problems and imho is a terribly misguided idea, any/all fees should go to the coinbase transaction. Let the market take care of it ...we are getting development now.

snailbrain
Legendary
*
Offline Offline

Activity: 1134



View Profile
May 29, 2013, 12:26:10 PM
 #645

Yeah but the bitcoin fees are voluntary, the minimum fee is just a default of the official client. As far as I can tell the name_firstupdate fee is network-enforced, so it will become way harder to change if namecoin becomes widely used. Anyway, still would like to know the reason why vinced decided to put that 0.01 NC minimum since the only purpose of that fee is to reduce domain squatting early on. If the fee is left there then the money supply will begin to contract at some point when the block reward becomes less than the rate of destruction.

we need as many people as possible, like your self to voice opinions to get this right..

name_new was eventually going to be free.. but spam would be a problem atm..

i think it should just keep going down in increments.. based on the exponential growth of storage space increase... something like that..


bitpop
Legendary
*
Offline Offline

Activity: 1918


https://keybase.io/bitpop


View Profile WWW
May 29, 2013, 12:33:32 PM
 #646

Thanks finally switched from bitcoin.conf to namecoin.conf

Reputation  |  PGP  |  DigitalOcean  |  OpenVPN 2GB Free  |  TorGuard  |  Ethereum Classic
Bitcoin: 3DSh6AnmvBpDJFUz2mnLirMLmTMcFs9nDm
Bitmessage: BM-2cXN9j8NFT2n1FxDVQ6HQq4D4MZuuaBFyb
virtualmaster
Hero Member
*****
Offline Offline

Activity: 504



View Profile
May 29, 2013, 12:34:01 PM
 #647


name_new was eventually going to be free.. but spam would be a problem atm..

i think it should just keep going down in increments.. based on the exponential growth of storage space increase... something like that..

We could test this new domain without registration fee but with a namecoin binding to stop spam. I guess binding 1 namecoin would be OK and that would return to the domain owner after releasing the domain. So he would loose nothing and probably win when the namecoin prices will increase.

Calendars for free to print: 2014 Calendar in JPG | 2014 Calendar in PDF Protect the Environment with Namecoin: 2014 Calendar in JPG | 2014 Calendar in PDF
Namecoinia.org  -  take the planet in your hands
BTC: 15KXVQv7UGtUoTe5VNWXT1bMz46MXuePba   |  NMC: NABFA31b3x7CvhKMxcipUqA3TnKsNfCC7S
khal
Hero Member
*****
Offline Offline

Activity: 538


NamecoinID: id/khal


View Profile WWW
May 29, 2013, 01:18:05 PM
 #648

I've checked the applied fees on existing tx, and here is the result (i didn't include small tx than can be free [with 2 txIn and 2 txOut for exemple]) :

Quote
Hash : e25860839f74665bbf887844b90785223c2033ab3f852daaca7693b88cf3e713
Size : 991 bytes
Nb in : 3
Nb out : 13
NMC in : 0.34035895
NMC out : 0.30035895
Fees : 0.04
Small tx, 7 txOut dust (8x0.005)

Quote
Hash : http://explorer.dot-bit.org/tx/41e7d52cbae75263367af17b9e54318cc9a3e9e9794fecc8fc8fbc1b11ac84f2
Dust: yes
Size : 1584 bytes
Nb in : 1
Nb out : 41
NMC in : 29.32108291
NMC out : 29.16608291
Fees : 0.155
Small tx but lot of dust (~30 outputs < 0.01NMC) (31x0.005)

Quote
Hash : http://explorer.dot-bit.org/tx/c4b0234f17537d2ca092d307b4d32d6ad78b45c2e3f1cefcf106d9a5bd686208
Size : 40734 bytes
Nb in : 226
Nb out : 1
NMC in : 1.12491646
NMC out : 0.91899192
Fees : 0.20592454
Big tx (41x0.005)

Quote
Hash : http://explorer.dot-bit.org/tx/d2c7c5e95053362a2953c107a7b61550f76c1308730984e877235eace7937241
Size : 96379 bytes
Nb in : 535
Nb out : 2
NMC in : 1.00000001
NMC out : 0.51000001
Fees : 0.49
Big tx (98×0,005)

Quote
Hash : http://explorer.dot-bit.org/tx/b7ada77855875189726081bf02c5d88c7eb22ac78c56f036a5c45756e2b3cc66
Dust : yes
Size : 33386 bytes
Nb in : 225
Nb out : 2
NMC in : 0.30101498
NMC out : 0.28401498
Fees : 0.017
Big tx, 1 dust output (this tx does not follow client fees of 35x0.005=0.175)

Quote
Hash : http://explorer.dot-bit.org/tx/f519d0eef901e9920bbb532239f55304f66ae05f8e2f01b112d02a4d88699bb4
Dust: no
Size : 2605 bytes
Nb in : 1
Nb out : 71
NMC in : 17.86038983
NMC out : 17.84538983
Fees : 0.015
Small tx, no dust (3x0.005)

Quote
Hash : http://explorer.dot-bit.org/tx/1c30f791638ce5dfd9dcd48b0a17bcd86f30df673659b91fdd56adeaaba956a7
Dust: no
Size : 1312 bytes
Nb in : 1
Nb out : 33
NMC in : 2952.85195294
NMC out : 2952.84195294
Fees : 0.01
Small tx, no dust (2x0.005)


As you can see, fees are not so small (and if NMC value increase, it'll be expensive), if the tx follow the default fee mechanism with a base fee of 0.005 in the client.
The default client fee of 0.005 has been changed in version 3.5 (if I'm right), to adjust to something more reasonable and coupled with dust spam filter it seems to generate correct fees.
But, to avoid a hard fork, the relay fee is still set to 0.0001 (50 times lower), so it's possible to pay 50 times less.

So, to resume problems :
- the dust filter is a bit "raw" (for each output below 0.01NMC, add the default fee) and not suited for tx like 1c30f791638ce5dfd9dcd48b0a17bcd86f30df673659b91fdd56adeaaba956a7 & f519d0eef901e9920bbb532239f55304f66ae05f8e2f01b112d02a4d88699bb4.
- relay fees are too low
- if we both changes the way to calculate fees & relay fees, default fees will be too high.

Maybe we can :
- update the dust filter to use 0.001 as limit (instead of 0.01NMC) and add 10xFees when dust
- complete by "add fee for each txOut above the second one" (too much split penalized)
- change the relay fee to 0.0002
- change the client fee to 0.0020

About name_* transactions, we can choose to add fees in any case (so, 0.002NMC for client / 0.0002NMC for relay)
About locked coins in name_new, we can change the value to 0.0001NMC, but we'll raise the anti-dust feature Cheesy (it may be a way to force fees), so, 0.001NMC ?
With those 2 changes, people have an incentive to update to this new version (0.005NMC instead of 0.01NMC for name_new + name_firstupdate) and each name_update will cost at least 0.002NMC

Result on TXs above (currentFee => new ClientFee / new RelayFee) :
Code:
Fees : 0.04  => 0.022 / 0.0022 (0k + 13 out)
Fees : 0.155 => 0.080 / 0.0080 (1k + 41 out)
Fees : 0.206 => 0.080 / 0.0080 (40k)
Fees : 0.49  => 0.192 / 0.0192 (96k)
Fees : 0.017 => 0.086 / 0.0086 (33k + 1 dust)
Fees : 0.015 => 0.142 / 0.0142 (2k + 71 out)
Fees : 0.01  => 0.064 / 0.0064 (1k + 33 out)

* khal will read those things about bindings and similar idea.
As I don't understand very well what it means :p

NMC: N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9 | NamecoinID: id/khal | Register .bit domain
BTC: 1KHAL8bUjnkMRMg9yd2dNrYnJgZGH8Nj6T | My bitcoin Identity: send messages to bitcoin users
Free bitcoins: Surf4Bitcoin.com | Charity Ad: Make a good deed without paying a cent
khal
Hero Member
*****
Offline Offline

Activity: 538


NamecoinID: id/khal


View Profile WWW
May 29, 2013, 02:01:58 PM
 #649

Thanks finally switched from bitcoin.conf to namecoin.conf
*Sic* We severely lack of communication...

Quote
commit ff37458cb947a929284126c0517ffbc65bb96967
Author: khalahan <khal at dot-bit.org>
Date:   Tue Mar 13 09:55:11 2012 +0100

    Use namecoin.conf instead of bitcoin.conf by default
    Compatibility assured

NMC: N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9 | NamecoinID: id/khal | Register .bit domain
BTC: 1KHAL8bUjnkMRMg9yd2dNrYnJgZGH8Nj6T | My bitcoin Identity: send messages to bitcoin users
Free bitcoins: Surf4Bitcoin.com | Charity Ad: Make a good deed without paying a cent
bitpop
Legendary
*
Offline Offline

Activity: 1918


https://keybase.io/bitpop


View Profile WWW
May 29, 2013, 02:58:25 PM
 #650

Lol there's no human change log

Reputation  |  PGP  |  DigitalOcean  |  OpenVPN 2GB Free  |  TorGuard  |  Ethereum Classic
Bitcoin: 3DSh6AnmvBpDJFUz2mnLirMLmTMcFs9nDm
Bitmessage: BM-2cXN9j8NFT2n1FxDVQ6HQq4D4MZuuaBFyb
phelix
Legendary
*
Offline Offline

Activity: 1680


nmc:id/phelix


View Profile
May 29, 2013, 04:02:40 PM
 #651

recapping issues...

Hard fork
Consensus: hf is necessary. (increase value size too 9kb, increase relay fee, ...)

Tx fees
@khal: You certainly have the most insight on the code and on what is possible/worth the effort and what is not. I like the XYZ size/input/output based tx fee, if I understand correctly today only size is considered?

The client should come with reasonable default fees as you suggest. Would it be possible to change these via the config file or only via compilation?

Does the dust filter have an influence on relaying?

I agree the relay base fee should be increased. Not sure about the change of the base tx fee - all in all is that a decrease in fees compared to what we run now?

What about something more exotic like deriving the base tx fee / base relay fee from half the average of the lowest tx fee in the last 50 blocks? See https://bitcointalk.org/index.php?topic=67900.msg1627011#msg1627011 (also length staggered name_op fees could be based on this!). Ok, it's more work but I like the idea  Grin

Free txs
There is no way to force miners to include these, so I would prefer all MY txs to include fees by default. Also I don't see what the problem is to pay a tiny fee once every year.

Tx priority can be helpful should someone try to flood the network with txs so I would keep priority for miners that want to use it but have all txs pay normal fees by default. Hopefully this can simplify things, too.

The easier the fee system the better this works so it would sure be nice if there was a single base fee as khal suggests that can be adjusted.

Name op fees
IMHO it would be best if there were length staggered name op fees that would be network enforced and go to the miners (now or later does not matter). I guess it would be quite an effort, though.

Output size >! tx fee ?
Enforcing this would help making txs spendable thus reduce chainsize. It would also make name_ops a little more expensive. What is the point of all these dust tx?

* khal will read those things about bindings and similar idea.
As I don't understand very well what it means :p
I think he meant locking of some NMC as in name_new until the name expires. In contrast to destroying / coinbasing.

Messaging system
Cool but may be too much for now. Also there is bitmessage already.

blockchained.com ■ bitcointalk top posts
kodo
Jr. Member
*
Offline Offline

Activity: 42



View Profile
May 29, 2013, 05:24:36 PM
 #652

I like namecoin a lot

Just A Guy Interested In Bitcoins
bitpop
Legendary
*
Offline Offline

Activity: 1918


https://keybase.io/bitpop


View Profile WWW
May 29, 2013, 05:30:02 PM
 #653

Me too, namecoin means a lot to me.

Reputation  |  PGP  |  DigitalOcean  |  OpenVPN 2GB Free  |  TorGuard  |  Ethereum Classic
Bitcoin: 3DSh6AnmvBpDJFUz2mnLirMLmTMcFs9nDm
Bitmessage: BM-2cXN9j8NFT2n1FxDVQ6HQq4D4MZuuaBFyb
Matthew N. Wright
Untrustworthy
Hero Member
*****
Offline Offline

Activity: 588


Hero VIP ultra official trusted super staff puppet


View Profile
May 30, 2013, 08:10:44 AM
 #654

Tried contacting vinced, nothing yet, trying to get a hold of any and all namecoin developers. There is an "alt currency" panel at the 2013 Bitcoin Conference in Amsterdam, Netherlands this September 27th~29th (http://theconference.eu). I am looking to see who would be able to attend and represent namecoin there. Who aside from vinced works on or has knowledge of the project enough to represent it?

Thanks!

phelix
Legendary
*
Offline Offline

Activity: 1680


nmc:id/phelix


View Profile
May 30, 2013, 09:13:15 AM
 #655

Tried contacting vinced, nothing yet, trying to get a hold of any and all namecoin developers. There is an "alt currency" panel at the 2013 Bitcoin Conference in Amsterdam, Netherlands this September 27th~29th (http://theconference.eu). I am looking to see who would be able to attend and represent namecoin there. Who aside from vinced works on or has knowledge of the project enough to represent it?

Thanks!

Any coin you can find somebody in his right mind to represent for is boring  Grin

blockchained.com ■ bitcointalk top posts
snailbrain
Legendary
*
Offline Offline

Activity: 1134



View Profile
May 30, 2013, 10:06:41 AM
 #656

Added RPC commands: signmessage, verifymessage, listunspent, listaddressgrouping

https://github.com/namecoin-qt/namecoin-qt/commit/97994191af4bb5365e2d40093f367cc3b9d7e669

https://github.com/namecoin-qt/namecoin-qt

http://www.mediafire.com/folder/3aa8ukj7v6m5d/Namecoin-qt

bitpop
Legendary
*
Offline Offline

Activity: 1918


https://keybase.io/bitpop


View Profile WWW
May 30, 2013, 12:25:34 PM
 #657

Nice upgraded

Reputation  |  PGP  |  DigitalOcean  |  OpenVPN 2GB Free  |  TorGuard  |  Ethereum Classic
Bitcoin: 3DSh6AnmvBpDJFUz2mnLirMLmTMcFs9nDm
Bitmessage: BM-2cXN9j8NFT2n1FxDVQ6HQq4D4MZuuaBFyb
khal
Hero Member
*****
Offline Offline

Activity: 538


NamecoinID: id/khal


View Profile WWW
May 30, 2013, 01:56:06 PM
 #658

Added RPC commands: signmessage, verifymessage, listunspent, listaddressgrouping
Wow, a lot of work ! Need to be backported to namecoind too...
For info, last time I tested namecoin-qt, it was displaying the small starting window and then crash (but it compiles :p, debian 7, 64bits).
I'll update and test again.

For info to other people, I've done a quick review of all the code changes in namecoin-qt (about 2000 lines for qt without transalctions + changes to namecoind) up to 2 days ago and didn't see something suspicious.

Tx fees
@khal: You certainly have the most insight on the code and on what is possible/worth the effort and what is not. I like the XYZ size/input/output based tx fee, if I understand correctly today only size is considered?
Yes, size of tx for client and also size of the future block for miners.


The client should come with reasonable default fees as you suggest. Would it be possible to change these via the config file or only via compilation?
Currently, only by compiling it. But it can be added as command line options like in bitcoin.


Does the dust filter have an influence on relaying?
Yes, it is applied after that the free mechanism reduces fees to 0. However, not all miners may use it (old version of namecoind).
Fees on size are applied before the free mechanism, and it hinders me a bit.
If we agree that what is expensive for the network is data storage/signature checks, then, the fees applied on size/txOut should be after applied the free mechanism, like the dust one.
Current steps :
1. fees = size x baseFee
2. fees = 0 if (priority & size < 1k / block < 9k)
3. fees = + dust

I would like something like :
1. fess = baseFee
2. fees = 0 if (priority & size < 1k / block < 9k)
3. fees = size x baseFee
4. fees = + dust
5. fees = + split

I agree the relay base fee should be increased. Not sure about the change of the base tx fee - all in all is that a decrease in fees compared to what we run now?
Splitting is more expensive, dust less (due to reduced threshold) & more (due to 10x the fees), size less (due to reduced fees); standard tx less (due to reduced fees).
Im' not sure about reducing fees too, but we must plan things as if 1NMC = 10 x current value => 10$. Is the current fee value of 0.005 still adapted to this ?
[Edit: I didn't add fees for txIn on my previous post, maybe we could do it too for each txIn above 2, which would increase fees for those tx]


What about something more exotic like deriving the base tx fee / base relay fee from half the average of the lowest tx fee in the last 50 blocks? See https://bitcointalk.org/index.php?topic=67900.msg1627011#msg1627011 (also length staggered name_op fees could be based on this!). Ok, it's more work but I like the idea  Grin
Indeed, more work...

Free txs
There is no way to force miners to include these, so I would prefer all MY txs to include fees by default. Also I don't see what the problem is to pay a tiny fee once every year.

Tx priority can be helpful should someone try to flood the network with txs so I would keep priority for miners that want to use it but have all txs pay normal fees by default. Hopefully this can simplify things, too.

The easier the fee system the better this works so it would sure be nice if there was a single base fee as khal suggests that can be adjusted.
Ok, so no change in priority/free mechanism for miners, but fees for everybody on the client side ? Keeping this part as it is already is the most simple choice :p
But as I propose to remove free tx for miners if size > 1k... I would like to let the choice for miners to include free tx, but only if txSize < 1k, and apply fees for size in other cases (even if the blockSize is mall).


Name op fees
IMHO it would be best if there were length staggered name op fees that would be network enforced and go to the miners (now or later does not matter). I guess it would be quite an effort, though.
If it is going to miners now, it may be more simple for users (nothing to do). In the other case, that would require to check for each name_tx if the name is expired and if the coins can be selected + force it to go to fees. Or add a name_refund/release rpc command.
Both choices (miner fees or locked funds until expirations) will need some effort.


Output size >! tx fee ?
Enforcing this would help making txs spendable thus reduce chainsize. It would also make name_ops a little more expensive. What is the point of all these dust tx?
What is currently considered as dust are txOut below 0.01NMC, which seems to be quite frequent in the chain (but still > 0.001NMC). Mining ? Gambling ?
I'm for a stacked fee system : each characteristic of a tx can require a small amount of fees that are added to each other => less way to cheat the system as a "bad" tx will fall in at least one case, while allowing standard tx to remain cheap.

NMC: N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9 | NamecoinID: id/khal | Register .bit domain
BTC: 1KHAL8bUjnkMRMg9yd2dNrYnJgZGH8Nj6T | My bitcoin Identity: send messages to bitcoin users
Free bitcoins: Surf4Bitcoin.com | Charity Ad: Make a good deed without paying a cent
snailbrain
Legendary
*
Offline Offline

Activity: 1134



View Profile
May 30, 2013, 02:03:25 PM
 #659

Added RPC commands: signmessage, verifymessage, listunspent, listaddressgrouping
Wow, a lot of work ! Need to be backported to namecoind too...
For info, last time I tested namecoin-qt, it was displaying the small starting window and then crash (but it compiles :p, debian 7, 64bits).
I'll update and test again.


ok thanks.. have not had any reports of crashing.. but let me know

you should be able to compile the namecoind


I read the post with all the tx testing.. i can't say i fully understand it.. but did you check the changes to the latest bitcoin? (obviously may not fit in with namecoin)

khal
Hero Member
*****
Offline Offline

Activity: 538


NamecoinID: id/khal


View Profile WWW
May 30, 2013, 02:11:13 PM
 #660

Tried contacting vinced, nothing yet, trying to get a hold of any and all namecoin developers. There is an "alt currency" panel at the 2013 Bitcoin Conference in Amsterdam, Netherlands this September 27th~29th (http://theconference.eu). I am looking to see who would be able to attend and represent namecoin there. Who aside from vinced works on or has knowledge of the project enough to represent it?

Thanks!
Vinced has disappear a long time ago like Satoshi (it was his intent). I hope he would have replied to some of my messages, but it was not the case anymore quite shortly :p
I'm not a communicating guy, but, I'm not fully closed to the proposition.
Any other person interested ?

People able to speak about namecoin : at least phelix & midnightmagic, and surely others

[edit]: matching thread here : https://bitcointalk.org/index.php?topic=209152.0 ?
Why need 2 different conferences ? Not possible to speak about several aspects (social & economic & etc) at the same conference ?
[/edit]

NMC: N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9 | NamecoinID: id/khal | Register .bit domain
BTC: 1KHAL8bUjnkMRMg9yd2dNrYnJgZGH8Nj6T | My bitcoin Identity: send messages to bitcoin users
Free bitcoins: Surf4Bitcoin.com | Charity Ad: Make a good deed without paying a cent
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 »
  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!