Pages:
Author

Topic: Cпocoбы oтceчeния cтapыx блoкoв в блoкчeйнe (Read 571 times)

full member
Activity: 165
Merit: 101
И если ты хотел сказать то, что в случае удаления старых транзакций в блокчейне,
допустим с 1-го до 5000000-го блока, этот форк нельзя было бы прогрузить сейчас...
То... Можно!
Можно же, в первый блок просто - засунуть magnet-ссылку,
на файл архива, содержащего предыдущие 5 000 000 блоков,
И если их нет, но они требуются, то выгрузить их по этой магнет-ссылке, из p2p-сети torrent,
какого-нибудь хранилища в датацентре, из облачных хостингов, из самой децентрализованной сети,
а лучше - из закриптованного децентрализированного хранилища, вроде SiaCoin,
где майнинг происходит - жесткими дисками.

ну тогда это уже не удаление, а скорее что то вроде архивации, бэкапа...

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

только блокчейн с приложениями например к примеру может иметь кейсы в которых будет уместно сделать форк с более раннего состояния

в принципе сделать что то вроде "удаления" = "архивированию", с выбором на усмотрение пользователей
можно хранить частично - допустим указывая срок или "глубину" от UTXO, делает например разработчик криптовалюты или приложения изменения - пользователи хранят блокчейн на случай отката до более раннего состояния
legendary
Activity: 2618
Merit: 2304
И если ты хотел сказать то, что в случае удаления старых транзакций в блокчейне,
допустим с 1-го до 5000000-го блока, этот форк нельзя было бы прогрузить сейчас...
То... Можно!
Можно же, в первый блок просто - засунуть magnet-ссылку,
на файл архива, содержащего предыдущие 5 000 000 блоков,
И если их нет, но они требуются, то выгрузить их по этой магнет-ссылке, из p2p-сети torrent,
какого-нибудь хранилища в датацентре, из облачных хостингов, из самой децентрализованной сети,
а лучше - из закриптованного децентрализированного хранилища, вроде SiaCoin,
где майнинг происходит - жесткими дисками.

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

Хеш дампа списка всех непотраченных выходов транзакций UTXO, включённый во входящий скрипт COINBASE-транзакции, я здесь рассматриваю как дополнение к технологии, выражающееся в том, что обычные пользователи имеют возможность максимально надёжно совершать транзакции и отправлять монеты BTC без скачивания всего блокчейна:

Речь идёт об альтернативных способах хранения текущих состояний адресов пользователей криптовалют для клиентских решений.
full member
Activity: 1589
Merit: 214
я не имел ввиду форки которые возникают как следствие конкурентного майнинга
привел как пример эфир классик и эфир

При удалении информации из старых блоков есть потенциал ситуации когда форкнуть криптовалюту будет затруднительно
Ну смотри, взять эфир, допустим. У него сейчас более 8500000 блоков в блокчейне.
Так вот, есть у тебя цепочка блоков от 1-го до 8500000-го.
Ты берёшь его, парсишь, извлекаешь оттуда все адреса, имеющие неизрасходованные выходы, монеты, токены всякие.
И создаёшь новый блокчейн. В самых первых блоках - распределяешь все монеты и токены по этим вот всем адресам.
В итоге плучается 100-200 блоков, идущих подряд, где просто начисления идут на эти адреса.
Всё. Никаких старых транзакций. Все балансы всех держателей - на месте. Длина блокчейна 200 блоков.
Синхронизация - быстрая. Раздача - не требует много трафика.
Майнинг с 200-го блока аж до 8500200-го, может проходить как и прежде, причём ещё лет 5.
Ну и форкнуть блокчейн можно на любом блоке, после этого.

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

Что касается хардфорка ETH - ETC, то это тоже, по сути своей - форк блокчейна, то есть - отдельная ветка, как и на картинке выше,
но, пролжающаяся...
Quote
Разделение сетей состоялось в 2016, когда на блоке N1900000 две ветви создали точку отсчета, после которой каждая пошла своим путем. Каждый, кто на тот момент владел монетами ETH, получил монеты ETC по курсу 1 к 1.

И если ты хотел сказать то, что в случае удаления старых транзакций в блокчейне,
допустим с 1-го до 5000000-го блока, этот форк нельзя было бы прогрузить сейчас...
То... Можно!
Можно же, в первый блок просто - засунуть magnet-ссылку,
на файл архива, содержащего предыдущие 5 000 000 блоков,
И если их нет, но они требуются, то выгрузить их по этой магнет-ссылке, из p2p-сети torrent,
какого-нибудь хранилища в датацентре, из облачных хостингов, из самой децентрализованной сети,
а лучше - из закриптованного децентрализированного хранилища, вроде SiaCoin,
где майнинг происходит - жесткими дисками.
full member
Activity: 165
Merit: 101
я не имел ввиду форки которые возникают как следствие конкурентного майнинга
привел как пример эфир классик и эфир

