Author

Topic: генерация левых блоков (Read 1646 times)

donator
Activity: 532
Merit: 501
We have cookies
January 01, 2012, 09:14:31 AM
#9
Значит все-таки не длинна а совокупная сложность? почему то все статьи пишут именно про количество блоков.
Обычно в статьях рассматривают ситуации, когда выбирается ветка в самом конце сети, в 1 или даже реже - 2 блока. Ну, если смена сложности не близко - то может быть и бОльшее количество. Тогда сложность у них одинаковая и остаётся только длина.
legendary
Activity: 1120
Merit: 1069
January 01, 2012, 04:29:48 AM
#8
Важна не просто длина цепочки, но и сложность каждого из блоков в этой цепи.
То есть победит не просто самая длинная, но и самая "сложная".
Иначе было бы легко обмануть, конечно Smiley
Значит все-таки не длинна а совокупная сложность? почему то все статьи пишут именно про количество блоков.
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
December 31, 2011, 01:37:01 PM
#7
Были слухи, что в Litecoin есть проблемы с этим, сам я еще не проверял.
donator
Activity: 532
Merit: 501
We have cookies
December 31, 2011, 12:43:09 PM
#6
Есть интересный способ обмануть систему (теоретический), необходимо выбрать в качестве начального блока выбрать один из СТАРЫХ блоков с низкой сложностью, когда генерация была очень простой, и запустить генерацию своей цепочки, потихоньку снижая сложность (время в цепочках можно писать свое, так что с большими мощностями сгенерировать нужное количество блоков не составит труда), а когда эта цепочка станет длиннее - выпустить ее в сеть.. по всем правилам такая цепочка должна быть принята всеми.
Нет, не должна. Важна не просто длина цепочки, но и сложность каждого из блоков в этой цепи.
То есть победит не просто самая длинная, но и самая "сложная".
Иначе было бы легко обмануть, конечно :)
legendary
Activity: 1120
Merit: 1069
December 31, 2011, 12:16:05 PM
#5
В каждом блоке записана информация, по которой можно однозначно определить сложность (количество бит в искомом числе), подделать его невозможно (собственно поиск этого числа и есть то чем занимаются майнеры). Все клиенты в сети получают все новые блоки и выбирают только те, что правильные (или если цепочки, то созданные более мощным майнером - атака 51%).

Есть интересный способ обмануть систему (теоретический), необходимо выбрать в качестве начального блока выбрать один из СТАРЫХ блоков с низкой сложностью, когда генерация была очень простой, и запустить генерацию своей цепочки, потихоньку снижая сложность (время в цепочках можно писать свое, так что с большими мощностями сгенерировать нужное количество блоков не составит труда), а когда эта цепочка станет длиннее - выпустить ее в сеть.. по всем правилам такая цепочка должна быть принята всеми.
Защититься от этого просто (возможно это уже в коде есть), если запретить клиенту принимать цепочки, сильно отличающиеся от тех что уже загружены, хоть на те же 2000 блоков, но новые клиенты могут быть легко обмануты).
donator
Activity: 532
Merit: 501
We have cookies
December 31, 2011, 11:59:03 AM
#4
Поясните, пожалуйста, я не понял, что значит "клиент выберет".
В сети может гулять много разных блоков, бОльшая часть из которых представляет собой цепочки - т.е. блоки, основанные один на другом. Но работать может только одна из последовательностей. Чтобы выбрать эту единственную рабочую последовательность, каждый полный клиент при загрузке блоков проверяет их на соответствие всем существующим правилам.
Например, если есть две цепочки из блоков, соблюдающих все правила, включая сложность, но одна - длиной 160000 блоков, а другая - всего 159000, то клиент будет считать что следует использовать первую, а вторую во внимание не примет.

Рекомендую прочитать описание системы - тогда многое станет понятно.
newbie
Activity: 6
Merit: 0
December 31, 2011, 09:06:52 AM
#3
Поясните, пожалуйста, я не понял, что значит "клиент выберет".
donator
Activity: 532
Merit: 501
We have cookies
December 31, 2011, 09:00:36 AM
#2
В том, что тогда у тебя получится цепочка из двух блоков - №1 и №2, а клиент всегда выбирает правильную цепочку из наибольшего количества блоков, то есть выберет текущую, из 160000, конечно.
А если попытаешься наделать 160000 блоков - то нарушишь правила увеличения сложности и цепочка станет невалидной.
newbie
Activity: 6
Merit: 0
December 31, 2011, 08:50:08 AM
#1
Допустим я злонамерен ;-)
Я генерирую блок, указывая что предыдущим блоком для него является блок N1
Сгенерировать такой блок будет не проблема, так как сложность будет = 1
И соответственно получаю 50 монет за генерацию блока.

В чем я не прав?

 
Jump to: