Bitcoin Forum
December 13, 2024, 09:18:54 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Poll
Question: На ваш взгляд, будет ли активирован SegWit до 1 янв  (Voting closed: December 30, 2016, 11:23:31 PM)
Да - 14 (26.4%)
Нет - 39 (73.6%)
Total Voters: 53

Pages: « 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 »  All
  Print  
Author Topic: Есть ли шансы у Segregated Witness?  (Read 14311 times)
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 24, 2016, 08:45:21 PM
 #101

Я не говорил, что блок делится. Я понимаю так, что у нас появляется дополнительный
блок данных- сегвит-блок. Ведь основной блок как был до  1мб, так и остается.
А дополнительный может занимать до 3мб.
Я еще раз повторяю - нет двух блоков в сегвите. Есть один блок лежащий на диске
в blk-файле как массив данных и размером он может быть больше 1 мегабайта.

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

Если у вас попросит этот же блок, с этим же идентификатором новый клиент - вы ему отдадите
блок "как он есть". И новый клиент тоже проверит транзакции в блоке и будет доволен.

Если вы ошибетесь, и старому клиенту отдадите новый блок - тот вас не поймет и разорвет соединение.

Если вы новому клиенту отдадите старый формат блока - новый клиент немного расстроится и
спустит этот блок в унитаз и будет просить у кого-то другого.

Quote
Но начнем с азов. Может, где-то ошибаюсь.
Пластичность транзакции- это, когда берется валидная транзакция, в ней
меняются некоторые данные, она остается при этом валидной.
По смыслу она не меняется, входы и выходы остаются такими же.
Но, так как байты были поменяны, TXID становится другим.
Абсолютно верно.

Quote
Пластичные транзакции могут быть только вне блокчейна. В блокчейн попадает только одна из них.
Так и есть.

Quote
Чтобы решить эту проблему, надо убрать данные, которые можно менять.
Это попытались уже исправить, возможности изменений уменьшили.
Но теория гласит, что в общем случае, решить проблему невозможно.
Тут заблуждаетесь.
Да, пластичность транзакции возникает из-за того, что некоторые вещи в транзакции можно
поменять. Например, в математике число 1 можно записать множеством разных способов.
1 или 01 или 001 или 0001 и даже 000000000000000001 - это все равно 1
Один из способов побороть пластичность было решение "минимальной длины" - то есть все
обычные числа которые используются в транзакции записываются строго одним способом.

Если нода встречает транзакцию в которой число записано неоптимальным способом - есть
два пути - проигнорировать такую транзакцию или самостоятельно привести транзакцию к
оптимальному виду не теряя при этом её валидности.

Второй вариант пластичности транзакций который наделал много шума благодаря вашему
покорному слуге и из-за которого погорел гокс - это пластичность самой ECDSA-подписи.
Подпись - это по сути два 256-битных числа, которые обычно называют R и S для
удобства. Так вот, если в подписи поменять значение S на минус S - то подпись остается
верной, а транзакция валидной, но меняет свой txid

Решение было принято простое - ноды перестали майнить транзакции с "отрицательным" S
и этого варианта пластичности уже год как нет. Это не было принято как софт-форк, а
только как полиси, то есть майнеры имеют право майнить транзакции и с отрицательным S
но никто это не делает.

Есть еще несколько вариантов пластичности транзакций. И все эти проблемы де-факто
были решены. То, что сейчас сегвит позиционируется как окончательное решение этой проблемы
верно, но проблемы этой на сегодняшний момент не существует. То есть это решено
в общем случае или может быть решено простым софт-форком, который и так де-факто принят.

Quote
Теперь, что касается сегвит-транзакции. Все-таки, она состоит из двух частей,
первая записывается в основной блок, вторая часть в сегвит-блок.
Ну хорошо. Если вам так удобнее себе представлять, давайте считать, что ваш
клиент записывает эти две части раздельно. Право же, это неважно.

Quote
Но так как данные, которые можно было менять, перешли во вторую часть, то в
первой части нельзя ничего менять. Поэтому нельзя сделать пластичную транзакцию,
чтобы поменялся TXID. Так как TXID считается только по той части, которая попадает
в основной блок.
Верно с одним замечанием - во второй части тоже ничего нельзя менять. не всегда и не
всё можно менять. Там находится (для стандартной сегвит-транзакции) ваш публичный ключ
и ваша подпись. При изменении хоть одного байта в публичном ключе подпись становится
невалидной. При изменении хоть одного байта в подписи - подпись тоже становится невалидной.
Ага, вспоминаем что число S в подписи можно поменять на противоположное? Ну, даже, допустим
мы поменяем S - что от этого изменится в мире? Ни-че-го кроме байтиков на вашем диске.
Я точно не помню, но по-моему клиент по-прежнему считает валидным значением только
положительное значение S. Но если от встретит отрицательное - то может спокойно заменить
его даже в блоке. От этого ни транзакция, ни блок не пострадают.

Quote
Вопрос был, можно ли поменять вторую, сегвит-часть транзакции, чтобы при этом
вся транзакция в целом оставалась валидной.
Смотря какая там транзакция и что вы собираетесь там менять.

Quote
Если теория утверждает, что проблема пластичности не решается, то ответ должен быть МОЖНО.
Вы не можете там просто любые байты на любые другие байты поменять.
Ибо зачем тогда сегвит часть нужна если она по сути не используется?

Если вы что-то поменяете в сегвит-части транзакции, которая не включена еще в блок, то
- TXID не поменяется
- входы не поменяются
- выходы не поменяются
- а вот верификацию транзакция скорее всего не пройдет

Format.C^
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
November 24, 2016, 08:54:19 PM
Last edit: November 24, 2016, 09:07:40 PM by Format.C^
 #102

Для того, чтобы не затрагивать темп эмиссии и её суммарное количество, достаточно поправить 3 строчки кода.
А для того чтобы изменить эмиссию - сколько строчек надо поправить?  Grin
Не боитесь выпустить хард-форк-джина из бутылки?
Один раз провернув хард-форк потом будет трудно остановиться... Это как наркотик Smiley
Я так думаю.
Так и я так же думаю. Не нужно оскорблять нежные чувства биткоин-евангелистов, тем более что в этом нет никакой необходимости. Я же все-таки написал  "НЕ затрагивать темп эмиссии". По-моему, звучит вполне однозначно, без подтекстов и прочей ерунды. Поэтому джинн останется там, где и был изначально)


Тут такие аспекты. Не смешивайте SegWit и LN плюс все другие следствия в один аргумент.
Сегвит отдельно, все остальное отдельно. Разумеется, если кто-то утверждает, что без сегвита
какие-то технологии невозможны - то их пока не обсуждаем.
В том то и дело, что насколько я смог разобраться, Lighting без SegWit полноценно не работает. Если сможете аргументированно доказать обратное - вэлкам.
Кроме того, и Lighting, и SegWit - самые настоящие костыли. Опять же, если сможете показать, что это не так - буду только рад.

Что вы понимаете под техническими подробностями сегвита? Задавайте вопросы, я вам отвечу.
На пальцах постараюсь объяснить или куски кода покажу где смотреть. Если смогу, конечно.
ОК, учту на будущее.
Но я изначально не имел ввиду какие-то "куски кода". Мне они не нужны, потому что я (как и любой желающий) имею доступ к оригиналу на гитхабе. Мне не очень интересны реализации говнокода SW(или LC). Мне интересны конкретные технические подробности:
1. На сколько фактически увеличится размер блока (без учета места под скрипты)? Обнародовано "эффективных" 1,7Мб, Как-то не убедительно, не находите? А в коде по этому поводу вообще черт ногу сломит, на мой [дилетантский] взгляд.
2. Какая пропускная способность ноды потребуется для функционирования Lighting? Ведь заявлено, что будет снижена нагрузка на сеть. С учетом того, что для полнофункциональной работы Lighting тоже потребуется траффик (и немалый), мне интересны конкретные цифры. Хотя бы в первом приближении.
3. Будет ли учитываться (заполняться) свободное место в блоке SPV-майнинга? Я нигде не нашел однозначного ответа.
Это конечно же не все вопросы, а только самые элементарные. Но чтобы не писать простыни текста, предлагаю двигаться поэтапно, от простого к сложному.

Едем дальше. Что такое сегвит с технической точки зрения? Вообще говоря, он очень похож на
введенный еще в 2012-ом году BIP-16,
Это не совсем так. Даже не вдаваясь в тонкости технических подробностей, главное отличие сразу бросается в глаза - это последствия.
BIP-16 был безобидным (бурление говен в то время не имело под собой никаких вменяемых оснований и само собой затихло), а SegWit вполне способен внести раскол [в прямом смысле слова!] в комьюнити. Это даже закрывая глаза на то, что в дальнейшем благодаря ему очень большая вероятность получить самый что ни на есть хардфорк. Может до такого и не дойдет (я не ванга, еслишо), но вероятность довольно высокая. Вам это нужно? А мне? А комьюнити?
Зачем играть с огнем, если есть более безопасные и эффективные решения? Смысл?
Риторический вопрос, конечно. Но я знаю на него ответ. А вы?