При удалении информации из старых блоков есть потенциал ситуации когда форкнуть криптовалюту будет затруднительно
full member
Activity: 1589
Merit: 214
Хочу заметить что какой либо способ удаления "устаревшей" информации из блокчейна криптовалют подставит под удар возможность создания форков.
Если бы допустим разработчики эфира быстро отреагировали на уязвимость DAO и выпустили патч раньше чем сообщество отреагировало и запустило эфир классик, а эфир бы "чистил" блокчейн, то у той части которая была бы несогласна с изменениями не было бы возможности форкнуть ефир.
Теоретически, форки блокчейна возможны с любого блока,
учитывая отсутствие центра в децентрализванной сети, то есть - её ячеистую структуру.

Смотри картинку:


Ну и... Как результат... Последующая обработка каждого форка,
может происходить по-разному, в разных, несвязанных сегментах сети.

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

Но, пока сегменты не связаны, форки блокчейна (разные ветки),
они могут существовать, как не в чём не бывало.
Там - такой эфир, а там - такой, и он тоже вполне себе такой же - эфир.
full member
Activity: 165
Merit: 101
Хочу заметить что какой либо способ удаления "устаревшей" информации из блокчейна криптовалют подставит под удар возможность создания форков.
Если бы допустим разработчики эфира быстро отреагировали на уязвимость DAO и выпустили патч раньше чем сообщество отреагировало и запустило эфир классик, а эфир бы "чистил" блокчейн, то у той части которая была бы несогласна с изменениями не было бы возможности форкнуть ефир.
full member
Activity: 1589
Merit: 214
legendary
Activity: 2618
Merit: 2304
В разделе "Идеи" недавно была затронута тема про автооптимизацию блокчейна, поэтому была проведена ревизия описанного здесь способа отсечения старых блоков в блокчейне Bitcoin.


2. Список непотраченных выходов UTXO:
1) Структура выхода 1:
  • Bitcoin-адрес
  • выходной скрипт
  • количество монет BTC на выходе
  • порядковый номер транзакции согласно списку выше
  • порядковый номер выхода в этой транзакции
2) Структура выхода 2
...

Я думаю, что поле "Bitcoin-адрес" во второй таблице "Список непотраченных выходов UTXO" абсолютно не требуется, так как этот адрес уже содержится в выходном скрипте транзакции. Более того, скрипты могут иметь разные форматы, отличные от PAY-TO-PUB-KEY-HASH, в том числе мультисигнатурные. Поэтому поле "Bitcoin-адрес" было убрано из общей структуры, дабы не загромождать дамп ненужными данными, не занимать лишнее место на носителях информации и не тратить впустую ресурсы при вычислении хеша SHA256 скаченного файла.
legendary
Activity: 3556
Merit: 1100

Да, несомненно, это централизованное решение.

Антагонизм централизованных решений безрезультатен.
newbie
Activity: 46
Merit: 0
Ещё подскажу идей:

1. Нарезка на равные чанки, скажем, сутки, месяц, год.

2. использовать деревья Меркла и брать корневой хэш для чанка вцелом для верификации блока из раннего чанка.
newbie
Activity: 46
Merit: 0
Вы бы реализацию в коде бы выкладывали на гитхаб - цены бы вам не было.
legendary
Activity: 2618
Merit: 2304
Мой пост на первой странице был обновлён.

В структуру дампа была добавлена таблица "Список заголовков блоков", фактически являющаяся цепочкой заголовков.

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

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



Кстати, вовсе не обязательно записывать цепочку заголовков блоков именно с GENESIS-блока. Сложность майнинга на раннем этапе Bitcoin была минимальной, поэтому первые блоки в любом случае несущественно влияют на кумулятивную сложность майнинга всего блокчейна. В принципе, это не актуально для Bitcoin, но может иметь значение для других криптовалют, в которых блоки добавляются в блокчейн достаточно часто.
legendary
Activity: 2618
Merit: 2304
По всей видимости, для надёжности дамп также должен содержать цепочку заголовков блоков, начиная от GENESIS-блока. На текущий момент высота последнего блока в блокчейне Bitcoin равна примерно 575000, то есть, поскольку размер заголовка составляет 80 байт, эта цепочка займёт в дампе около 44 мегабайт и будет увеличиваться, как указал сам Сатоши Накамото в описании Bitcoin, на 4.2 мегабайта в год. В общем, не много.

Таким образом, клиент, скачавший список непотраченных выходов UTXO транзакций Bitcoin, сможет оценить примерную кумулятивную сложность майнинга всего блокчейна.
legendary
Activity: 1468
Merit: 1102
Им поверю.
Это ненормальная ситуация. Кто-то верит одним, кто-то другим, кто-то вообще никому не верит.
И проблема (я опять повторю!) не в том, что вы лично (не)поверили мне или Баффету.
Проблема для вас лично в том, что поверит или нет кто-то рядом с вами, а вас это коснется.
Что значит, ненормально. Есть два события. Одно то, что Баффет объявит что-то подобное. Вероятность близка к нулю.
Второе событие. То, что Баффет после объявления, сделает это.
Какие у меня причины, чтобы считать вероятность второго события равной нулю. Средства есть, слово на весь мир дал. Smiley

Представим, у меня 10btc. И кто-то выкинет полмиллиарда долларов, чтобы даже не забрать
эти средства, а просто попугать меня. И  вероятность это события должна меня заставить делать
какие-то подвижки.
Да не будет никто выкидывать! Баффет поспорит с Гейтсом на 100 баксов, что биткойн сдуется.
(100 баксов - цифра несущественная ни для того, ни для другого) и проведет "операцию", как
в свое время Сорос играл против Банка Англии. В результате простейшей манипуляции - они
порезвятся, а вы выйдете в окно. Вот ради чего?
Если не будет выкидывать, зачем беспокоиться? Smiley

Это из серии, что Баффет поспорит с Гейтсом, что биткоин сдуется. И скажет, что проведет атаку 51%. Уровень затрат тот  же самый.
Возможные последствия для Биткоина такие же, если не хуже.  И такая "опасность" уже сейчас существует. Она даже более реальная, чем атака на обрезанный блокчейн. Но вроде никто по этому поводу особо не беспокоится.
legendary
Activity: 1468
Merit: 1102
Quote
Представим, у меня 10btc. И кто-то выкинет полмиллиарда долларов, чтобы даже не забрать
эти средства, а просто попугать меня. И  вероятность это события должна меня заставить делать
какие-то подвижки.
Да не будет никто выкидывать! Баффет поспорит с Гейтсом на 100 баксов, что биткойн сдуется.
(100 баксов - цифра несущественная ни для того, ни для другого) и проведет "операцию", как
в свое время Сорос играл против Банка Англии. В результате простейшей манипуляции - они
порезвятся, а вы выйдете в окно. Вот ради чего?
Если не будет выкидывать, зачем беспокоиться? Smiley

Это из серии, что Баффет поспорит с Гейтсом, что биткоин сдуется. И скажет, что проведет атаку 51%. Уровень затрат тот  же самый.
Возможные последствия для Биткоина такие же, если не хуже.  И такая "опасность" уже сейчас существует. Она даже более реальная, чем атака на обрезанный блокчейн. Но вроде никто по этому поводу особо не беспокоится.
sr. member
Activity: 770
Merit: 305
Им поверю.
Это ненормальная ситуация. Кто-то верит одним, кто-то другим, кто-то вообще никому не верит.
И проблема (я опять повторю!) не в том, что вы лично (не)поверили мне или Баффету.
Проблема для вас лично в том, что поверит или нет кто-то рядом с вами, а вас это коснется.

Quote
Представим, у меня 10btc. И кто-то выкинет полмиллиарда долларов, чтобы даже не забрать
эти средства, а просто попугать меня. И  вероятность это события должна меня заставить делать
какие-то подвижки.
Да не будет никто выкидывать! Баффет поспорит с Гейтсом на 100 баксов, что биткойн сдуется.
(100 баксов - цифра несущественная ни для того, ни для другого) и проведет "операцию", как
в свое время Сорос играл против Банка Англии. В результате простейшей манипуляции - они
порезвятся, а вы выйдете в окно. Вот ради чего?
legendary
Activity: 1468
Merit: 1102
О чем ты.Smiley Объявишь, и все испугаются.  Это можно объявить и сейчас, что-то никто не пугается.
Для начала тебе надо предъявить полмиллиарда долларов.
Окей, объявлю не я, а Роджер Вер. Или Уоррен Баффет. Им поверите?
Обратите внимание, что предъявлять полмиллиарда надо, а что-либо
делать - совсем не обязательно.
Им поверю. Только вероятность того, чтоб объявят , крайне низкая. Смысла никакого нет. Все равно где-то будут полные копии блокчейнов.
Делать то тоже ничего не надо. Всего-то поставить стоп-кран на то, что блокчейн поменялся, и подождать некоторое время, когда он вернется назад. Стоит это того, чтобы не держать весь блокчейн, или нет, решать каждому.
Quote
Quote
Кроме того, чтобы сделать цепочку за 5 лет,тебе еще нужно поддерживать.
Еще раз повторяю - сама ситуация, что кто-то может взломать систему приводит к недоверию
к системе и её краху. Вы отказываетесь от основополагающего принципа кумулятивной
сложности начиная от генезис-блока и думаете, что это не отразится на безопасности?
Безопасность будет меньше, я с этим не спорю. Если при этом уровень безопасности останется достаточны высоким, то почему бы не делать. Это же вечный компромисс, между уровнем безопасности и затратами на безопасность. Начиная с какого уровня безопасности дальнейшие затраты на увеличение безопасности становятся бессмысленными.

Представим, у меня 10btc. И кто-то выкинет полмиллиарда долларов, чтобы даже не забрать эти средства, а просто попугать меня. И  вероятность это события должна меня заставить делать какие-то подвижки.
sr. member
Activity: 770
Merit: 305
О чем ты.Smiley Объявишь, и все испугаются.  Это можно объявить и сейчас, что-то никто не пугается.
Для начала тебе надо предъявить полмиллиарда долларов.
Окей, объявлю не я, а Роджер Вер. Или Уоррен Баффет. Им поверите?
Обратите внимание, что предъявлять полмиллиарда надо, а что-либо
делать - совсем не обязательно.

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

Quote
Кроме того, чтобы сделать цепочку за 5 лет,тебе еще нужно поддерживать.
Еще раз повторяю - сама ситуация, что кто-то может взломать систему приводит к недоверию
к системе и её краху. Вы отказываетесь от основополагающего принципа кумулятивной
сложности начиная от генезис-блока и думаете, что это не отразится на безопасности?
legendary
Activity: 1468
Merit: 1102
Причем тут отрезанная сложность. Важна сложность в оставшейся цепочке.
Это сразу же мина замедленного действия - награда за блок уменьшается, хэшрейт
уменьшается, сложность падает. В какой-то момент затраты на создание альтернативной
цепочки из 10к блоков (с учетом того, что их можно начинать майнить загодя) становятся
допустимыми для атаки. Или вы думаете что при неизменной цене биткойна и халвингах
хэшрейт будет продолжать расти как на дрожжах?
То, что затраты уменьшатся, это еще бабушка надвое сказала. Если уменьшатся, то это будет проблемой и без обрезания блокчейна.
Мы вроде смотрим на то, что изменится именно из-за обрезания блокчейна.
p/s/ Чтобы намайнить 10000 блоков с нынешней сложностью, примерный порядок цифр:
 12,5btc*10000*5000$ = 625млн$
С большей сложностью, соответственно, еще больше.
Вот ни грамма не смущает. Хотите знать что я сделаю? Это будет веселуха.

Я распространю информацию, что начал создавать цепочку блоков заданной сложности
начиная от 01.01.2024 (ну то есть взял себе 5 лет люфта). Блоки будут создаваться с
разницей в таймстампах 1 секунда друг от друга. Фактически, это означает, что если
моя информация правда - то с ненулевой вероятностью биткойну 01.01.2024 придет пиздец -
весь баланс блокчейна будет у меня. Правда это или нет - вы сегодня не знаете, единственным
разумным поведением для вас - будет слить свои биткойны до 01.01.2024 чтобы не рисковать.
И если так поступят все (или многие), то затея удалась!
О чем ты.Smiley Объявишь, и все испугаются.  Это можно объявить и сейчас, что-то никто не пугается.
Для начала тебе надо предъявить полмиллиарда долларов.

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

В тайстампах 1 сек? - через 2016(вроде так) блоков сложность у тебя взлетит, мама не горюй.
Не понял, зачем таймстампы 1 сек.?

Кроме того, чтобы сделать цепочку за 5 лет,тебе еще нужно поддерживать.
Что собираешься делать с этой цепочкой. Ты даже не сможешь отправить ни одной транзакции с 6-ю подтверждениями, чтобы кого-то надуть. Она устареет быстрее.

sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Будем играть в Сатанинскую бутылку?
Впрочем, мы в нее и так играем, просто изменение правил консенсуса сделает финал более очевидным.

Замечательная аналогия, но лучше сразу ссылаться на сам парадокс.
https://ru.wikipedia.org/wiki/Парадокс_сатанинской_бутылки_Стивенсона
Pages:
Jump to: