Bitcoin Forum
May 04, 2024, 12:08:36 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 223 »
  Print  
Author Topic: [IOTA] Крипто-токен для "интернета вещей" (Internet-of-Things)  (Read 226521 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.
0n0t0le
Legendary
*
Offline Offline

Activity: 1512
Merit: 1125


Swapzone


View Profile WWW
December 23, 2015, 01:07:07 PM
Last edit: December 23, 2015, 01:55:57 PM by 0n0t0le
 #21

Кто будет придумывать себе пароли для затребования Йот, лучше не используйте 9 в конце (именно в конце) фразы: https://bitcointalk.org/index.php?topic=1216479.msg13335183#msg13335183

it's interesting! What is the algo again that derives adress from secrect phrase, and how does it give '9' such funny properties?
https://github.com/JinnLabs/SaM/blob/master/src/SaM.java:
Quote
Note that the hash of the empty string is all zeros, this can be used in cases when the hash of NULL should be NULL.
"9" is treated as "all zeros"/NULL.
What I just tested shows that the any additional '9' or '999999' in the end of the passphrase gives the same address as the original passphrase. But different addresses were returned if '9' or '9999' was inserted in the middle of the original passphrase.

а что за прикол такой, пароли могу состоять только из латинских цифр в нижнем регистре и цифры 9 ?...-это чтобы брутить было проще?
и еще через сколько подтверждений сети искать себя в списке с адресами йоты

Swap BTC to XMR and 1600+ tokens without KYC
1714781316
Hero Member
*
Offline Offline

Posts: 1714781316

View Profile Personal Message (Offline)

Ignore
1714781316
Reply with quote  #2

1714781316
Report to moderator
"Bitcoin: the cutting edge of begging technology." -- Giraffe.BTC
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714781316
Hero Member
*
Offline Offline

Posts: 1714781316

View Profile Personal Message (Offline)

Ignore
1714781316
Reply with quote  #2

1714781316
Report to moderator
1714781316
Hero Member
*
Offline Offline

Posts: 1714781316

View Profile Personal Message (Offline)

Ignore
1714781316
Reply with quote  #2

1714781316
Report to moderator
DrBeer
Legendary
*
Offline Offline

Activity: 3752
Merit: 1864


View Profile WWW
December 23, 2015, 03:20:26 PM
 #22

Кто будет придумывать себе пароли для затребования Йот, лучше не используйте 9 в конце (именно в конце) фразы: https://bitcointalk.org/index.php?topic=1216479.msg13335183#msg13335183

it's interesting! What is the algo again that derives adress from secrect phrase, and how does it give '9' such funny properties?
https://github.com/JinnLabs/SaM/blob/master/src/SaM.java:
Quote
Note that the hash of the empty string is all zeros, this can be used in cases when the hash of NULL should be NULL.
"9" is treated as "all zeros"/NULL.
What I just tested shows that the any additional '9' or '999999' in the end of the passphrase gives the same address as the original passphrase. But different addresses were returned if '9' or '9999' was inserted in the middle of the original passphrase.

а что за прикол такой, пароли могу состоять только из латинских цифр в нижнем регистре и цифры 9 ?...-это чтобы брутить было проще?
и еще через сколько подтверждений сети искать себя в списке с адресами йоты

Я тоже не совсем понял эту "простоту" при генерации пароля. Хотя 81 знак (максимальная длинна которая допускается при генерации), пусть из 26+1 символов - тоже не простая задача для перебора. Возможно это както связанно с платформами на которых оно будет крутиться - не всякий чайник будет понимать русские буквы или китайские иероглифы Smiley Хотя остается загадкой - почему используется из цифр только 9...

...AoBT...
▄▄█████████████████▄▄
███████████████████████
█████████████████████████
███████████████████████
██████████████████████
█████████████████████
███████████████████████
██████████████████████
█████████████████████
█████████████████████
█████████████████████████
███████████████████████
█████████████████
The Alliance
of Bitcointalk
Translators
▄▄▄███████▄▄▄
▄███████████████▄
▄███
████████████████▄
▄██
███████████████████▄
▄█
██████████████████████▄
████████████████████████
█████████████████████
████████████████████████
▀███████████████████████▀
▀███████████████████
▀███████████████████▀
███████████████▀
▀▀▀███████▀▀▀
.
..JOIN US..

▄███████████████████████▄
█████████████████████████
█████▀▀██████▀▀██▀▀▀▀████
████████▀██████████
████▄▄▄▄▀███████
███████▄▀▄█▀▀███████
█████████████████████████
█████████████████████████
████████████▀████████████
▀███████████████████████▀
█████

██████████
.
..HIRE US..
DrBeer
Legendary
*
Offline Offline

Activity: 3752
Merit: 1864


View Profile WWW
December 23, 2015, 03:46:47 PM
 #23

... а потом пойдет вирусня для IoT, пойдут жалобы типа "мой утюг, су.а такая, стырил у меня бабло, и отправил своей любовнице-мультиварке в Задрыщенске". Или "банда кофеварок, вступив в преступный сговор, ограбила посетителей кафе" Smiley

...AoBT...
▄▄█████████████████▄▄
███████████████████████
█████████████████████████
███████████████████████
██████████████████████
█████████████████████
███████████████████████
██████████████████████
█████████████████████
█████████████████████
█████████████████████████
███████████████████████
█████████████████
The Alliance
of Bitcointalk
Translators
▄▄▄███████▄▄▄
▄███████████████▄
▄███
████████████████▄
▄██
███████████████████▄
▄█
██████████████████████▄
████████████████████████
█████████████████████
████████████████████████
▀███████████████████████▀
▀███████████████████
▀███████████████████▀
███████████████▀
▀▀▀███████▀▀▀
.
..JOIN US..

▄███████████████████████▄
█████████████████████████
█████▀▀██████▀▀██▀▀▀▀████
████████▀██████████
████▄▄▄▄▀███████
███████▄▀▄█▀▀███████
█████████████████████████
█████████████████████████
████████████▀████████████
▀███████████████████████▀
█████

██████████
.
..HIRE US..
Krypt (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1096



View Profile
December 23, 2015, 05:29:56 PM
 #24

Хотя остается загадкой - почему используется из цифр только 9...
Один из разработчиков (а может и единственный) так это объяснил:
why the fuck not 12345678 ?
Iota is the 9th letter of Greek alphabet.
Но потом признал правоту более говорливого читателя:

I'm going to read a bit between the lines here but IOTA is built to work efficiently with a ternary (as opposed to ye traditional binary) processor that CfB is working on.  I would assume that since there are 26 letters in the English alphabet, adding an additional character to the list would make a well rounded 27 (3^3) available characters.  So 3 trits (think base-3 bits) can easily represent one character in the pubkey.  By adding one more character to the usable alphabet you don't have to filter out or validate that one, unusable value. All possible 3-trit values can be used for an 81-character pubkey.

But why 9?  Since 0 and 1 tend to be thrown out of specialty character sets that may need to be read by humans, this would leave digits 2-9 as possible numeric candidates for the 27th letter of the alphabet.  

Being that this is for a ternary system, we could narrow down the numeric character subset to values "2", "3", "6" and "9" as best possibly choices for stylistic reasons.

Since 9 = 3^2 and as CfB mentioned is the position of the Iota in the Greek alphabet, it makes sense to use the character "9" as the final letter in the IOTA pubkey alphabet.
Он ошибся только в том, что, как сейчас выяснилось, "9" не замыкает, а открывает Йотовый алфавит, как это видно в процедуре генерации публичного ключа из пароля:
Code:
tryte = ("9abcdefghijklmnopqrstuvwxyz").indexOf(seed.charAt(i));
DrBeer
Legendary
*
Offline Offline

Activity: 3752
Merit: 1864


View Profile WWW
December 23, 2015, 05:45:31 PM
 #25

Ну более менее логичное пояснение !
Ps Йотовый алфавит както звучит...как то не шибко звучно...Почти как йотанный со всеми созвучиями  Smiley

...AoBT...
▄▄█████████████████▄▄
███████████████████████
█████████████████████████
███████████████████████
██████████████████████
█████████████████████
███████████████████████
██████████████████████
█████████████████████
█████████████████████
█████████████████████████
███████████████████████
█████████████████
The Alliance
of Bitcointalk
Translators
▄▄▄███████▄▄▄
▄███████████████▄
▄███
████████████████▄
▄██
███████████████████▄
▄█
██████████████████████▄
████████████████████████
█████████████████████
████████████████████████
▀███████████████████████▀
▀███████████████████
▀███████████████████▀
███████████████▀
▀▀▀███████▀▀▀
.
..JOIN US..

▄███████████████████████▄
█████████████████████████
█████▀▀██████▀▀██▀▀▀▀████
████████▀██████████
████▄▄▄▄▀███████
███████▄▀▄█▀▀███████
█████████████████████████
█████████████████████████
████████████▀████████████
▀███████████████████████▀
█████

██████████
.
..HIRE US..
Krypt (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1096



View Profile
December 23, 2015, 08:05:25 PM
 #26

Чем дальше в .. плетень, тем чудесатее ...  Выясняется, что 9-ка, обозначающая ноль, это цветочки. В Йоте отрицательные транзакции называются "входами", а положительные - "выходами":

There are transactions in Iota and their bundles. A bundle = one or several transactions. Every transaction can be a message, an output or an input. A message doesn't change balances and can contain any data. An output is an operation that increases the balance of an address. An input is an operation that decreases the balance of an address.

A typical transaction bundle may look like this:

-500 XXX
+400 YYY
+100 ZZZ
0 For Neuropozyne (50mg)

Here we see that XXX sends 400 iotas to YYY and 100 iotas (change) back to himself. There are 4 transactions, -500 is input and +400 and +100 are outputs. So transactions with negative values are possible. 0-value transactions can be ignored when calculating balances.
maxll
Legendary
*
Offline Offline

Activity: 1011
Merit: 1006


View Profile
December 23, 2015, 08:16:11 PM
 #27

Похоже я проспал редкую годноту...
0n0t0le
Legendary
*
Offline Offline

Activity: 1512
Merit: 1125


Swapzone


View Profile WWW
December 24, 2015, 09:51:00 AM
 #28

Похоже я проспал редкую годноту...
ничего запустят кошельки сразу найдутся желающие слить все по цене х2=) чем не шанс-)

Swap BTC to XMR and 1600+ tokens without KYC
info_infoman
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
December 24, 2015, 04:05:25 PM
 #29

а чтоза алгоритм? кто по русски объяснить может?

tolikkk
Hero Member
*****
Offline Offline

Activity: 952
Merit: 1000


www.pumpmycoin.com


View Profile WWW
December 24, 2015, 08:29:56 PM
 #30

а где можно приобрести данный токен? и какая стоимость на предпродаже и вцелом сейчас?
спасибо
0n0t0le
Legendary
*
Offline Offline

Activity: 1512
Merit: 1125


Swapzone


View Profile WWW
December 24, 2015, 08:51:51 PM
 #31

а где можно приобрести данный токен? и какая стоимость на предпродаже и вцелом сейчас?
спасибо

можно было приобрести....вы опоздали всего на 4 дня...с подробностями прошедшего краудсэйла можно ознакомится тут
https://bitcointalk.org/index.php?topic=1262688.0

Swap BTC to XMR and 1600+ tokens without KYC
Krypt (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1096



View Profile
December 24, 2015, 08:59:44 PM
Last edit: September 25, 2016, 01:46:49 PM by Krypt
 #32

а чтоза алгоритм? кто по русски объяснить может?
Алгоритм PoW. Но награды за блок нет. И блоков тоже нет. И комиссий за транзакции, конечно, нет. Простота, значит простота.
Есть Путаница (Tangle). Или, может, "Плетёнка", как кому больше нравится. Мне нравится "Хала": https://ru.wikipedia.org/wiki/%D0%A5%D0%B0%D0%BB%D0%B0


Есть только транзакции (пачки транзакций). Чтобы вставить свою пачку транзакций в нити Путаницы, пир должен выполнить некоторую работу. PoW.

Это всё.

Пачка (bundle) - в "белой книге" ещё называемая "тип" (tip) - должна ссылаться ровно на две предыдущие пачки.

Вся хитрость в том, какие выбрать параметры алгоритма выбора этих двух пачек.
Нужно, чтобы Путаница не слишком росла вширь, но и не превращалась в тонкую верёвку. Ибо где тонко, там и рвётся.

То есть по сравнению с Биткоином всё перевёрнуто с ног на голову. Отправить транзакцию стоит работы, но не требует комиссии. Майнинга нет, блокчейна нет, полные узлы не нужны. Поскольку нет блоков - нет и межблоковых интервалов, узлы постоянно отправляют транзакции - встраивают их в Путаницу. Каждый пир видит только свои нити Путаницы. И работу пир выполняет не двоичную, как во всех компьютерах, а троичную: https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B8%D1%82  Зато защищённую от квантовых компьютеров.

Ну и логотипчик с намёком. Как будто отпечатки трёх лап троичного медведя. Который нагнёт биткоин.

wonko86
Legendary
*
Offline Offline

Activity: 1624
Merit: 1024



View Profile
December 24, 2015, 10:18:22 PM
 #33

Еще раз перечитал информацию. Если разработчики все внедрят и запустят проект, то выйдет очень стоящая штука.
Жаль что не купил на пресейле Embarrassed
info_infoman
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
December 25, 2015, 04:21:57 AM
 #34

спасибо!
Алгоритм PoW. Но награды за блок нет. И блоков тоже нет. И комиссий за транзакции, конечно, нет. Простота, значит простота.

Вся хитрость в том, какие выбрать параметры алгоритма выбора этих двух пачек.
Нужно, чтобы Хала не слишком росла вширь, но и не превращалась в тонкую верёвку. Ибо где тонко, там и рвётся.

То есть по сравнению с Биткоином всё перевёрнуто с ног на голову. Отправить транзакцию стоит работы, но не требует комиссии. Майнинга нет, блокчейна нет, полные узлы не нужны. Каждый пир видит только свои нити Халы. И работу пир выполняет не двоичную, как во всех компьютерах, а троичную: https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B8%D1%82  Зато защищённую от квантовых компьютеров.

то есть узел получает информацию о деятельности другого узла только получив от него пачку, и рекурсивно может проследить историю его пачек? типа эстафета pow в транзакциях?
и важно чтобы было хотя бы 2 транзакции на входе новой пачки?

вопрос - а генезис значит должен начинаться с двух транзакций? чтобы начать плетение?
или просто четное множество генезис блоков?

возможные атаки?

Krypt (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1096



View Profile
December 25, 2015, 09:16:47 AM
 #35

а где можно приобрести данный токен? и какая стоимость на предпродаже и вцелом сейчас?
спасибо
Здесь -  https://bitcointalk.org/index.php?topic=1262688.msg13349427#msg13349427  - уже торгуют йотами по 100тыс за 1BTC (продавец затребует йоты сразу на ваш адрес, если не кинет, конечно). Это всего лишь в 7 раз дороже IPO.

то есть узел получает информацию о деятельности другого узла только получив от него пачку, и рекурсивно может проследить историю его пачек? типа эстафета pow в транзакциях?
Да

Quote
и важно чтобы было хотя бы 2 транзакции на входе новой пачки?
Я бы поосторожнее использовал термины вход/выход применительно к Йоте: https://bitcointalk.org/index.php?topic=1298661.msg13339694#msg13339694  Скорее можно сказать, что каждая новая пачка обязана ссылаться ровно на две пачки из предыдущих нитей Халы.

Quote
вопрос - а генезис значит должен начинаться с двух транзакций? чтобы начать плетение?
или просто четное множество генезис блоков?
Не с двух, и даже не с чётного количества, т.к. на любую пачку, в том числе генезисную, может ссылаться произвольное число очередных пачек.
 
Quote
возможные атаки?
Если знаешь - пиши разработчикам прямо сейчас, чтобы они предотвратили их до выпуска. Ибо когда алгоритм реализуют в миллионах кофемолок и миллиардах лампочек, проапгрейдить его будет крайне сложно.  Один вектор атаки обсуждали здесь: https://bitcointalk.org/index.php?topic=1216479.msg12814973#msg12814973

и разработчики изменили (даже в описании в "белой книге") алгоритм выбора предыдущих пачек.
info_infoman
Sr. Member
****
Offline Offline

Activity: 460
Merit: 250



View Profile
December 25, 2015, 09:52:41 AM
 #36

Если знаешь - пиши разработчикам прямо сейчас, чтобы они предотвратили их до выпуска. Ибо когда алгоритм реализуют в миллионах кофемолок и миллиардах лампочек, проапгрейдить его будет крайне сложно.  Один вектор атаки обсуждали здесь: https://bitcointalk.org/index.php?topic=1216479.msg12814973#msg12814973

и разработчики изменили (даже в описании в "белой книге") алгоритм выбора предыдущих пачек.
я в инглише не разберусь тем более в такой сложной теме
я так образно понял что взятие выхода предыдущей пачки есть утверждение что ты веришь в правильность этой пачки (подтверждение)

значит логика основана на сложности сложенной из множества пачек в нитке

вопрос даже не в том что злоумышленник может попытаться нагенерировать нитку равной и большей сложности, вопрос чисто технический
- если раньше маленькие майнеры объединялись для создания большей сложности(устойчивости) в своей цепи, то тут получается что каждый майнер сам себе майнер, и сложность у ниток будет разная, да и вычислительные мощности у всех разные, я понимаю если распределение сложности в целом по нитке будет  изотропным и однородным, но это как говорится в идеальном газе так или в масштабах вселенной, но в условиях нашего Интернет  и условиях жизни в соц слоях населения мне кажется это совсем не так будет, в Китае будут строится нитки с пентахешами, у нас с гигахешами, и выходит наши пачки а значит и цепочки будут в итоге не востребованы(не подтверждены)?
если в друг нода в США будет выбирать из пачки отправленной из Китая и из пачки отправленной из России (опуская число полученных пачек).

Не слишком ли мало параметров для утверждения что пачка валидна? у битка хоть рассылка транзакций есть и какой никакой mempool , в условиях микроустройств блокчейн не засунешь, остается только сложность, и что Китай с ихими пентахешами будет командовать моим чайником? я не согласный  Grin Shocked

0n0t0le
Legendary
*
Offline Offline

Activity: 1512
Merit: 1125


Swapzone


View Profile WWW
December 25, 2015, 10:37:06 AM
 #37

а где можно приобрести данный токен? и какая стоимость на предпродаже и вцелом сейчас?
спасибо
Здесь -  https://bitcointalk.org/index.php?topic=1262688.msg13349427#msg13349427  - уже торгуют йотами по 100тыс за 1BTC (продавец затребует йоты сразу на ваш адрес, если не кинет, конечно). Это всего лишь в 7 раз дороже IPO.


а как вы рассчитали что данная цена в 7 раз дороже IPO, если еще не известно - кому сколько начислили монет за краудсэйл... или я чего то не знаю...?

а я бля сука пупая и не хуя  не понимаю
входила по лету 280    сей  он 430     
а ты   бля  дрочишь   
 прими это и будем договариваться   нет   умрешь   не родившийся
лс

ЧТОТ   ДОХРЕНА  КАКОЙТО ИНЫФ  ТУПОЙ

Наркоман штоле?

Swap BTC to XMR and 1600+ tokens without KYC
Krypt (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1096



View Profile
December 25, 2015, 10:47:17 AM
 #38

........................
Наркоман штоле?
Наверное это был Тьюринг тест на модерацию этого топика... Тест успешно пройден!


................................
Здесь -  https://bitcointalk.org/index.php?topic=1262688.msg13349427#msg13349427  - уже торгуют йотами по 100тыс за 1BTC (продавец затребует йоты сразу на ваш адрес, если не кинет, конечно). Это всего лишь в 7 раз дороже IPO.
а как вы рассчитали что данная цена в 7 раз дороже IPO, если еще не известно - кому сколько начислили монет за краудсэйл... или я чего то не знаю...?
Я не рассчитывал - так написали по той ссылке "1BTC in Phase 3 of the Crowdfund ( no bonus ) would get you over 700,000 iota.".
0n0t0le
Legendary
*
Offline Offline

Activity: 1512
Merit: 1125


Swapzone


View Profile WWW
December 25, 2015, 11:36:44 AM
 #39

........................
Наркоман штоле?
Наверное это был Тьюринг тест на модерацию этого топика... Тест успешно пройден!


................................
Здесь -  https://bitcointalk.org/index.php?topic=1262688.msg13349427#msg13349427  - уже торгуют йотами по 100тыс за 1BTC (продавец затребует йоты сразу на ваш адрес, если не кинет, конечно). Это всего лишь в 7 раз дороже IPO.
а как вы рассчитали что данная цена в 7 раз дороже IPO, если еще не известно - кому сколько начислили монет за краудсэйл... или я чего то не знаю...?
Я не рассчитывал - так написали по той ссылке "1BTC in Phase 3 of the Crowdfund ( no bonus ) would get you over 700,000 iota.".

Ясно ну подождем, посмотрим сколько начислят с бонусом=)))
да парниша тест не прошел, к успеху шел=-)

Swap BTC to XMR and 1600+ tokens without KYC
Krypt (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1096



View Profile
December 25, 2015, 11:45:07 AM
 #40

я так образно понял что взятие выхода предыдущей пачки есть утверждение что ты веришь в правильность этой пачки (подтверждение)
значит логика основана на сложности сложенной из множества пачек в нитке
Я уже писал выше "поосторожнее использовал термины вход/выход применительно к Йоте". У пачек нет никаких выходов. Наоборот, на пачку могут ссылаться новые пачки. В биткоине последний блок в цепочке ссылается на предыдущий блок, но это не означает, что транзакции этого блока "берут" выходы транзакций предыдущего блока. Так и пачки Йоты могут ссылаться назад на две какие-то пачки, даже не зная, что там за транзакции внутри. Но конечно - я так думаю - когда пир сканирует нити Халы назад, в поисках подходящей пачки, он проверяет правильность пачки-кандидата. Да, на основе сложности пачки.


вопрос даже не в том что злоумышленник может попытаться нагенерировать нитку равной и большей сложности, вопрос чисто технический
- если раньше маленькие майнеры объединялись для создания большей сложности(устойчивости) в своей цепи, то тут получается что каждый майнер сам себе майнер, и сложность у ниток будет разная, да и вычислительные мощности у всех разные, я понимаю если распределение сложности в целом по нитке будет  изотропным и однородным, но это как говорится в идеальном газе так или в масштабах вселенной, но в условиях нашего Интернет  и условиях жизни в соц слоях населения мне кажется это совсем не так будет, в Китае будут строится нитки с пентахешами, у нас с гигахешами, и выходит наши пачки а значит и цепочки будут в итоге не востребованы(не подтверждены)?
если в друг нода в США будет выбирать из пачки отправленной из Китая и из пачки отправленной из России (опуская число полученных пачек).
Я так понял новая пачка будет выбирать в нитях Халы не самую "сложную" пачку-кандидата, а самую несложную, на которую ссылается ещё пока не слишком много пачек. Поэтому пентахеши и гигахеши не нужны - майнинга нет, т.к. награды за блок нет. То есть американская лампочка будет выбирать наши (слабые) пачки, а не китайские.
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 ... 223 »
  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!