pianist
Legendary
*
Offline Offline

Activity: 954
Merit: 1003


View Profile
November 24, 2016, 09:01:13 PM
 #103

Есть еще несколько вариантов пластичности транзакций. И все эти проблемы де-факто
были решены. То, что сейчас сегвит позиционируется как окончательное решение этой проблемы
верно, но проблемы этой на сегодняшний момент не существует. То есть это решено
в общем случае или может быть решено простым софт-форком, который и так де-факто принят.

Ты забыл самое главное что дает segwit для LN!

Хрен с ней с пластичностью, нужно тратящую транзакцию создавать ДО подписи исходной. Это самое главное, и именно это дает сегвит.

Сейчас нет способа безопасно инициировать канал. Нужен сегвит, тогда заживём.
pianist
Legendary
*
Offline Offline

Activity: 954
Merit: 1003


View Profile
November 24, 2016, 09:04:18 PM
 #104

Кроме того, и Lighting, и SegWit - самые настоящие костыли. Опять же, если сможете показать, что это не так - буду только рад.

Сегвит — костыль, его основная цель — сделать так, чтобы хеш транзакции не зацисел от подписи. Да, как я написал выше, чтобы тратить ещё не получив.

Лайтнинг — это другая сеть совершенно. Это биткоин в массы пустить, чтобы всё работало вне блокчейна.
Format.C^
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
November 24, 2016, 09:14:14 PM
 #105

Лайтнинг — это другая сеть совершенно.
Да вы что?
Серьозно?
Где вы этой фигни набрались? пруфом не обрадуете?
Я почему-то считал, что LC это сайдчейн (от блокстрим) поверх биткоина, а оно вона как оказывается))...
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 24, 2016, 09:26:51 PM
 #106

Поэтому джинн останется там, где и был изначально)
А потом придет Виталик с сектой и будет проповедовать открыть ящик Пандоры Smiley

Quote
В том то и дело, что насколько я смог разобраться, Lighting без SegWit полноценно не работает.
Если сможете аргументированно доказать обратное - вэлкам.
Я не копенгаген в LN совсем от слова "никак". То есть я не знаю как он должен
работать с сегвитом и почему он без сегвита не может быть реализован. Извините.

Quote
Кроме того, и Lighting, и SegWit - самые настоящие костыли.
Опять же, если сможете показать, что это не так - буду только рад.
Увы. Для хромого калеки коим на мой взгляд является биткойн и вся концепция
криптовалют костыли - это жизненная необходимость.

