Bitcoin Forum
November 16, 2024, 01:04:22 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [ANN] BIGcoin 更匿名,新的难度调整算法  (Read 1191 times)
lihuajkl (OP)
Legendary
*
Offline Offline

Activity: 1596
Merit: 1000


View Profile
March 26, 2015, 09:53:02 AM
Last edit: March 27, 2015, 04:14:50 AM by lihuajkl
 #1

原文https://bitcointalk.org/index.php?topic=788794,本人代为翻译


之前被命名为 HardForkcoin

水龙头!
中文翻译奖励。
从交易平台购买打5折!
小额投资,回报丰厚。
幸运抽奖
爱是从爱胸部开始? 现在让你的爱得到报酬!
下载钱包,将会得到报酬!
为你的付款地址免费增添域名!
创建MAC钱包将获得奖励。
捐赠100,获得1100!
猜‘过期的时间’而获得报酬!


特别说明
没有不切实际的大话,像“全球”,“企业”,“世界”,“基础” 。。。
没有复杂而实现不了的技术
没有IPO/ICO 等等这些。。。
没有中心化的环节 ('接口', 自动校验等等。。。).
只是关于开发有实际应用的技术。
杜绝51% 攻击的发生


解决了比特币的弱点。

发动 51% 攻击有奖励

BIGcoin使用被称为短链的的方法来预防双花的出现。 不管攻击者算力有多大,一旦一个交易确认了, (12 个区块), 他都没办法撤销这个交易。 拥有 BIGcoin, 请不要担心你的钱会被盗走。

虽然核心的技术已经开发出来了,但是一些重要的功能还在开发之中(我们对所要实现的目标已经很明确)。目前从技术上说它能消除51% 攻击,还是要等到完全开发出来的时候,它会更加的稳固。现在协议中的代码还需要优化一些。 我们正朝着这个目标前进。

在9.2.0.0版本的钱包中, 这个特性默认被禁用,当协议代码完全被开发出来的时候,这个特性还将被激活。 可以使用 -shortfork 命令来激活它。

假如你不能够连到正确的区块链上,请查看-fork选项的说明。

这些是你受到攻击的迹象,以及如何预防的方法 (查看 debug.log)。 这些信息总共可以分为4种,以及对应4种情况。




另外一种信息。




查看详细说明
TLS (SSL) v1.2 加密的连接,(比tor还好)


代码:
Code:
$ openssl s_client -tls1_2 -connect seed.hardforkcoin.org:14351 
CONNECTED(00000003)
depth=0 C = GB, O = BIGcoin, CN = My IP
verify error:num=18:self signed certificate
verify return:1
depth=0 C = GB, O = BIGcoin, CN = My IP
verify return:1
---
Certificate chain
0 s:/C=GB/O=BIGcoin/CN=My IP
i:/C=GB/O=BIGcoin/CN=My IP
---
服务器的证书(Server certificate)
-----BEGIN CERTIFICATE-----
MIIC1zCCAb+gAwIBAwIBATANBgkqhkiG9w0BAQ0FADAvMQswCQYDVQQGEwJHQjEQ
MA4GA1UECgwHQklHY29pbjEOMAwGA1UEAwwFTXkgSVAwHhcNMTUwMzE2MDMyNjE4
WhcNMTYwMzE3MDMyNjE4WjAvMQswCQYDVQQGEwJHQjEQMA4GA1UECgwHQklHY29p
bjEOMAwGA1UEAwwFTXkgSVAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQD0M5CcFgsUqK8kgfsQYS8gbpz6pu2v9CbfOCLuKH2K9niQKqU8nZuXGwhUTOO2
OLQhH5xypIrw271d+exTR/15P8tMCjGDnRKIIDNuc9JjBBjMdfjHMXzrCK++o1ij
wFgkMItTvmpImHgU7EYh0zsK/PSZRhXSbu6ejiCo1NP9BWWADxMECHHJd/1OQxsi
SYsQ8z5UaY/vpW7m5be7u1SDUdJ5kEykj+UqGJ+847y3ZxmlWVAnedcWq3VNj/UD
bnvg07ffAlN69psmgEdPfe3jrF4WsehQ2JXuBj7mUjzYAGZXNNOCAz6fAiCG6ksh
lgHby4UImzy0adJrjM924H61AgMBAAEwDQYJKoZIhvcNAQENBQADggEBAFxx5fRh
Zgr7opWLMe/LqHvQXfC3Bk9a6fJ468TlHTQZK27iXBQTh46l7mkcAZZVIo9m9tJM
9kK/XwUnIacOwyNDqgylkCWqbUPTgob5pALi6uPTSSnh1Jquw1gPsSNJkEnBzBQX
p4G8YlQ3rWMZ1VACK669ipJLUQq51e5aRMxPqxt9BI1ZeZqvyUjmdixnGNgrmoML
PQvuRS6cU8Oh9Kz+MTOG5sIkHwUXt2Uq/2jrCyi2EFyja5TudoF2R/g/N3TL1Krq
Yn3hvMb8vSQLvIQwh0D58Ri7A3sqEt+WaW9kmR/Zw5D2kQcqLIUZlKsawyYWQRRq
kRm+OIW3TqvqcOE=
-----END CERTIFICATE-----
subject=/C=GB/O=BIGcoin/CN=My IP
issuer=/C=GB/O=BIGcoin/CN=My IP
---
No client certificate CA names sent
---
SSL handshake has read 1053 bytes and written 635 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
Protocol : TLSv1.2
Cipher : AES256-GCM-SHA384
Session-ID: 672E3DCA1E9E6A762A50C0580C9D7D7F27BAD635918EB33F00330FD0AC21A946
Session-ID-ctx:
Master-Key: EDA8C354209510C53F3D0DE7E3B350ABE5626977A25BBE8AA93829F84D37CB6798D528BEC6D2A3D97A5E2FE2BB251E7C
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 96 16 d0 71 8b a6 24 bf-21 f3 d1 06 ad dd 07 39 ...q..$.!......9
0010 - d5 7b 04 96 7a 8d 99 1a-3c 57 e0 3a bc 5f ca e9 .{..z...<W.:._..
0020 - 59 62 3d 55 90 af 2d 6d-a3 02 4e 7d 6f 0d ee 55 Yb=U..-m..N}o..U
0030 - 49 1e 1e 1f 04 14 dc cb-12 74 6b 9b bb 9a e5 5e I........tk....^
0040 - 13 24 f3 7f 9b 02 5b 0b-b9 84 c8 87 83 7f 42 46 .$....[.......BF
0050 - 81 28 f2 ed 79 fa d2 44-f3 c7 b6 b5 f1 04 0c 36 .(..y..D.......6
0060 - eb 88 e8 d5 10 6a 79 28-aa 66 a8 a8 0a 5a e0 a1 .....jy(.f...Z..
0070 - 76 9f 37 2f 49 dc 26 27-60 41 3d 6e 83 85 f0 62 v.7/I.&'`A=n...b
0080 - b6 f8 84 a3 16 73 e1 42-8c bd cc 43 1d 48 01 2b .....s.B...C.H.+
0090 - 23 43 c4 95 1e 67 0a a0-0c 58 bc b2 4f 6f a5 39 #C...g...X..Oo.9

Compression: 1 (zlib compression)
Start Time: 1426698460
Timeout : 7200 (sec)
Verify return code: 18 (self signed certificate)
---

{
"addr" : "103.242.119.194:14351",
"services" : "00000001",
"lastsend" : 1426698809,
"lastrecv" : 1426698808,
"bytessent" : 1223,
"bytesrecv" : 146,
"conntime" : 1426698808,
"version" : 70001,
"subver" : "/Blake:9.3.0/",
"inbound" : 0,
"startingheight" : 565221,
"banscore" : 0,
"cipher" : "AES256-GCM-SHA384",
"CertificateKeySize" : 2048,
"syncnode" : 1
}

由BIGcoin钱包发起的连接都使用 TLS v1.2加密;从而你的 IPS 或者网络管理员或者政府都没办法查看你所进行的活动,确保了BIGcoin 的协议完全的匿名。

没有使用这个方法的话, 假如ISP 或者网络管理员或者政府秘密监视你的活动的话,区块链混淆 (DarkSend, Ringsignature) 将变的完全透明;实际上更糟的是,他们知道你所拥有所有 的地址,以及你金钱交易的所有情况,而直接绕过所使用的区块链混淆,所以我们在代码层面上避免这种情况的发生。




通过使用众所周知的退出节点列表,Tor可能被完全地 禁用,然而对BIGcoin不起任何作用(查看随机监听端口),这是因为不存在退出节点列表。

Tor是一种具有 很高延迟的网络。在视频和音频会议中使用的并不普遍,这就是原因所在。 区块链技术能够完好的运用,依赖于低延迟的网络,否则随着孤立区块的增多,矿工将不知所措,尤其是使用非常短的区块时间来应付快速交易和占用大量网络资源。



还不确定的是Tor 所具有的7000个中继是否能够支撑起每天1百万的比特币交易数量和6200 个需要下载23 GB 区块链数据的完全节点。也还不知道的是比特币是否能够在有高延迟的 tor 网络中运行良好。

BIGcoin应用 TLS 的技术实现了类似 tor 所具有的匿名性, 并在功能上优越于比特币协议。

现在来使用这种新的特性。

-certkeysize: 为 TLS 连接 确定所要生成的私钥和公钥的大小。默认为2048。Specify key size of the generated private/public keypair for connections. Defaults to .
-minkeysize: 对外连接所要求最小的秘钥大小。默认为 2048。

查看“同步的网络更新”( "Network synchronized updates")中关于升级到完全安全的网络 TLS 1.2。

随机监听端口
目前的状态:在开发之中

BIGcoin 中默认的端口变成了 443,用来实现HTTP 连接的默认 SSL 端口;为了避免无法绑定到这个端口,采用了随机端口。

跟加密的协议结合起来,让禁用和删除 BIGcoin 协议变得不可能。

广播交易的不确定性

BIGcoin 协议目前还在重点开发之中,TLS 特性还没完全成熟。这项技术也还在开发之中。

压缩协议

BIGcoin 使用 Zlib 压缩方法来降低延迟,并减少数据使用量,增强网络的可扩展性,增加每秒可处理交易量。在测试中,同步时间快了22%。臃肿的区块链中的区块包含大量交易,希望能节点一些空间。

由于低的延迟,能够尽量减少孤立的区块,特别是区块变的很大的时候。

发送/接收地址指向一个名称

没有必要复制黏贴或者扫描支付地址;现在设计的很简单,就像 jack.com 一样(必须是DNS 域名)。城市一下,有一些 BIGcoin 吗?捐赠给hardforkcoin.org!



私钥被盗窃了怎么办呢? 被盗窃的私钥中还有要接收的付款,怎么办呢?改变名字所指向的地址,问题就解决了!

减少了复制-黏贴出错的可能性。现在直接看名字就能对应付款人,而不会出错。

BIGcoin 包含地址簿,记录着当前时间,名称所对应的 BIGcoin 地址。



甚至确认 / 签署信息!



简单好用的命令。



会弹出一个新的窗口,查看名字对应的地址。



为了得到这样一个对应名字的地址,需要一个域名(可与到http://freedns.afraid.org/ 免费领取,以及许多其他地方),并以下列的格式添加 TXT 记录 --
BIGcoin:<你的地址>;

这样就可以了!

BIGcoin 能够胜任同时处理多条的 TXT 记录并分析所找到的记录中所有的 BIGcoin 地址。要求是记录的格式必须标准。记录存在文档的中间,也不影响。

这只是实习功能的一部分,还有更多的!

DynamicSend: 把一个名称指向任意一个地址(让付款更加的匿名)






比特币/山寨币 -- "发送货币到 BZuh2LnvFazZUoGPK6ogfVpssQhwfUhqkU -- 所有发往这个地址的交易都是公开的"
BIGcoin -- "发送货币到 random.hardforkcoin.org -- 然而这个名称所指向的地址是隐蔽的 -- 所以就无法追踪这样的交易!"

BIGcoin 允许交易接收者为一个名称指向多个地址;货币将会随机发往其中的一个地址.

接收到的货币自动被分发到不同的地址中,避免了暴露这些地址拥有者的总的财富数量。

更好的是, 接收者可以随时更改他的每一个的查询 BIGcoin 地址,为 DNS 反馈值设 TTL 的值为 0 。这将隐藏接收者的收款地址。Coinjoin (暗黑币), ring signatures (Bytecoin, Monero)都没有涉及这个方面, 假如暴露了一个地址的拥有者,就能够追踪到这个地址的余额。要是使用 BIGcoin 具有的 DNS 指向这个功能,发送的货币数额就无法暴露;接收者也不会暴露。




除了这些功能,它安全性也提高了。假如旧的地址不在用于收款,能够把它们变成离线冷存储地址(只要通过改变名称所指向的地址就可以了)。
下面是如何实现的步骤。
就是 --
BIGcoin:<你的地址>;

被称为'地址区块'; 你想要指出多个地址,以下面的格式 --
BIGcoin:<你的地址>:<你的地址>:<你的地址>:<你的地址>:<你的地址>;

请确保在每个地址后面加上冒号。

在单个的 TXT 记录中的每个地址都会被分析;假如有多条的 TXT 记录, 每个地址区块中的地址都会被分析,所有地址都会被添加到地址池中,然后这些地址都可以使用了。

根据奖励来调节区块时间

下面是例子 测试时的区块奖励


问题是,难度调整算法有缺陷的话,它的经济体制就会遭受重创。

BIGcoin 本身尤其容易受到这种影响。为了快速适应新的算力,区块目录会严重地偏离轨道:结果是:在供应之中。难度重计算算法的内存是有限的;当货币处在挖出或者等待挖出的状态下,它们没有发现这些货币是超出计划供应的,这个错误并没有矫正过来,会忽略掉实例。




下面列出的是对应虚拟货币计划外的供应以及区块号码 -

莱特币区块 689769 40 天
狗狗币区块 489998 25 天
夸克币区块 1559364 23 天
域名币区块 210522 117.3125 天

比特币区块 335255 150.24305555556 天

基于区块奖励确定的区块时间确保了流通中的虚拟货币的数量是基于时间的,而不是区块时间。经济状况不能跟深层次的技术细节相混淆。


在不断地监测每秒挖出多少货币,(通货膨胀变化时,每秒的挖出的货币数量也跟着变化);区块奖励取决于这个区块之前两个连续区块的间隔时间。

基于通货膨胀的区块费用




没有分叉,双花和反转交易攻击,然而还是存在其他一些轻微的弱点,就像是防止交易得到确认和攫取全部的区块奖励等等。。。所以保持一定程度的难度,且难度随着通货膨胀而调整,也是很重要的,小小的通货膨胀对经济来说没什么坏处。

通货膨胀的目标是 每秒钟 0.79274479 个货币或者更少(取决于交易费用)。也就是说 第一年通货膨胀是 5% 或更低 (可能是 0%)。

虽然推荐添加交易费然而不是硬性要求的;交易费的作用是用来保护网络的,假如没有添加的话,BIGcoin 提供了一种自动且灵活的保障措施 -- 通货膨胀。 不像比特币,它不具备这个措施来保护网络,所以容易受到 51% 的攻击。

通货膨胀率取决于每个区块中的总的交易费; 区块中总的交易费会降低通货膨胀率

网络同步的更新。


引用来自: 莱特币
Quote
一种虚拟货币分叉为两种货币,会让用户弄混乱,并破坏他们对虚拟货币的信心。

分叉很容易去做,但是我们永远不会去做。

引用来自: 中本聪
Quote
SHA-256 算法非常难破解. ... 要是没有大规模破坏性的攻击出现的话,它会存在好几十年。

是的,我们一定能抵挡住攻击生存下来的。


引用来自: 中本聪
Quote
比特币的本质是一旦发布了版本 0.1,那么他的核心设计都是确定了。

我们不一样, 我们的核心设计就像是黑板一样, 我们可以在任何时候改变他们。


引用来自: 中本聪
Quote
还太早不计任何代价丢弃掉向后兼容的API。

向后兼容的API? 我们更愿意进行硬分叉。


引用来自: 中本聪
Quote
假如我们发现 SHA256 出现什么弊端的苗头,就会在某一区块号之后转换成一种新的哈希算法。在这个区块之前,每个人必须更新软件。

我们也有我们的应对策略


引用来自: 莱特币
Quote
We have not come across a proof of work algorithm that is truly ASIC-proof and quick to verify. All alternatives will only delay the problem, and at a considerable cost.

是的,我们有应对的计划。





查看一下你的钱包什么时候过期 (还剩多少天 / 区块), 你只要把你的鼠标悬停在钱包右下角的绿色的勾号上面。

这是协议的整合过程

查看细节 http://www.hardforkcoin.org/ABF.html


不能用ASIC矿机

在加密货币领域,第一次开发团队保证杜绝使用ASIC矿机进行挖矿。主要是由于这种矿机太普遍了。不想其他的货币,我们使用不同的方法来禁止使用ASIC矿机,而不在乎矿机厂商花了多少钱来开发ASIC矿机。

我们使用简单友好的 GPU 和 ASIC 算法,而不是使用复杂的 CPU 友好算法。 只要我们采用 ASIC 算法, 我们只要通过自动地硬分叉就能轻易地改变算法。 因为对于我们应用新算法非常容易,而不用顾及这个货币多么的受到欢迎。

难度重调整

我们使用 '细节检测和矫正' (eDR) 难度调整算法,它是目前为止对难度目标调整最精准的算法。到目前为止还没有货币提供预防立即挖和僵持的区块链比较好的保护方法, 特别是难度非常高的时候。最好的是,在一定程度上它提供了针对51%攻击的保护(短分叉也提供保护51%攻击),这是额外的保护。

'细节检测和矫正'版本 2 (从区块 230,001 开始生效; 这以后版本 1 就无效了) 难度调整算法从 7630% (区块数目) 到 8660% (时间) 就更有效地防止立即挖,更KGW相比较,从 9675% (区块数目) 到 2480% (时间) 更快地从立即挖中恢复 (僵持的区块链)。 相似的数字。

出现立即挖的时候难度会提升
区块链中存在着一个实际的例子 (查看区块浏览器 查看区块 421100 和 421090 之间 )




区块链中难度重新调整
区块链中存在这个例子 (查看区块浏览器查看区块 425900 和 4259006 之间 )



预防区块链挂起

有时会因为一些原因区块链被挂起 (矿池崩溃, 或者大算力的矿工离开等等...), 由于基于区块奖励的时间,在挖出一个区块之前,矿工激励将持续地增加。

这将激发矿工来挖我们的货币,难度挖出具有很高难度然而奖励数额不断增加的区块。

区块链中就就有这种例子 (查看区块链浏览器在区块 425900 和 4259006 之间 )



不支持多币种矿池

假如你想要从挖 BIGcoin 中受益, 你应当及早地开始挖。网络不支持投机的矿工或者同时挖多币种的矿池。

这是因为挖出的货币需要大概48个小时的时间确认; 所以币价不会出现被哄抬和抛售的局面




对立即挖免疫

在基于区块奖励的时间戳之前,我们提供固定的区块奖励;eDR2 应对了立即挖。只允许一些区块能够立即挖。

但是随着每秒的区块奖励出现之前,任何区块都实现不了立即挖。

区块链中存在着一个活生生的例子 (查看区块浏览器 blocks between在区块 421100 和 421090 之间)



假如一些货币被立刻挖出来,区块奖励将被极大地降低,让挖出这些货币的人没有获得任何好处。

更少的孤立区块

反应迅速的难度调整算法意味着更少出现孤立区块,更少的可能性出现意外的分叉。

改变区块奖励 / 计划

发布货币之后,一般开发团队会发现犯的一些错误,比如在区块奖励和其他方面。他们没办法快速地调整,主要是由于需要硬分叉,然而我们能够。

在挖矿After the main mining is finished, we can change inflation rates depending on situation (prices, network hash rate etc...).

Limited impact of security vulnerabilities

Cause it's mandatory to upgrade the wallet after a limited time frame, any wallet security vulnerability has limited impact

最新的检验点

由于我们能确保网络中所有的钱包都运行所要求的版本,能够确保每个人都能够连接最新的检验点进行更新。短的分叉之后,确保了节点对西比尔攻击免疫。


HUGE承诺不会去做以下的事情

开发团队承诺

1) IPO/ICO - 我们都是自愿开发这个货币. 我们不会出售任何毫无价值的东西,就像其他 IPO 所做的那样。
2) 预挖除了用来做市场推广,开发费用和捐赠之外,不会通过交易平台卖掉。
3) 没有PoS。
4)我们不会向公众提起或者也不会宣传新的特性,应用之后最后我们才会向公开发布。有许多的骗人的山寨币只会承诺什么新的功能,然而永远都不会实现。我们是相反的,做完了才宣传。
5) 没有 Anon* 特性,除非它们是有用的。意思是没有 'Anonchat' (有许多的代替事物,包括 tor).


参数

区块时间

30秒的区块时间确保了这个货币对大部分的应用反应快速,而能够代替 Visa, Mastercard 和其他的支付网关。

算法

Blake 是一种对 GPU 友好的算法,提供了最大程度的保护,这是因为租用 GPU 算力非常昂贵。

区块奖励

在2016年7月31号  星期天11:30:00 GMT (确定的) 500,000,000 货币将被挖出来。这之后(1469964600 时间戳) 区块奖励将从目前的 每秒8.31367910 货币 降低到 每秒只有 0.79274479 货币。

基于区块奖励而确定时间戳出现之前,货币受到破坏(矿工来来去去)。 结果是促使目前的区块奖励达到了一个最高的数字(249.410373),在区块 310159奖励达到 237,在区块 420000 达到了 230。

目前的供应量是 99541883 以上 (1421800017-目前的时间戳)*8.31367910

用 2 年时间公平地分发虚拟货币给公众足够了,在高通胀的挖矿中 2  年时间已经足够来来让它的价格上涨很多。 通货膨胀率每秒 0.79274479 货币跟世界上的那些发达的经济体的通货膨胀率是一样的。


预挖

请捐助这个预挖地址。这个就是我们的收入来源

要求所有的交易平台拒绝接受来自雨蛙地址的付款

预挖 0.25%  地址 – BZuh2LnvFazZUoGPK6ogfVpssQhwfUhqkU

这些预挖只用于市场推广和捐助。


社交媒体
推特@bigcoin_huge

问题
还没有

矿池
http://coinspool.cu.cc/info_bigcoin
Explorers
http://explorer.hardforkcoin.org/

下载
钱包版本 (9.2.0.0) 可用到区块 772000 都是有效的。在区块 731000 之前新版本钱包将会发布。

Windows --
https://drive.google.com/file/d/0B7gVckd84oOMNFUxZS1Fa21aUjA/view?usp=sharing
http://hardforkcoin.org/BIGcoin-9.2.0.0.zip

MacOS 钱包 –
还在编译之中....

源代码 –
https://github.com/hardforkcoin/bigcoin

9.3.0.0 (测试) 支持 TLS 服务器
http://www.hardforkcoin.org/BIGcoin-9.3.0.0.zip
https://github.com/hardforkcoin/bIGcoin-9.3.0.0-beta

Alpha (支持 TLS 客户端)。 是用来加密连接。目前还在测试之中
https://github.com/hardforkcoin/BIGcoin-alpha

cgminer (挖矿软件) -
http://cryptomining-blog.com/wp-content/files/cgminer-3-7-2-blake-windows.zip
https://github.com/kR105/cgminer

Cudaminer (挖矿软件) -
http://cryptomining-blog.com/wp-content/files/cudaminer-12-04-2014-windows.zip
https://github.com/cbuchner1/CudaMiner
计算股份的多少

从钱包版本 8.1 以来就进行了硬分叉 -
目前的版本过期之前,也就是至少区块 41000 之前。以这种方式提前通知运行 BIGcoin 的服务器。
钱包最低的生命期为区块 64000 之前。

交易平台
alcurex
https://www.bynergy.com/market/HFC/OTC
请为 BIGcoin 进行投票。
之前 BIGcoin 被称为 hardforkcoin

联系人
请发站内信息
www.hardforkcoin.org
Pages: [1]
  Print  
 
Jump to:  

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