28 maart 2024
Blockchain Stories
Cryptocurrency Nieuws

Update: Mogelijke 51% aanval op Verge (XVG)

Er is mogelijk een poging gedaan tot een 51% aanval op Verge (XVG). Een fout in de code van XVG werd misbruikt, dit meldt een genormeerde gebruiker op Bitcointalk. Feit is in ieder geval dat de hacker een flinke hoeveelheid Verge heeft weten te bemachtigen door het misbruiken van de fout.

Kort nadat deze post op Bitcointalk verscheen is de hacker gestopt met mijnen. De aanvaller heeft dertien uur (!) lang beloningen in de vorm van XVG gekregen, elke seconde opnieuw.

Door de fout in de code was het mogelijk vals te spelen tijdens het minen van de coin. De exploit zorgde ervoor dat je door een trucje Verge kon laten ‘denken’ dat je blocks hebt gemijnd terwijl dat niet zo is.  De hacker was door deze fout in staat om één block per seconde te mijnen. Normaal gesproken doe je veel langer over een block én is het nooit zo vaak achter elkaar dezelfde partij die de beloning krijgt.

Update: Verge heeft inmiddels officieel gereageerd en zegt het probleem al te hebben opgelost. 

Update 2: De aanval lijkt toch niet afgewend door Verge. Op de blockchain is duidelijk te zien dat er enorm veel beloningen worden uitgedeeld, bijna elke seconde. Dat hoort niet te kunnen. 

De originele post op Bitcointalk:
Posted here for reference as the other Topic is self-moderated and this will probably get deleted:

There’s currently a >51% attack going on on XVG which exploits a bug in retargeting in the XVG code.

Usually to successfully mine XVG blocks, every “next” block must be of a different algo.. so for example scrypt,then x17, then lyra etc.

Due to several bugs in the XVG code, you can exploit this feature by mining blocks with a spoofed timestamp. When you submit a mined block (as a malicious miner or pool) you simply
set a false timestamp to this block one hour ago and XVG will then “think” the last block mined on that algo was one hour ago.. Your next block, the subsequent block
will then have the correct time.. And since it’s already an hour ago (at least that is what the network thinks) it will allow this block to be added to the main chain as well.

This is what is going on since about 06:00 UTC of 04.04.2018:

Code:
SetBestChain: new best=00000000049c2d3329a3 height=2009406 trust=2009407 date=04/04/18 13:50:09
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000a307b54dfcf height=2009407 trust=2009408 date=04/04/18 12:16:51
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000196f03f5727e height=2009408 trust=2009409 date=04/04/18 13:50:10
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000010b42973b6ec height=2009409 trust=2009410 date=04/04/18 12:16:52
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000e0655294c73 height=2009410 trust=2009411 date=04/04/18 12:16:53
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000013490372b825 height=2009411 trust=2009412 date=04/04/18 12:16:54
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000017192ea8924b height=2009412 trust=2009413 date=04/04/18 13:50:13
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000007f75f237b3b height=2009413 trust=2009414 date=04/04/18 12:16:55
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000006ecb5753261 height=2009414 trust=2009415 date=04/04/18 13:50:14
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000019eb5bfd2f76 height=2009415 trust=2009416 date=04/04/18 12:16:56
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000018d5b80c0ee9 height=2009416 trust=2009417 date=04/04/18 13:50:15
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000159ca0701894 height=2009417 trust=2009418 date=04/04/18 12:16:57
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000ad1a8cd6b44 height=2009418 trust=2009419 date=04/04/18 13:50:16
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001002986218fc height=2009419 trust=2009420 date=04/04/18 12:16:58
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000b58e4fed470 height=2009420 trust=2009421 date=04/04/18 13:50:17
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000d9f0707d83f height=2009421 trust=2009422 date=04/04/18 12:16:59
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000007283d98dbb0 height=2009422 trust=2009423 date=04/04/18 12:17:00
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000002ec7b8a6e80 height=2009423 trust=2009424 date=04/04/18 12:17:01
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001f359a8f2f4a height=2009424 trust=2009425 date=04/04/18 13:50:20
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000293a6723940 height=2009425 trust=2009426 date=04/04/18 12:17:02
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001397927ec69d height=2009426 trust=2009427 date=04/04/18 13:50:21
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000efb6e062c02 height=2009427 trust=2009428 date=04/04/18 12:17:03
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001e181a0d0f4a height=2009428 trust=2009429 date=04/04/18 13:50:22
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000008ca5848691b height=2009429 trust=2009430 date=04/04/18 12:17:04
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000066a216ac27b height=2009430 trust=2009431 date=04/04/18 13:50:23
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001874a45f28c7 height=2009431 trust=2009432 date=04/04/18 12:17:05
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000005bc0408b8ca height=2009432 trust=2009433 date=04/04/18 13:50:24
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000005feb2b45e5d height=2009433 trust=2009434 date=04/04/18 12:17:06
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000000c211ba04de height=2009434 trust=2009435 date=04/04/18 12:17:07
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001402dc20ae5f height=2009435 trust=2009436 date=04/04/18 12:17:08
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001e73181cf91c height=2009436 trust=2009437 date=04/04/18 13:50:27
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000062720b222ea height=2009437 trust=2009438 date=04/04/18 12:17:09
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000e10aeecf7f1 height=2009438 trust=2009439 date=04/04/18 13:50:28
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000b41ab258a8f height=2009439 trust=2009440 date=04/04/18 12:17:10
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001136b924f67b height=2009440 trust=2009441 date=04/04/18 13:50:29
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000a1c1af529cd height=2009441 trust=2009442 date=04/04/18 12:17:11
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000007f1d1f8d921 height=2009442 trust=2009443 date=04/04/18 13:50:30
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000ca0a1bc6b0e height=2009443 trust=2009444 date=04/04/18 12:17:12
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000003075b7a580 height=2009444 trust=2009445 date=04/04/18 13:50:31
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001c9f43fd7305 height=2009445 trust=2009446 date=04/04/18 12:17:13
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000009129b024a height=2009446 trust=2009447 date=04/04/18 12:17:14
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000008e180f24f15 height=2009447 trust=2009448 date=04/04/18 12:17:15
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000084eb6c59c6d height=2009448 trust=2009449 date=04/04/18 13:50:34
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000d8510f41c9a height=2009449 trust=2009450 date=04/04/18 12:17:16
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000011df91a1ab87 height=2009450 trust=2009451 date=04/04/18 13:50:35
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001ba92e976854 height=2009451 trust=2009452 date=04/04/18 12:17:17
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000364bf981384 height=2009452 trust=2009453 date=04/04/18 13:50:36
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000012d88fa3db27 height=2009453 trust=2009454 date=04/04/18 12:17:18
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000305cd62b1f2 height=2009454 trust=2009455 date=04/04/18 13:50:37
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000011300c4f86cb height=2009455 trust=2009456 date=04/04/18 12:17:19
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000001487b026dd4 height=2009456 trust=2009457 date=04/04/18 13:50:38
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000001c8532ef2df height=2009457 trust=2009458 date=04/04/18 12:17:20
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001c17ae6efeeb height=2009458 trust=2009459 date=04/04/18 12:17:21
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000002bf168f5eab height=2009459 trust=2009460 date=04/04/18 12:17:22
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001a23e2c283bc height=2009460 trust=2009461 date=04/04/18 13:50:41
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000014ecd97066c4 height=2009461 trust=2009462 date=04/04/18 12:17:23
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001643a1c4a3bb height=2009462 trust=2009463 date=04/04/18 13:50:42
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000008ec0214e6c2 height=2009463 trust=2009464 date=04/04/18 12:17:24
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000009b069fcd1cc height=2009464 trust=2009465 date=04/04/18 13:50:43
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001722adbca417 height=2009465 trust=2009466 date=04/04/18 12:17:25
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000a9e8d58c86b height=2009466 trust=2009467 date=04/04/18 13:50:44
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000010f27ab0a452 height=2009467 trust=2009468 date=04/04/18 12:17:26
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000479c982db76 height=2009468 trust=2009469 date=04/04/18 13:50:45
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001f8be1b4066c height=2009469 trust=2009470 date=04/04/18 12:17:27
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000b05233d5ad7 height=2009470 trust=2009471 date=04/04/18 12:17:28
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000007a9c6cdba5d height=2009471 trust=2009472 date=04/04/18 12:17:29
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000622e29e4307 height=2009472 trust=2009473 date=04/04/18 13:50:48
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001a8d80324a57 height=2009473 trust=2009474 date=04/04/18 12:17:30
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001eddc0154526 height=2009474 trust=2009475 date=04/04/18 13:50:49
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000ac0a256f263 height=2009475 trust=2009476 date=04/04/18 12:17:31
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000040f83b5ee2f height=2009476 trust=2009477 date=04/04/18 13:50:50
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001827966aa60b height=2009477 trust=2009478 date=04/04/18 12:17:32
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000012d0d1501121 height=2009478 trust=2009479 date=04/04/18 13:50:51
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000032868a4c74 height=2009479 trust=2009480 date=04/04/18 12:17:33
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000092675395f6e height=2009480 trust=2009481 date=04/04/18 13:50:52
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001f95a9a174d4 height=2009481 trust=2009482 date=04/04/18 12:17:34
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000017503fc3dc13 height=2009482 trust=2009483 date=04/04/18 12:17:35
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000007c61b36c76 height=2009483 trust=2009484 date=04/04/18 12:17:36
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000070810d5a6e5 height=2009484 trust=2009485 date=04/04/18 13:50:55
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000068467683637 height=2009485 trust=2009486 date=04/04/18 12:17:37
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000041dc83f0978 height=2009486 trust=2009487 date=04/04/18 13:50:56
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000011fb17203f4 height=2009487 trust=2009488 date=04/04/18 12:17:38
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000a96b38de1a0 height=2009488 trust=2009489 date=04/04/18 13:50:57
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000121e7a285719 height=2009489 trust=2009490 date=04/04/18 12:17:39
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000348e668204f height=2009490 trust=2009491 date=04/04/18 13:50:58
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000012766d85cab4 height=2009491 trust=2009492 date=04/04/18 12:17:40
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000181a0c1be275 height=2009492 trust=2009493 date=04/04/18 13:50:59
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000015c05593e210 height=2009493 trust=2009494 date=04/04/18 12:17:41
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000719cb24d9c0 height=2009494 trust=2009495 date=04/04/18 12:17:42
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000015d9b853834d height=2009495 trust=2009496 date=04/04/18 12:17:43
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000115e68a6d447 height=2009496 trust=2009497 date=04/04/18 13:51:02
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000004d9233f19c6 height=2009497 trust=2009498 date=04/04/18 12:17:44
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000141ab049fe19 height=2009498 trust=2009499 date=04/04/18 13:51:03
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001b91344fa33c height=2009499 trust=2009500 date=04/04/18 12:17:45
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=0000000001d112440f7b height=2009500 trust=2009501 date=04/04/18 13:51:04
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000001bf2c8a073c6 height=2009501 trust=2009502 date=04/04/18 12:17:46
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000116863c0157c height=2009502 trust=2009503 date=04/04/18 13:51:05
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000ec5da17852e height=2009503 trust=2009504 date=04/04/18 12:17:47
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=000000000d7cd87c5e53 height=2009504 trust=2009505 date=04/04/18 13:51:06
ProcessBlock: ACCEPTED (scrypt)