Quote
1. На сколько фактически увеличится размер блока (без учета места под
скрипты)? Обнародовано "эффективных" 1,7Мб, Как-то не убедительно, не находите?
А в коде по этому поводу вообще черт ногу сломит, на мой [дилетантский] взгляд.
Зависит от того кем это будет использовано. Если 100% людей будут пользоваться сайтом
blockchain.info (а он вряд ли перейдет на создание сегвит-транзакций в обозримом
после принятия сегвита будущем) - то ни на сколько. Если вы будете пользоваться старым
клиентом версии 0.12 - то вы тоже будете создавать ровно такие же транзакции как и раньше.
Если вы будете пользоваться клиентом 0.13 - то этот клиент будет отправлять сдачу
на сегвит-адреса ( я специально уточнил это https://bitcointalk.org/index.php?topic=1687368.0 )
даже если вы не сделаете никаких действий. Самый большой эффект будет в случае если все
пользователи сети будут пользоваться сегвит-адресами и все сервисы тоже. В этом случае
размер блока вырастет примерно вдвое-втрое (я точно не считал).

Есть некоторое непонимание. Дело в том, что сегвит-адресов фактически несколько.
Если раньше у нас были адреса P2PK (ими практически никто не пользуется),
P2PKH (это обычный адрес начинающийся на 1) и P2SH (это те которые начинаются на 3),
то сейчас эти адреса "заворачиваются" в сегвит-аналоги. Насколько я понял, погоняв
тестнет-клиент, тот может из обычного адреса P2PKH создать соответствующий сегвит-аналог

Quote
2. Какая пропускная способность ноды потребуется для функционирования Lighting? Ведь
заявлено, что будет снижена нагрузка на сеть. С учетом того, что для полнофункциональной
работы Lighting тоже потребуется траффик (и немалый), мне интересны конкретные цифры.
Хотя бы в первом приближении.
См выше.

Quote
3. Будет ли учитываться свободное место в блоке SPV-майнинга?
Я нигде не нашел однозначного ответа.
Этот вопрос я не понимаю. Что такое "свободное место" и при чем тут "SPV-майнинг"


Quote
BIP-16 был безобидным (бурление говен в то время не имело под собой никаких
вменяемых оснований и само собой затихло), а SegWit вполне способен внести раскол
[в прямом смысле слова!] в комьюнити.

Да ладно Smiley Андрессен с ЛюкомЖр чуть мордасы друг другу не начистили Smiley
Впрочем, со свечкой не стоял. Только опосля читал баталии на форуме.

Quote
Это даже закрывая глаза на то, что в дальнейшем благодаря ему очень большая
вероятность получить самый что ни на есть хардфорк. Может до такого и не дойдет
(я не ванга, еслишо), но вероятность довольно высокая. Вам это нужно? А мне? А комьюнити?
Я - человек маленький. Я за большинством пойду. И свой профит поищу по дороге.
Задач по "облагодетельствованию мира" и "уничтожению богомерзкого фиата" я не
ставлю перед собой.

Quote
Зачем играть с огнем, если есть более безопасные и эффективные решения? Смысл?
Риторический вопрос, конечно. Но я знаю на него ответ. А вы?
Мне тоже кажется, что я знаю ответ. Я его не раз озвучивал нафоруме и он никому
не нравится.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 24, 2016, 09:30:28 PM
 #107

Ты забыл самое главное что дает segwit для LN!
Хрен с ней с пластичностью, нужно тратящую транзакцию создавать ДО подписи исходной.
Это самое главное, и именно это дает сегвит.
Сейчас нет способа безопасно инициировать канал. Нужен сегвит, тогда заживём.

Это хорошая мысль. Да, я об этом не подумал. Да, это верно.
Да, тут есть что обдумать. Спасибо за комментарий.

pianist
Legendary
*
Offline Offline

Activity: 954
Merit: 1003


View Profile
November 24, 2016, 09:56:30 PM
 #108

Да вы что?
Серьозно?

Да, это так.

Лайтнинг только ИСПОЛЬЗУЕТ блокчейн биткоина для открытия канала и закрытия канала. Закрытие бывает двух видов — консенсусное и спорное. Спорное закрытие канала подразумевает наличие временного окна для конфискации средств, текущие имплементации предполагают окна кратные 24 часам (примерно, в блоках).

Де факто лайтнинг можно запустить на любой консенсусной системе, даже Сбербанке. Вот, ирония в этом как раз. Всё что от блокчейна надо — это уметь создавать некую сущность как двунаправленный канал, и уметь разрешать конфликты.

После лайтнинга основной хомяк перейдёт туда. В блокчейне фиксироваться будут операции примерно столько же, сколько обычный человек ходит в банк за открытием счёта.
Sorros
Sr. Member
****
Offline Offline

Activity: 262
Merit: 252


View Profile
November 24, 2016, 10:36:10 PM
Last edit: November 24, 2016, 11:03:19 PM by Sorros
 #109

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

Если нода откажется от полной перепроверки, то она становится уязвима для "атаки Сибиллы". И считать такой узел нодой, в том понимании в котором мы привыкли, уже нельзя. По сути, такой узел становится SPV, и более не способен полноценно поддерживать безопасность сети, а именно проверять достоверность полученных им транзакций. Он просто будет прогонять через себя транзакции, абсолютно не принося этим никакой пользы. Такой узел "верит на слово" тем узлам, соединение с которыми он держит. По такому же принципу работают легкие кошельки. Но в случае с кошельками, есть смысл в такой работе, это облегчает процесс работы с монетами. Попросту говоря, дает юзеру возможность легко использовать биткойн. А вот какую роль будет выполнять SPV нода, если мы говорим о ней как о узле транслирующем транзакции? Просто релеить транзакции, а смысл?

Факт существования блокчейна, с текущей сложностью, гарантирует целостность данных. Но этот факт совершенно не гарантирует, что Ваша нода получит именно эти целостные данные.
Har01d (OP)
Member
**
Offline Offline

Activity: 75
Merit: 10


View Profile
November 25, 2016, 07:58:46 AM
 #110

Ну вы тут и понаписали Smiley

По теме: пока новостей нет, как с первого дня голосовали три пула, так всё и осталось. BitFury пишут, что будут голосовать «за», небольшой китайский майнер накатал статью «WHY AGAINST SEGWIT AND CORE? JIANG ZHUO’ER, WHO INVESTED MILLIONS IN MINING, GIVES HIS ANSWERS»: https://bitkan.com/news/topic/25778

------------------------------------------------------

Не соглашусь. В случае софт форка необновленная нода по прежнему верифицирует блокчейн. Новые блоки являются для нее валидными тоже. Это как раз и есть отличе от хард форка.

Вы оба правы. Просто вы забыли, что "верификация транзакций" и "верификация блокчейна"
в случае софт-форка такого как сегвит - это две большие разницы.

Транзакции (как включенные в блок, так и просто гуляющие по сети) для необновившихся нод
сегвит-клиенты сериализуют в "старом формате" получается ANYONE_CAN_SPEND

То есть старые ноды верифицируют что-то по смыслу эквивалентное "один плюс один это два?"
и результат этой верификации никому в принципе не нужен. Старые ноды хранят блокчейн в
"старом формате" и эти блоки с них могут скачать только старые клиенты.

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

Так вот в том-то и дело, что процесс «верификация блокчейна» включает в себя процесс «верификация транзакций». Необновившиеся ноды не верифицируют часть транзакций, а значит, уровень достоверности верификации блокчейна таковыми нодами составляет 0. Как и нельзя быть чуть-чуть беременной, так и нельзя чуть-чуть верифицировать блокчейн.


Хочу снова привести позицию биткоин-максималиста по этому поводу (не могу сказать, что полностью ее разделяю, но мне было интересно понять позицию каждой из сторон).

Quote
Разработчики Core сделали верный вывод, что жесткое ветвление протокола без того, чтобы хард форк был срочен и самоочевиден, стало бы актом централизации с потенциалом взорвать Биткойн изнутри. Поэтому они и не делают такой хард форк. Вдобавок, другие ошибочно воспринимают бездействие Core как шаг к централизации, и теперь уже сами способствуют централизации сети, путем изменения правил консенсуса сети без достижения фактического консенсуса.

Еще раз: до тех пор, пока не возникает сам собой разумеющийся самоочевидный консенсус по типу “О Господи! Приближается Гигантский Метеорит!”, – нет никаких причин вмешиваться хард форком в работающий протокол консенсуса.
 

Тут даже гуглить не пришлось, чтобы понять, чья статья Smiley

Консенсус в этом понимании недостижим, даже с "гигантским метеоритом" найдутся люди, которые скажут "нам его бог послал, ничего с этим нельзя делать, надо это принять и перейти в следующий мир". Очень плохо, что сейчас пытаются людям внушить, что изменения в Биткоине — это какая-то катастрофа, потому что в будущем Биткоина вполне могут возникнуть такие ситуации, когда надо будет что-то менять (это помимо насущной проблемы с блоками).

Намедни я откопал интереснейшую статью от профессоров MIT "Зыбкость Биткоина без награды за блок" — http://freedom-to-tinker.com/2016/10/21/bitcoin-is-unstable-without-the-block-reward/ — там описываются новые вектора атак, для отражения которых, вполне возможно, надо будет, например, поменять модель выплаты комиссий — выплачивать нашедшему блок, скажем, не сумму комиссий блока, а среднюю комиссию пула из последних 100 блоков.

Не надо во всем обвинять журналистов. Я вижу как люди поливают грязью друг друга на форумах и без их участия. Любого с мнением, отличным от правильного записывают во враги.
Хочу отметить, что вы один из самых адекватных представителей вашего сообщества (я помню вас еще с времен XT).
И да, переход на альтернативный клиент (не совместимый с предыдущим) и другую команду разработки - это переворот и смена власти (даже если это не захват, а мирная передача).

Слава тебе Господи, что есть на этом форуме вменяемые люди.
Которые готовы спокойно обсуждать вещи беспристрастно и не бросаясь какашками в противников своей точки зрения.

Друзья, спасибо на добром слове Smiley

По поводу переворота — я это так вижу, что одна из позиций тех, кто против Core (и я с ними в этом согласен) — это как раз снижение влияния разработчиков на судьбу криптовалюты. Т.е. не захват власти, а, если так можно выразиться, аннулирование эффекта этой власти. И многие говорят, что если Биткоин хоть раз пройдёт через это, в дальнейшем это будет всё намного проще, потому что будет уже определённый опыт. Это важно, потому что любую команду разработчиков можно купить, с ней может что-то случиться другое — нельзя привязываться к одним людям.

Вы можете его вообще не замечать, игнорировать. Не хотите, пользуйтесь транзакциями on-chain. Здесь дело добровольное.

<…>

Как писал Har01d - при этом комиссии будут умеренными. Только пока я не нашел ответа об этой "умеренности". Так что платите, и будет вам счастье, а не хотите платить, ждите часами.

В случае Лайтнинга поверх 1 Мб не получится не замечать, потому что там комиссии реально станут огромными.

«Умеренная» — как минимум определённая рынком, и позволяющая пользоваться биткоин-сетью обычным людям в нормальном режиме, а не в режиме «мне надо открыть как можно меньше каналов в Lightning, они очень дорого стоят, поэтому я открою один канал с крупным хабом-банком, как это делают все остальные».

Я хочу гарантированное обслуживание: делаешь транзакцию со стандартной комиссией и она попадает в первый блок.
Нет никакой стандартной комиссии.
....
Я же и говорю. Надо, чтобы она была.
Де-факто, она была, практически 7 лет. Исчезла, когда блоки пошли полные.
Появился пресловутый "рынок комиссий". Худшей схемы обслуживания для пользователей трудно придумать. 
"Рынок комиссий" работает только тогда, когда появляется пробка. То есть,  часть пользователей системой уже кидается. Соответственно, часть пользователей уже недовольна. И судя по текущей ситуации, срабатывает с большим опозданием.

И причина этому искусственное ограничение размера блока. Что фактически означает искусственное ограничение развития Биткоина.


Кстати была стандартная комиссия, и она вполне себе работала.

Опять же сюда картинки не вставляются, посмотрите график из моего твита https://twitter.com/nikzh/status/801712144844816388 (англоязычный вариант — https://twitter.com/nikzh/status/801712639332204544). Там вполне была комиссия 0.0001 до того, как блоки полностью не заполнились. Хотя она могла бы быть и меньше.

«Рынок комиссий» спокойно может работать и без «пробок». Например, большинству майнеров достаточно просто установить минимальный размер комиссии за килобайт (что уже есть и сейчас).

amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 25, 2016, 08:12:24 AM
 #111

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

Аргумент "надо пройти через это и потом будет проще" действует только на одного
человека и то не всегда. Если ты проигрался в казино - потом будешь думать что делаешь
(если не пустишь себе пулю в висок), но последующие поколения ничему на твоем примере
не научатся. Даже наоборот. Если все проигравшие будут самоубиваться - то в мире будут
живыми только те, кто выиграл, и они будут примером для новых игроков: "все мои знакомые
выиграли и я выиграю"

Могу ближе к теме привести пример. Допустим, в эфире провели несколько хард-форков
и эта крипта кое-как живет. Чем не аргумент "ничего страшного в хардфорках нет - смотрите
на кефир, он же не умер, наоборот все лучше стало". Про стопицот альткойнов, которые умерли
от хард-форка никто и не вспоминает.
snortex
Hero Member
*****
Offline Offline

Activity: 814
Merit: 1001


View Profile
November 25, 2016, 08:58:41 AM
 #112

2. Альтернатива.
Основной комплекс проблем биткоина здесь всем известен, нет смысла повторяться. Но вот пути его решения могут очень кардинально отличаться.
Для того, чтобы увеличить частоту блоков, нужно изменить одну (!!!)   строку кода.
Для того, чтобы увеличить размер блока, достаточно изменить две строчки кода.
Для того, чтобы не затрагивать темп эмиссии и её суммарное количество, достаточно поправить 3 строчки кода.

Сравните эти изменения с тем, что предлагают в SW/LC. На самом деле смысл ведь не в количестве строк кода, а в том, что в них будет написано, что он затрагивает и какие будут последствия. Какие реальные преимущества SW/LC по сравнению с вышеприведенным? Off-chain(sidechain) операции? Я вас умоляю, пока еще это детский лепет на лужайке.
В остальном я не вижу ни одного  преимущества. Скорее наоборот, очень большой пучок проблем в самом ближайшем будущем.
Кто видит явные преимущества в SW/LC - поправьте, буду только рад.
---------------------------------------------------
Код - это всего лишь инструмент, а не священная курица. И от того, как им пользуются, зависит выход "готового изделия". Нельзя в него лезть дилетантскими "грязными" руками. Но так как биткоин  сейчас "немного" болеет, в этом косвенная вина каждого из всех нас.
ИМХО.

Это скорее подход Ethereum.
В Биткоине код - это священная курица (мне больше нравится вариант с коровой) - никто не может единолично изменить правила консенсуса. По крайней мере Core считают, что у них такой власти нет (https://bitnovosti.com/2016/02/17/who-can-change-consensus-rules/)
Нельзя рассматривать феномен биткоина только с технической точки зрения, забывая про социально-экономическую.
В чем ценность биткоина? Для кого-то – это возможность хранить цифровую наличность, быстро и удобно совершать транзакции.
Другая часть сообщества считает, что главная ценность и сила биткоина – это его истинная децентрализованность и устойчивость к внешним воздействиям, именно она позволила ему выстоять все эти годы стоически обивая атаки недоброжелателей. Уверенность в том, что никто не может прийти завтра и отжать у вас монеты или обесценить их изменив эмиссию или еще что-то. И то как биткоин успешно пока сопротивляется попыткам его жестко зафоркать говорит о том, что он совем не болен, а вполне себе здоров (а долгое время подтверждения и возросшие комиссии – это вообще мелочи которые можно пережить).
Каждая из групп по своему права и они с трудом понимает друг друга (если вообще понимают), прагматики-технари говорят, что все проблемы можно решить поменяв несколько строчек когда, а идеалисты-децентралисты считают что консенсус это святое и эти правила менять нельзя (можно только в случае если стоит вопрос выживания, когда необходимость изменения самоочевидна для всех, сделай или умри).
Масштабировать систему без потери децентрализации – очень сложная задача и возможно потребует сложных решений которые могут выглядеть как костыли (а может и на самом деле ими являются).
Лично мне тоже больше по душе технический подход и я соглаен со многими вашими доводами, но нельзя игнорировать и другие аспекты тоже.


I never lose. Either I win or I learn.
GGUL
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
November 25, 2016, 09:06:05 AM
 #113

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

Если нода откажется от полной перепроверки, то она становится уязвима для "атаки Сибиллы". И считать такой узел нодой, в том понимании в котором мы привыкли, уже нельзя. По сути, такой узел становится SPV, и более не способен полноценно поддерживать безопасность сети, а именно проверять достоверность полученных им транзакций. Он просто будет прогонять через себя транзакции, абсолютно не принося этим никакой пользы. Такой узел "верит на слово" тем узлам, соединение с которыми он держит. По такому же принципу работают легкие кошельки. Но в случае с кошельками, есть смысл в такой работе, это облегчает процесс работы с монетами. Попросту говоря, дает юзеру возможность легко использовать биткойн. А вот какую роль будет выполнять SPV нода, если мы говорим о ней как о узле транслирующем транзакции? Просто релеить транзакции, а смысл?

Факт существования блокчейна, с текущей сложностью, гарантирует целостность данных. Но этот факт совершенно не гарантирует, что Ваша нода получит именно эти целостные данные.
Атака Сибиллы? Попробуйте создать блокчейн нынешней длины и такой же сложности.

Алгоритм
Скачиваем все блоки, проверяем хеши.
Если хеш 400000 блока  =XXXXXXX....
значит все отлично. (Математика дает нам целостные данные.)
переходим в полноценный режим.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 25, 2016, 09:10:29 AM
 #114

Алгоритм
Скачиваем все блоки, проверяем хеши.
Если хеш 400000 блока  =XXXXXXX....
значит все отлично. (Математика дает нам целостные данные.)
переходим в полноценный режим.
Откуда мы узнаем, что хэш блока 400000 имеет значение
000000000000000004ec466ce4732fe6f1ed1cddc2ed4b328fff5224276e3f6f ?
Посмотрим на blockchain.info, да? А кто докажет, что bc.i нам не подсунул левое значение на наш запрос?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 25, 2016, 09:21:41 AM
 #115

В Биткоине код - это священная курица (мне больше нравится вариант с коровой) -
никто не может единолично изменить правила консенсуса.
Что значит "никто не может"? С точки зрения лингвистики - это нонсенс.
Любой работающий говнофорк - это изменение правил консенсуса, которое кто-то смог сделать и кто-то поддерживает.
Вы можете сами взять сорцы биткойна и сделать, допустим, изменение награды начиная с 1 января 2017 года.
Потом запустите этот клиент у себя и у своего друга Васи Пупкина.
Что произошло? Вы именно что единолично изменили правило консенсуса. Смогли же?
Другое дело что на ваш с Васей новый консенсус плевать хотел весь остальной мир.

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

Разработчики Core, извините за выражение, сектанты. Ах, тот кто хочет изменить правила
консенсуса должен быть изгнан из общины, перекрыть ему доступ на реддит/р/биткойн
и подвергнуть обструкции. Кстати, Гэвин уже принят обратно в лоно православной церкви?
Har01d (OP)
Member
**
Offline Offline

Activity: 75
Merit: 10


View Profile
November 25, 2016, 09:22:01 AM
 #116

BitFury (как и ожидалось) начали голосовать за SegWit.

Картинка теперь выглядит так:


Что будет дальше — полный туман.

GGUL
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
November 25, 2016, 10:36:08 AM
 #117

Алгоритм
Скачиваем все блоки, проверяем хеши.
Если хеш 400000 блока  =XXXXXXX....
значит все отлично. (Математика дает нам целостные данные.)
переходим в полноценный режим.
Откуда мы узнаем, что хэш блока 400000 имеет значение
000000000000000004ec466ce4732fe6f1ed1cddc2ed4b328fff5224276e3f6f ?
Посмотрим на blockchain.info, да? А кто докажет, что bc.i нам не подсунул левое значение на наш запрос?

Вы уж фантастику не включайте:
1. Вам подсунут исполняемый модуль с левым хэшом
2. Вам подсунут исходники с левым хешом.
3. Перехватят  все эксплореры блокчейна в интернете
3. Перехватят  все Ваши выходы в интернет
4. Восемь нод будут давать вам фальшивый блокчейн.

И ради чего это.Кто-то узнал, что Вы решили запустить фулл-ноду с нуля и рад стараться. Вероятность 0.000000...01  Количество нулей можете нарисовать сами.

Тут же вопрос, если Вас так заблокировали, как проверка транзакций спасет Вас от этого. Ведь нет проблем сделать фальшивый блокчейн с правильными транзакциями.

amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 25, 2016, 11:19:46 AM
 #118

Вы уж фантастику не включайте:
1. Вам подсунут исполняемый модуль с левым хэшом
2. Вам подсунут исходники с левым хешом.
3. Перехватят  все эксплореры блокчейна в интернете
3. Перехватят  все Ваши выходы в интернет
4. Восемь нод будут давать вам фальшивый блокчейн.

И ради чего это.Кто-то узнал, что Вы решили запустить фулл-ноду с нуля и рад стараться. Вероятность 0.000000...01  Количество нулей можете нарисовать сами.

Тут же вопрос, если Вас так заблокировали, как проверка транзакций спасет Вас от этого. Ведь нет проблем сделать фальшивый блокчейн с правильными транзакциями.

bc.i я в качестве примера привел.
когда Сатоши проектировал работу - не было "третьих сторон" у которых можно было спросить хэш блока.
то есть биткойн-клиент работает в режиме "самодостаточности" - ему достаточно иметь доступ в сеть
к другим нодам и он не обязан более никому доверять. Само существование централизованных сервисов
типа сайта bc.i вступает в противоречие с концептом биткойна.

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

Quote
3. Перехватят  все Ваши выходы в интернет
4. Восемь нод будут давать вам фальшивый блокчейн.
А по-вашему в чем суть Сибил-атаки?
Понятно, что вас лично никто атаковать не станет. Кому нужно ловить неуловимого Джо?
GGUL
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
November 25, 2016, 11:35:19 AM
 #119


когда Сатоши проектировал работу - не было "третьих сторон" у которых можно было спросить хэш блока.
то есть биткойн-клиент работает в режиме "самодостаточности" - ему достаточно иметь доступ в сеть
к другим нодам и он не обязан более никому доверять. Само существование централизованных сервисов
типа сайта bc.i вступает в противоречие с концептом биткойна.
Теория теорией, но реальную жизнь и прагматичность еще никто не отменял.
В чем смысл стотысячной проверки одного и того же. Если ты практически со 100%-й вероятностью знаешь, что перед тобой реальный блокчейн.

Кстати, то же SW, без зазрения совести предполагает, что через достаточно большое количество  блоков можно удалить сегвит-данные. Подразумевая, что нет никакого смысла перепроверять эти транзакции, если они надежно запечатаны в блокчейне.

И Вы не ответили на вопрос. Как проверка транзакций защищает от атак Сибиллы?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
November 25, 2016, 11:40:27 AM
 #120

Теория теорией, но реальную жизнь и прагматичность еще никто не отменял.

Биткойн - это алгоритм, который, условно говоря, говорит либо
"да, это верный блокчейн" либо "нет, с точки зрения кода это неверная цепочка"

В алгоритм нельзя записать нечеткое условие "ну пошукай там по сайтам и форумам
что там написано". 

В чем смысл стотысячной проверки одного и того же. Если ты практически
со 100%-й вероятностью знаешь, что перед тобой реальный блокчейн.
Ты знаешь. А алгоритм не знает. Это же не искусственный интеллект.
Pages: « 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 »  All
  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!