Bitcoin Forum

Local => Новички => Topic started by: ArsenShnurkov on February 15, 2011, 07:33:51 PM



Title: Борьба с DDOS путем взятия комиссии за перевод
Post by: ArsenShnurkov on February 15, 2011, 07:33:51 PM
совсем скоро придётся нам всем включить сборы.

Никак руки не доходили разобраться - каким образом наличие комиссии на других узлах поможет против переводов между узлами DDOS-ера ? У него-то комиссии как раз и не будет.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Tolsi on February 15, 2011, 07:40:34 PM
Против - никак, но у переводов с комиссией приоритет. А вообще может имелась ввиду минимальная комиссия во всех клиентах? Хоть 0.00001, но ддосера это рано или поздно остановит.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: m0Ray on February 15, 2011, 07:41:21 PM
Насколько я понимаю, комиссия включается не на узле. Она вкладывается в транзакцию, и такая транзакция имеет приоритет. Соответственно, если у ддосера в транзакции комиссия не вложена, эти транзакции будут обрабатываться узлами в последнюю очередь.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: ArsenShnurkov on February 15, 2011, 07:44:25 PM
а почему должно кончиться? заведет два кошелька в разных директориях и будет с одного на другой пересылать по одной миллионной биткоина в транзакции. А как перешлет пару тысяч биткоинов - начнет пересылать обратно. Проблем с путем доставки - никаких, можно IP-адрес указывать. А Сеть все равно все транзакции должна запоминать и проверять.

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


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: m0Ray on February 15, 2011, 07:52:32 PM
Не к ддосеру, а к узлу, сгенерировавшему блок.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: ArsenShnurkov on February 15, 2011, 08:04:21 PM
к узлу, сгенерировавшему блок.

Уау! Т.е. я ставлю кластер, ставлю комиссию 100% и смогу перехватывать и глушить транзакции ?


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: m0Ray on February 15, 2011, 08:11:11 PM
Повторяю, комиссия ставится не на узле, а в транзакции.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: LZ on February 16, 2011, 07:04:56 AM
Суть очень простая. Микротрансакций сейчас просто нет.
Хотите отправить 0.001 BTC - заплатите 0.01 BTC майнеру.
В итоге истрачено не 0.001 BTC, а уже целых 0.011 BTC. 8)
Сейчас как раз идут разговоры об изменении этой системы.

Кстати, приоритетность трансакций с комиссией регулирует
сам майнер. Но в том числе может не выставлять приоритет.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Lis on May 23, 2011, 06:42:21 AM
Суть очень простая. Микротрансакций сейчас просто нет.
Хотите отправить 0.001 BTC - заплатите 0.01 BTC майнеру.
В итоге истрачено не 0.001 BTC, а уже целых 0.011 BTC. 8)
Сейчас как раз идут разговоры об изменении этой системы.

Кстати, приоритетность трансакций с комиссией регулирует
сам майнер. Но в том числе может не выставлять приоритет.
Так умирает демократия децентрализованность...


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: LZ on May 23, 2011, 08:47:55 AM
В версии 0.3.22 комиссию снизили с 0.01 BTC до 0.0005 BTC.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Vort on May 23, 2011, 09:35:55 AM
В версии 0.3.22 комиссию снизили с 0.01 BTC до 0.0005 BTC.
и теперь ничего не мешает при наличии 1 BTC сделать 2 тыщи транзакций?


Title: Приоритет транзакций.
Post by: Yurock on May 23, 2011, 10:10:01 AM
и теперь ничего не мешает при наличии 1 BTC сделать 2 тыщи транзакций?
Ничто не мешает сделать сколько угодно транзакций, имея любое количество BTC. Можно просто отключить обязательную комиссию в клиенте, и транзакции всё равно будут признаны действительными. Смысл комиссии в том, чтобы твоя транзакция получила приоритет перед флуд-транзакциями. Майнеры выбирают, какие из "висящих" транзакций включить в свежесгенерированный блок. Конечно, им будет выгодно включать в блок транзакции с большей комиссией, если все не помещяются. Алгоритм также учитывает размер транзакции в байтах - чем меньше байтов, тем больше транзакций можно запихнуть в блок и получить больше комиссионных сборов, если все транзакции "платные".