SetBestChain: new best=00000000156becbf42cd height=2009505 trust=2009506 date=04/04/18 12:17:48
ProcessBlock: ACCEPTED (scrypt)

As you can see in the text above, those blocks are all subsequent, so one miner gets them all and you see there’s 90 min difference between all the blocks, thats one bug the miner is
exploiting. You also see the correct time is the latter time.. so the last block ended on 13:51:06 and the block before was 12:17:47 and the block with the correct time before that one
was at 13:51:05 .. That means the hacker is mining one block per second !

The vergeDEV @ Discord says “everything is okay – there’s nothing to fix”..

Since about 99% blocks by legit pools are rejected – and the dev team is not able to understand this problem, i’m closing and removing all VERGE pools from suprnova.

Here’s a incomplete list of the malicious addresses:

https://verge-blockchain.info/address/DKE3tKrXJJ2s7nCPYtE5vntBKBZKGLb2kB
https://verge-blockchain.info/address/DBbZgu2eeZfxdUiqtf1dbG3H5kExDTqzCM
https://verge-blockchain.info/address/DTnxUQ476HWeSqm5hct2astEp2EB8BQBMD
https://verge-blockchain.info/address/DMK8aqjFGUNVQibv7i3qu4pyUyXcnSHHcC
https://verge-blockchain.info/address/DN4rx2gKm7Lepa6kyZx62zJtWVLAxNBc15
https://verge-blockchain.info/address/DFSnNgjEyYkfDVJGR8BG2LdFLYbJgdtFRa
https://verge-blockchain.info/address/DAf5YdtmvTaq2gySAPtfPzv86jC9nGY1RR
https://verge-blockchain.info/address/DUCtin38xfPWvLvkAtWMJoUDefg3mu1rYQ
https://verge-blockchain.info/address/D5Gz63joDNteuMJSMuiD153hQHPN626ryw

From what I see there are a lot more

Gerelateerde artikelen

Tether (USDT) niet alleen gedekt door dollars?

Robin Heester

Blockchain for Europe door Ripple, NEM en vrienden

Robin Heester

Prijs bitcoin Iran schoot naar 24.000 dollar

Jordy Schreuder