Author

Topic: Борьба с DDOS путем взятия комиссии за перево&#1076 (Read 8564 times)

newbie
Activity: 16
Merit: 0
Если в этом поле ничего не стоит, то спрогнозировав низкий приоритет, мне кто-то может "навязать" комиссию. Но я могу всё равно не платить её и продолжать ждать своей очереди. Так как же это будет выглядеть с моей стороны?
Если это микротрансакция, то ждать придется годы, пока микротрансакции не станут бесплатными.
Почему года то,? С ростом курса падает комиссия
sr. member
Activity: 462
Merit: 250
Кто просит?
Программа.

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

Решение о включении транзакции в блок принимает исключительно пользователь, генерирующий его, то есть, майнер. По правилам, транзакции должны лишь соответствовать техническим требованиям. Среди майнеров должна быть конкуренция. Таким образом, если транзакция не попала в очередной блок, она всё ещё может попасть в какой-нибудь из последующих блоков, если она заинтересует других майнеров. Задача отправителя платежа состоит в том, чтобы обеспечить его получение и подтверждение в цепочке блоков за требуемое получателем время. Повышая плату, отправитель делает транзакцию более привлекательной для майнеров, и она может быть подтверждена быстрее, хотя ничего не гарантируется. С другой стороны, майнеры в данное время не несут каких-либо значимых расходов в связи с включением транзакций в блоки, поэтому у бесплатных транзакций, соответствующих некоторым критериям, есть все шансы быть подтверждёнными. Упомянутые критерии установлены с целью предотвратить перегрузку цепочки блоков вследствие намеренного и ненамеренного флуда системы большим количеством транзакций.
member
Activity: 112
Merit: 10
潔くカッコ良く生きて行こう!
Перевод совершенно бесплатен, если верны все три условия:
  • сумма перевода превышает 0.01 BTC (для версии 0.3.21);
  • перевод не займет много места в блоке (не помню сколько);
  • имеющиеся биткоины уже имеют множество подтверждений;

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

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

В иных случаях возможны ситуации:
  • консольный официальный клиент заплатит минимальную комиссию,
    не задавая никаких вопросов (0.01 BTC за один килобайт для 0.3.21);
  • графический официальный клиент попросит заплатить минимальную
    комиссию, предоставив варианты ответа "Да" и "Нет", во втором случае
    перевод отменяется (но можно отправить без комиссии через 0.3.20).
member
Activity: 112
Merit: 10
潔くカッコ良く生きて行こう!
Если в этом поле ничего не стоит, то спрогнозировав низкий приоритет, мне кто-то может "навязать" комиссию. Но я могу всё равно не платить её и продолжать ждать своей очереди. Так как же это будет выглядеть с моей стороны?
Если это микротрансакция, то ждать придется годы, пока микротрансакции не станут бесплатными.
Гм! Скажу честно: Ваш ответ не прояснил ровным счётом ничего.
Я спрашивал: как я узнаю, что с меня хотят бабла и как это бабло отдать? Ответа на свой вопрос я так и не получил.
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
Если в этом поле ничего не стоит, то спрогнозировав низкий приоритет, мне кто-то может "навязать" комиссию. Но я могу всё равно не платить её и продолжать ждать своей очереди. Так как же это будет выглядеть с моей стороны?
Если это микротрансакция, то ждать придется годы, пока микротрансакции не станут бесплатными.
member
Activity: 112
Merit: 10
潔くカッコ良く生きて行こう!
Вот тут я высказал кое-какие идейки по поводу топика.
member
Activity: 112
Merit: 10
潔くカッコ良く生きて行こう!
если только пользовательская комиссия уже не превышает размер "обязательной" комиссии.
Если пользователь вписал 0, то: 0 < 0,0005 → меньше минималки, просим комиссию, если прогнозируется низкий приоритет.
Что значит "просим"? Кто просит? Как это выглядит? И кто, в конце концов, принимает решение платить, или нет?

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

Пока я понимаю одно:
1. Если в поле комиссия стоит какая-то цифра, то я её обязательно заплачу.
2. Если в этом поле ничего не стоит, то спрогнозировав низкий приоритет, мне кто-то может "навязать" комиссию. Но я могу всё равно не платить её и продолжать ждать своей очереди. Так как же это будет выглядеть с моей стороны?
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
1. Что такое "микротранзакция"?
Перевод суммы меньше 0.01 BTC отдельной трансакцией.

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

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

Но поле для ввода оставлено для того, чтобы решение о комиссии
принимал все-таки пользователь. Он может заплатить навязанную
комиссию, либо не платить ее, но и ждать подтверждение дольше.
sr. member
Activity: 462
Merit: 250
если только пользовательская комиссия уже не превышает размер "обязательной" комиссии.
Если пользователь вписал 0, то: 0 < 0,0005 → меньше минималки, просим комиссию, если прогнозируется низкий приоритет.
member
Activity: 112
Merit: 10
潔くカッコ良く生きて行こう!
2. Зачем в клиенте поле ввода суммы комиссии, если оказывается, она железно забита?
Размер комиссии,  задаваемой пользователем, вычисляется по формуле: размер транзакции в килобайтах с округлением вверх умножить на число, введённое пользователем. Также вычисляется приоритет транзакции, по более сложной формуле. И если приоритет получается "низкий", то клиент требует заплатить комиссию в заданном размере, если только пользовательская комиссия уже не превышает размер "обязательной" комиссии.
Ни черта не понял. Выходит, если я задал комиссию 0, то я ничего не заплачу, а вот если задал хотя бы 0.0000001 и приоритет моей транзакции оказался "слишком низким", то я на самом заплачу 0.01BTC?
sr. member
Activity: 462
Merit: 250
2. Зачем в клиенте поле ввода суммы комиссии, если оказывается, она железно забита?
Размер комиссии,  задаваемой пользователем, вычисляется по формуле: размер транзакции в килобайтах с округлением вверх умножить на число, введённое пользователем. Также вычисляется приоритет транзакции, по более сложной формуле. И если приоритет получается "низкий", то клиент требует заплатить комиссию в заданном размере, если только пользовательская комиссия уже не превышает размер "обязательной" комиссии.
member
Activity: 112
Merit: 10
潔くカッコ良く生きて行こう!
Суть очень простая. Микротрансакций сейчас просто нет.
Хотите отправить 0.001 BTC - заплатите 0.01 BTC майнеру.
В итоге истрачено не 0.001 BTC, а уже целых 0.011 BTC. Cool
Сейчас как раз идут разговоры об изменении этой системы.

Кстати, приоритетность трансакций с комиссией регулирует
сам майнер. Но в том числе может не выставлять приоритет.
В версии 0.3.22 комиссию снизили с 0.01 BTC до 0.0005 BTC.
А вот с этого момента поподробнее.
1. Что такое "микротранзакция"?
2. Зачем в клиенте поле ввода суммы комиссии, если оказывается, она железно забита?
sr. member
Activity: 462
Merit: 250
Цель приоритезации в том, чтобы уменьшить число ненужных транзакций, таких как флуд.

Ну, а если в блоках уже не будет хватать места для нужных транзакций, то ничего не останется, кроме как ограничить число транзакций. Путём повышения комиссии. То есть, например, 0,1 BTC невыгодно будет переводить при комиссии 0,05 BTC. Но, в то же время, перевод 100 BTC будет стоить столько же, а это уже вполне выгодно.
newbie
Activity: 79
Merit: 0
Это называется - саморегуляция. 0,0005 BTC - уже мало? Придётся платить больше. Требуемый размер комиссии зависит от текущего положения дел в системе.
повышение комиссии - это решение проблемы лишь для конкретного пользователя
и то, путём создания проблем для других

в целом же для системы низкоприоритетные транзакции никуда не денутся
и они будут висеть неделями, создавая проблемы
sr. member
Activity: 462
Merit: 250
то есть, если пул транзакций будет переполнен, то зависание хоть и начнётся с нулевых комиссий, но вполне продолжится и на мелочь типа 0.0005
Это называется - саморегуляция. 0,0005 BTC - уже мало? Придётся платить больше. Требуемый размер комиссии зависит от текущего положения дел в системе. Частота транзакций - один из факторов, влияющих на размер комиссии. Другой фактор - уменьшение премии за генерацию блока.

Да, Bitcoin вряд ли сможет обрабатывать все расчёты в мире штатными средствами. Потребность в других системах расчёта останется, но они смогут использовать BTC в качестве эквивалента для своих единиц.
sr. member
Activity: 350
Merit: 250
`3000 Транзакций на мегабайт блока. Вроде как `7 транзакций в секунду, грубо говоря. Но этот лимит может быть изменен.
Вскоре закладывать fee  в транзакцию  станет необходимостью. Чем больше  fee  тем выше скорость подтверждения. 
Ещё один толчок к развитию "банковских" систем, где транзакции будут происходить "внутри".
newbie
Activity: 14
Merit: 0
место в блоках ограничено
Оп-па. И какое максимальное количество транзакций может быть упаковано в блок? Странно, что есть ограничения, учитывая, что в час генерится всего 6 блоков...
newbie
Activity: 79
Merit: 0
Кстати, отмена неудачной транзакции может повлечь за собой отмену последующих транзакций
если она зависнет (допустим, на год) - это будет лучше?
Просто надо платить комиссию и не будет проблем. Скоро будет 0.0005 BTC - это примерно 10 копеек.
ну уж нет
цель комиссий - привлекать майнеров
но сейчас
во-первых: блоки не забиваются до краёв
во-вторых: 50BTC с генерации перекрывают любые комиссии

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

---
переформулирую чуть по-другому:
место в блоках ограничено
и если поставить выше комиссию, это будет значить лишь то, что чья-та транзакция с меньшей комиссией будет не обработана
это решенние проблемы локально для юзера, но не глобально для сети
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
Просто надо платить комиссию и не будет проблем. Скоро будет 0.0005 BTC - это примерно 10 копеек.
sr. member
Activity: 462
Merit: 250
Кстати, отмена неудачной транзакции может повлечь за собой отмену последующих транзакций. Например:
  • Транзакция 1: посылаем Васе 1 BTC без комиссии и "сдачу" - себе на новый адрес.
  • Транзакция 2: используя "сдачу" из транзакции 1, посылаем Пете 2 BTC с комиссией 0,01 BTC и новую "сдачу", опять же, себе.
Транзакция 2 будет признана не раньше, чем транзакция 1, потому что она использует средства из первой транзакции. И если первая транзакция "повиснет" и будет отменена, то отправителю придётся повторить обе транзакции.
sr. member
Activity: 462
Merit: 250
Был случай скопления большого числа зависших транзакций. Эта тема обсуждалась в англоязычных разделах.
newbie
Activity: 42
Merit: 0
ну тада толкните идею/фича-реквест биткоин фаундэйшин или в топике "Development".
как вариант - очередь динамической глубины, в элементом рандомизации в CSMA-CD-штиле.
newbie
Activity: 79
Merit: 0
так проблема то есть
когда блоки станут забиваться до краёв, низкоприоритетных висящих транзакций будет становиться всё больше и больше
и при фиксированном протоколе (он то тут вобще при чём?) её в любом случае прийдётся решать модификацией клиента

либо подгонять минимальную комиссию таким образом, чтобы висящие транзакции не появлялись
либо дать возможность им появляться, но затем по каким-то критериям отбрасывать
newbie
Activity: 42
Merit: 0
скорее это реализцют на уровне сделки. те посредниги-страховщики в секьюрных сделках(траст и попробще) будут заниматься такими граблями а не энд-юзеры(доля энтузиатов технически подкованных(для этого), будет стремительно падать).
я к тому, что врятли протокол будут корябать-обновлять ощутимо.
newbie
Activity: 79
Merit: 0
Эта проблема будет решаться отбрасыванием низкоприоритетных транзакций
да, иначе деньги навсегда могут зависнуть в сети

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

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

upd.
вобще, неплохо было бы сделать время жизни транзакции
допустим, висит больше суток - отменять
конечно, софт станет сложнее
зато повысится удобство
sr. member
Activity: 462
Merit: 250
но в сети эти 2 тыщи транзакций то будут болтаться
Эта проблема будет решаться отбрасыванием низкоприоритетных транзакций. Когда накопится слишком много "зависших" транзакций, какие-то из них придётся выкидывать. Клиент должен обнаруживать такую ситуацию и возвращать деньги на баланс неудавшегося отправителя. Не знаю, реализовано ли это в текущей версии, но, думаю, так и будет сделано.
newbie
Activity: 79
Merit: 0
но в сети эти 2 тыщи транзакций то будут болтаться
и если майнеры не будут успевать перерабатывать этот мусор - что станет с сетью?
sr. member
Activity: 462
Merit: 250
и теперь ничего не мешает при наличии 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 за килобайт вполне приемлемой при текущем курсе, и рекомендую всем платить небольшую "добровольную" комиссию.
newbie
Activity: 79
Merit: 0
В версии 0.3.22 комиссию снизили с 0.01 BTC до 0.0005 BTC.
и теперь ничего не мешает при наличии 1 BTC сделать 2 тыщи транзакций?
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
В версии 0.3.22 комиссию снизили с 0.01 BTC до 0.0005 BTC.
Lis
sr. member
Activity: 293
Merit: 251
Spice must flow!
Суть очень простая. Микротрансакций сейчас просто нет.
Хотите отправить 0.001 BTC - заплатите 0.01 BTC майнеру.
В итоге истрачено не 0.001 BTC, а уже целых 0.011 BTC. Cool
Сейчас как раз идут разговоры об изменении этой системы.

Кстати, приоритетность трансакций с комиссией регулирует
сам майнер. Но в том числе может не выставлять приоритет.
Так умирает демократия децентрализованность...
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
Суть очень простая. Микротрансакций сейчас просто нет.
Хотите отправить 0.001 BTC - заплатите 0.01 BTC майнеру.
В итоге истрачено не 0.001 BTC, а уже целых 0.011 BTC. Cool
Сейчас как раз идут разговоры об изменении этой системы.

Кстати, приоритетность трансакций с комиссией регулирует
сам майнер. Но в том числе может не выставлять приоритет.
sr. member
Activity: 868
Merit: 251
Повторяю, комиссия ставится не на узле, а в транзакции.
legendary
Activity: 1386
Merit: 1000
к узлу, сгенерировавшему блок.

Уау! Т.е. я ставлю кластер, ставлю комиссию 100% и смогу перехватывать и глушить транзакции ?
sr. member
Activity: 868
Merit: 251
Не к ддосеру, а к узлу, сгенерировавшему блок.
legendary
Activity: 1386
Merit: 1000
а почему должно кончиться? заведет два кошелька в разных директориях и будет с одного на другой пересылать по одной миллионной биткоина в транзакции. А как перешлет пару тысяч биткоинов - начнет пересылать обратно. Проблем с путем доставки - никаких, можно IP-адрес указывать. А Сеть все равно все транзакции должна запоминать и проверять.

даже если комиссия относится к транзакции (т.е. к принимающему кошельку), то она все равно будет переходить к DDOS-еру, верно?
Ну будет он переводить по одной сотой биткоина с комиссией в одну десятитысячную биткоина. На целевой кошелек будет приходить одна сотая и одна десятитысячная. Деньги же не теряются?
Тогда транзакции будут платными, но провести DDOS это не помешает.
sr. member
Activity: 868
Merit: 251
Насколько я понимаю, комиссия включается не на узле. Она вкладывается в транзакцию, и такая транзакция имеет приоритет. Соответственно, если у ддосера в транзакции комиссия не вложена, эти транзакции будут обрабатываться узлами в последнюю очередь.
full member
Activity: 171
Merit: 100
Против - никак, но у переводов с комиссией приоритет. А вообще может имелась ввиду минимальная комиссия во всех клиентах? Хоть 0.00001, но ддосера это рано или поздно остановит.
legendary
Activity: 1386
Merit: 1000
совсем скоро придётся нам всем включить сборы.

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