И в этом алгоритме есть ещё одна хитрость: он больше "любит" монеты, перечисленные давно. То есть, чем больше подтверждений у монет, тем больше они ценятся. Предположим, тебе прислали 1 BTC на какой-то адрес 10 блоков назад. Ты переводишь 0,02 BTC на другой кошелёк и платишь комиссию 0,01 BTC. "Ценность" комиссии составит 0,01*10 = 0,1 "баллов". В результате транзакции, 1 BTC уходит с первоначального адреса, и 0,97 BTC отправляются на другой твой адрес. Теперь, если ты сразу же перечисляешь ещё 0,02 BTC с комиссией 0,01 BTC, то "ценность" комиссии составит 0,01*1 = 0,01 "баллов", что уже намного меньше, чем в первой транзакции. Таким образом, большинство "нормальных" транзакций получает приоритет над флуд-транзакциями. По мере генерации блоков, "ценность" монет будет возрастать, и флуд-транзакции тоже будут включены в блоки, так что монеты не пропадут.

P.S. Кстати, я считаю плату, например, в 0,001 BTC за килобайт вполне приемлемой при текущем курсе, и рекомендую всем платить небольшую "добровольную" комиссию.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Vort on May 23, 2011, 10:38:44 AM
но в сети эти 2 тыщи транзакций то будут болтаться
и если майнеры не будут успевать перерабатывать этот мусор - что станет с сетью?


Title: Проблема зависших транзакций.
Post by: Yurock on May 23, 2011, 10:46:40 AM
но в сети эти 2 тыщи транзакций то будут болтаться
Эта проблема будет решаться отбрасыванием низкоприоритетных транзакций. Когда накопится слишком много "зависших" транзакций, какие-то из них придётся выкидывать. Клиент должен обнаруживать такую ситуацию и возвращать деньги на баланс неудавшегося отправителя. Не знаю, реализовано ли это в текущей версии, но, думаю, так и будет сделано.


Title: Re: Проблема зависших транзакций.
Post by: Vort on May 23, 2011, 10:50:23 AM
Эта проблема будет решаться отбрасыванием низкоприоритетных транзакций
да, иначе деньги навсегда могут зависнуть в сети

по-моему тут ещё важно проработать UI клиента
чтобы была видна минимальная комиссия, чтобы можно было указать свою

насколько я понимаю, сейчас вернуть зависшие деньги можно только хаком
отправив их же ещё раз, но только с более высокой комиссией

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


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Basiley on May 23, 2011, 11:06:04 AM
скорее это реализцют на уровне сделки. те посредниги-страховщики в секьюрных сделках(траст и попробще) будут заниматься такими граблями а не энд-юзеры(доля энтузиатов технически подкованных(для этого), будет стремительно падать).
я к тому, что врятли протокол будут корябать-обновлять ощутимо.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Vort on May 23, 2011, 11:17:51 AM
так проблема то есть
когда блоки станут забиваться до краёв, низкоприоритетных висящих транзакций будет становиться всё больше и больше
и при фиксированном протоколе (он то тут вобще при чём?) её в любом случае прийдётся решать модификацией клиента

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


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Basiley on May 23, 2011, 11:32:44 AM
ну тада толкните идею/фича-реквест биткоин фаундэйшин или в топике "Development".
как вариант - очередь динамической глубины, в элементом рандомизации в CSMA-CD-штиле.


Title: Проблема зависших транзакций.
Post by: Yurock on May 23, 2011, 12:42:07 PM
Был случай скопления большого числа зависших транзакций. Эта тема обсуждалась в англоязычных разделах.


Title: Проблема зависших транзакций.
Post by: Yurock on May 25, 2011, 07:32:30 PM
Кстати, отмена неудачной транзакции может повлечь за собой отмену последующих транзакций. Например:
  • Транзакция 1: посылаем Васе 1 BTC без комиссии и "сдачу" - себе на новый адрес.
  • Транзакция 2: используя "сдачу" из транзакции 1, посылаем Пете 2 BTC с комиссией 0,01 BTC и новую "сдачу", опять же, себе.
Транзакция 2 будет признана не раньше, чем транзакция 1, потому что она использует средства из первой транзакции. И если первая транзакция "повиснет" и будет отменена, то отправителю придётся повторить обе транзакции.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: LZ on May 25, 2011, 08:12:14 PM
Просто надо платить комиссию и не будет проблем. Скоро будет 0.0005 BTC - это примерно 10 копеек.


Title: Re: Проблема зависших транзакций.
Post by: Vort on May 26, 2011, 10:11:10 AM
Кстати, отмена неудачной транзакции может повлечь за собой отмену последующих транзакций
если она зависнет (допустим, на год) - это будет лучше?
Просто надо платить комиссию и не будет проблем. Скоро будет 0.0005 BTC - это примерно 10 копеек.
ну уж нет
цель комиссий - привлекать майнеров
но сейчас
во-первых: блоки не забиваются до краёв
во-вторых: 50BTC с генерации перекрывают любые комиссии

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

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


Title: Re: Проблема зависших транзакций.
Post by: cycle on May 26, 2011, 02:24:06 PM
место в блоках ограничено
Оп-па. И какое максимальное количество транзакций может быть упаковано в блок? Странно, что есть ограничения, учитывая, что в час генерится всего 6 блоков...


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Dobrodav on May 26, 2011, 04:21:25 PM
`3000 Транзакций на мегабайт блока. Вроде как `7 транзакций в секунду, грубо говоря. Но этот лимит может быть изменен.
Вскоре закладывать fee  в транзакцию  станет необходимостью. Чем больше  fee  тем выше скорость подтверждения. 
Ещё один толчок к развитию "банковских" систем, где транзакции будут происходить "внутри".


Title: Re: Проблема зависших транзакций.
Post by: Yurock on May 26, 2011, 09:00:24 PM
то есть, если пул транзакций будет переполнен, то зависание хоть и начнётся с нулевых комиссий, но вполне продолжится и на мелочь типа 0.0005
Это называется - саморегуляция. 0,0005 BTC - уже мало? Придётся платить больше. Требуемый размер комиссии зависит от текущего положения дел в системе. Частота транзакций - один из факторов, влияющих на размер комиссии. Другой фактор - уменьшение премии за генерацию блока.

Да, Bitcoin вряд ли сможет обрабатывать все расчёты в мире штатными средствами. Потребность в других системах расчёта останется, но они смогут использовать BTC в качестве эквивалента для своих единиц.


Title: Re: Проблема зависших транзакций.
Post by: Vort on May 27, 2011, 11:04:48 AM
Это называется - саморегуляция. 0,0005 BTC - уже мало? Придётся платить больше. Требуемый размер комиссии зависит от текущего положения дел в системе.
повышение комиссии - это решение проблемы лишь для конкретного пользователя
и то, путём создания проблем для других

в целом же для системы низкоприоритетные транзакции никуда не денутся
и они будут висеть неделями, создавая проблемы


Title: Re: Проблема зависших транзакций.
Post by: Yurock on May 28, 2011, 10:29:13 PM
Цель приоритезации в том, чтобы уменьшить число ненужных транзакций, таких как флуд.

Ну, а если в блоках уже не будет хватать места для нужных транзакций, то ничего не останется, кроме как ограничить число транзакций. Путём повышения комиссии. То есть, например, 0,1 BTC невыгодно будет переводить при комиссии 0,05 BTC. Но, в то же время, перевод 100 BTC будет стоить столько же, а это уже вполне выгодно.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Yagiza on May 29, 2011, 04:44:05 AM
Суть очень простая. Микротрансакций сейчас просто нет.
Хотите отправить 0.001 BTC - заплатите 0.01 BTC майнеру.
В итоге истрачено не 0.001 BTC, а уже целых 0.011 BTC. 8)
Сейчас как раз идут разговоры об изменении этой системы.

Кстати, приоритетность трансакций с комиссией регулирует
сам майнер. Но в том числе может не выставлять приоритет.
В версии 0.3.22 комиссию снизили с 0.01 BTC до 0.0005 BTC.
А вот с этого момента поподробнее.
1. Что такое "микротранзакция"?
2. Зачем в клиенте поле ввода суммы комиссии, если оказывается, она железно забита?


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Yurock on May 29, 2011, 10:39:58 AM
2. Зачем в клиенте поле ввода суммы комиссии, если оказывается, она железно забита?
Размер комиссии,  задаваемой пользователем, вычисляется по формуле: размер транзакции в килобайтах с округлением вверх умножить на число, введённое пользователем. Также вычисляется приоритет транзакции, по более сложной формуле. И если приоритет получается "низкий", то клиент требует заплатить комиссию в заданном размере, если только пользовательская комиссия уже не превышает размер "обязательной" комиссии.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Yagiza on May 29, 2011, 02:27:34 PM
2. Зачем в клиенте поле ввода суммы комиссии, если оказывается, она железно забита?
Размер комиссии,  задаваемой пользователем, вычисляется по формуле: размер транзакции в килобайтах с округлением вверх умножить на число, введённое пользователем. Также вычисляется приоритет транзакции, по более сложной формуле. И если приоритет получается "низкий", то клиент требует заплатить комиссию в заданном размере, если только пользовательская комиссия уже не превышает размер "обязательной" комиссии.
Ни черта не понял. Выходит, если я задал комиссию 0, то я ничего не заплачу, а вот если задал хотя бы 0.0000001 и приоритет моей транзакции оказался "слишком низким", то я на самом заплачу 0.01BTC?


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Yurock on May 29, 2011, 06:23:34 PM
если только пользовательская комиссия уже не превышает размер "обязательной" комиссии.
Если пользователь вписал 0, то: 0 < 0,0005 → меньше минималки, просим комиссию, если прогнозируется низкий приоритет.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: LZ on May 31, 2011, 12:01:25 AM
1. Что такое "микротранзакция"?
Перевод суммы меньше 0.01 BTC отдельной трансакцией.

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

Если я правильно понимаю ситуацию, Гэвин решил сам выставлять
комиссию в клиенте, надеясь таким образом контролировать пулы.

Но поле для ввода оставлено для того, чтобы решение о комиссии
принимал все-таки пользователь. Он может заплатить навязанную
комиссию, либо не платить ее, но и ждать подтверждение дольше.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Yagiza on May 31, 2011, 10:04:30 AM
если только пользовательская комиссия уже не превышает размер "обязательной" комиссии.
Если пользователь вписал 0, то: 0 < 0,0005 → меньше минималки, просим комиссию, если прогнозируется низкий приоритет.
Что значит "просим"? Кто просит? Как это выглядит? И кто, в конце концов, принимает решение платить, или нет?

Но поле для ввода оставлено для того, чтобы решение о комиссии
принимал все-таки пользователь. Он может заплатить навязанную
комиссию, либо не платить ее, но и ждать подтверждение дольше.
Я всё равно, ничего не понял. Что значит "навязанную"? Если её мне "навязали", как я могу её не заплатить? Как я узнаю, что её мне навязали?

Пока я понимаю одно:
1. Если в поле комиссия стоит какая-то цифра, то я её обязательно заплачу.
2. Если в этом поле ничего не стоит, то спрогнозировав низкий приоритет, мне кто-то может "навязать" комиссию. Но я могу всё равно не платить её и продолжать ждать своей очереди. Так как же это будет выглядеть с моей стороны?


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Yagiza on May 31, 2011, 01:17:50 PM
Вот тут (http://forum.bitcoin.org/index.php?topic=10825.0) я высказал кое-какие идейки по поводу топика.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: LZ on May 31, 2011, 09:23:43 PM
Если в этом поле ничего не стоит, то спрогнозировав низкий приоритет, мне кто-то может "навязать" комиссию. Но я могу всё равно не платить её и продолжать ждать своей очереди. Так как же это будет выглядеть с моей стороны?
Если это микротрансакция, то ждать придется годы, пока микротрансакции не станут бесплатными.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Yagiza on June 01, 2011, 01:57:43 AM
Если в этом поле ничего не стоит, то спрогнозировав низкий приоритет, мне кто-то может "навязать" комиссию. Но я могу всё равно не платить её и продолжать ждать своей очереди. Так как же это будет выглядеть с моей стороны?
Если это микротрансакция, то ждать придется годы, пока микротрансакции не станут бесплатными.
Гм! Скажу честно: Ваш ответ не прояснил ровным счётом ничего.
Я спрашивал: как я узнаю, что с меня хотят бабла и как это бабло отдать? Ответа на свой вопрос я так и не получил.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: LZ on June 01, 2011, 12:52:33 PM
Приношу извинения.

Перевод совершенно бесплатен, если верны все три условия:
  • сумма перевода превышает 0.01 BTC (для версии 0.3.21);
  • перевод не займет много места в блоке (не помню сколько);
  • имеющиеся биткоины уже имеют множество подтверждений;

В иных случаях возможны ситуации:
  • консольный официальный клиент заплатит минимальную комиссию,
    не задавая никаких вопросов (0.01 BTC за один килобайт для 0.3.21);
  • графический официальный клиент попросит заплатить минимальную
    комиссию, предоставив варианты ответа "Да" и "Нет", во втором случае
    перевод отменяется (но можно отправить без комиссии через 0.3.20).


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Yagiza on June 01, 2011, 01:31:41 PM
Перевод совершенно бесплатен, если верны все три условия:
  • сумма перевода превышает 0.01 BTC (для версии 0.3.21);
  • перевод не займет много места в блоке (не помню сколько);
  • имеющиеся биткоины уже имеют множество подтверждений;

В иных случаях возможны ситуации:
  • консольный официальный клиент заплатит минимальную комиссию,
    не задавая никаких вопросов (0.01 BTC за один килобайт для 0.3.21);
  • графический официальный клиент попросит заплатить минимальную
    комиссию, предоставив варианты ответа "Да" и "Нет", во втором случае
    перевод отменяется (но можно отправить без комиссии через 0.3.20).
Спасибо! Теперь всё более-менее ясно.


Title: Re: Борьба с DDOS путем взятия комиссии за перево&#
Post by: Yurock on June 02, 2011, 04:16:26 AM
Кто просит?
Программа.

И кто, в конце концов, принимает решение платить, или нет?
Пользователь принимает решение. В настоящее время, в оригинальный клиент заложено требование какой-то минимальной платы при определённых условиях. Если какая-то группа пользователей сочтёт это требование нецелесообразным, они могут изменить его и пользоваться модифицированной программой. К тому же, существуют и другие программы и службы (eWallets), авторы которых свободны устанавливать свои правила относительно комиссионных.

Решение о включении транзакции в блок принимает исключительно пользователь, генерирующий его, то есть, майнер. По правилам, транзакции должны лишь соответствовать техническим требованиям. Среди майнеров должна быть конкуренция. Таким образом, если транзакция не попала в очередной блок, она всё ещё может попасть в какой-нибудь из последующих блоков, если она заинтересует других майнеров. Задача отправителя платежа состоит в том, чтобы обеспечить его получение и подтверждение в цепочке блоков за требуемое получателем время. Повышая плату, отправитель делает транзакцию более привлекательной для майнеров, и она может быть подтверждена быстрее, хотя ничего не гарантируется. С другой стороны, майнеры в данное время не несут каких-либо значимых расходов в связи с включением транзакций в блоки, поэтому у бесплатных транзакций, соответствующих некоторым критериям, есть все шансы быть подтверждёнными. Упомянутые критерии установлены с целью предотвратить перегрузку цепочки блоков вследствие намеренного и ненамеренного флуда системы большим количеством транзакций.