Pages:
Author

Topic: Paзмeр блoкa: Чтo нужнo знaть o грядyщиx измeнeнияx в прo&#1090 - page 2. (Read 4295 times)

legendary
Activity: 1260
Merit: 1019
Мы здесь обсуждаем конкретную техническую проблему - размер блокчейна. А вас опять куда-то в дебри понесло.
Нет такой проблемы. У меня нет.
Если у вас есть такая проблема - используйте Электрум и не ебите мозг размером чужого блокчейна.

Или может быть у вас проблема не в размере блокчейна, а в том, что вы обеспокоены падением курса и боитесь потерять бабло, хотя недавно мечтали стать миллиардером? Да, такая проблема есть. И мы (точнее вы, потому что мне похуй) от нее не денемся.
hero member
Activity: 994
Merit: 502
Мы здесь обсуждаем конкретную техническую проблему - размер блокчейна. А вас опять куда-то в дебри понесло.
legendary
Activity: 1260
Merit: 1019
Но сама функция все равно работает там, где она может работать, чем хотя бы частично решает проблему увеличения блокчейна. И я считаю, что когда все завоют от его размеров, прикрутить эту функцию будет ооочень нелишним.
Не решает это на мой взгляд ничего.
Впрочем, биткойн по-моему сдохнет не от размеров блокчейна.
Вернее - это не самая главная причина, но и она тоже добавляет свою толику.
Народ, конечно, начнет тупить и задаваться вопросом "а что надо было сделать чтобы он не подох?"
Будут разные предложения, и PoS, и этот ваш демураж (я не знал этого термина) и расширение блока.
В общем, будут реанимировать труп.
Мавроди никогда не переведутся, а лохи не вымрут Smiley
hero member
Activity: 994
Merit: 502
Инициировать их надо на кошельках пользователей, проверку производить, как и у любой другой транзы.
Вася умер, стер валлет или не включает комп. Как инициировать транзакцию? Smiley
Никак. Или демураж, или так оставить.
Я не говорю, что предложенный вариант решает проблему на 100%. Да, склеивается не всё. Да, это снижает эффективность склейки на сколько-то процентов.
Но сама функция все равно работает там, где она может работать, чем хотя бы частично решает проблему увеличения блокчейна. И я считаю, что когда все завоют от его размеров, прикрутить эту функцию будет ооочень нелишним.
legendary
Activity: 1260
Merit: 1019
Инициировать их надо на кошельках пользователей, проверку производить, как и у любой другой транзы.
Вася умер, стер валлет или не включает комп. Как инициировать транзакцию? Smiley
Повторяю еще раз, если вы опять начнете спорить - это нельзя делать протокольно (хотя кажется, что можно).
hero member
Activity: 994
Merit: 502
Но я не зря упомянул PoS на самом деле. Эта штука умеет склеивать входы на одном адресе.
Но только на своём адресе, от которого в кошельке имеется приватный ключ.
Склейка на самом деле является обычной транзакцией Smiley
Никто не спорит. Таким образом, приходим к следующему конценсусу - размер блокчейна можно уменьшить в основном за счет склеивающих транзакций. Инициировать их надо на кошельках пользователей, проверку производить, как и у любой другой транзы. Комсу можно обнулить, так как защита от спама здесь другая - древность блока, из которого пришли бабки. Инициированные из свеженьких блоков склейки просто не проходят валидацию. Склеенные бабки переезжают в новые блоки. Если старый при этом обнуляется, его через какой-то период времени выбрасывают из блокчейна, оставляя только его хеш.
Есть ведь не менее идиотское предложение. Вообще не переносить старые транзакции в новые блоки.
Скажем, блокчейн расчитан на 500000 блоков. Как только мы дошли до блока #500000 - просто стираем блок #0
Когда смайнили блок #500001 - стираем блок #1 И так далее.
То есть если вы не трогали свои бабки 5 лет (или сколько там?) - они тю-тю.
Но это тоже не решает проблем. Объяснять не хочу. Вы всё равно самостоятельно думать не хотите.
На демураж сообщество не согласится, я считаю...
legendary
Activity: 1260
Merit: 1019
В таком случае, на адресе Васи Пупкина имеются эти 13 копеек, которыми он может воспользоваться.
В блокчейне лежит инфа об этой транзе из конкретного блока.
Когда через год Вася Пупкин лезет потратить эти 13 копеек, он лезет в сеть со своей устаревшей цепочкой блоков. Пока кошель не обновится, Вася Пупкин считается отставшим от жизни.
А в блокчейне транза переехала в новый блок, причем, там прописаны все реципиенты. Ведь каждый выход уже считается отдельными деньгами. Когда Вася обновляет блокчейн до нового блока, он волшебным образом опять имеет право на те 13 копеек. Просто это право прописано уже в другом блоке. Причем, заметьте, без какого бы то ни было участия самого Васи Пупкина.

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

Quote
Но я не зря упомянул PoS на самом деле. Эта штука умеет склеивать входы на одном адресе. Тем самым сокращая размер блокчейна. Была куча транз весом в пяток мегабайт - стала одна транза весом сколько-то килобайт. Да еще и бабки переехали в новый блок. Если старый блок при этом "обнулился", чего ж его хранить тогда?
Вообще говоря, склеивать выходы может только владелец приватного ключа. Потому что если это будет реализовано на уровне протокола - это чревато всякими негативными последствиями. Подробно останавливаться не хочу - вот здесь это хорошо и без меня разложили по полочкам: https://bitcointalksearch.org/topic/utxo-reduction-by-trx-to-self-1058767
Замечу лишь, что склейка даже если возможна - то на одном адресе, что совершенно не решает проблему Васи Пупкина, который имеет 13 копеек в транзакции на 100 килобайт и вдруг умер.

Есть ведь не менее идиотское предложение. Вообще не переносить старые транзакции в новые блоки.
Скажем, блокчейн расчитан на 500000 блоков. Как только мы дошли до блока #500000 - просто стираем блок #0
Когда смайнили блок #500001 - стираем блок #1 И так далее.
То есть если вы не трогали свои бабки 5 лет (или сколько там?) - они тю-тю.

Но это тоже не решает проблем. Объяснять не хочу. Вы всё равно самостоятельно думать не хотите.
legendary
Activity: 1200
Merit: 1021
Но я не зря упомянул PoS на самом деле. Эта штука умеет склеивать входы на одном адресе.
Но только на своём адресе, от которого в кошельке имеется приватный ключ.
Склейка на самом деле является обычной транзакцией Smiley
legendary
Activity: 1260
Merit: 1019
Вот предположим часть людей поменяет ПО на новую версию, а часть нет и тогда появятся 2 ветки и тогда я смогу продать свои битки 2 раза в 2х разных ветках блокчейна? Grin
Теоретически да.
Если найдете "покупателей" в обоих форках.
Учтите, что какие-нибудь биржи могут синхронно перейти к какому-то одному форку из двух. Тогда продать битки из "другого" форка вам будет проблематично Smiley
И да, не обольщайтесь, что таким образом у вас станет вдвое больше денег. Скорее всего сумма стоимостей в двух форках будет меньше.
newbie
Activity: 23
Merit: 0
Вот предположим часть людей поменяет ПО на новую версию, а часть нет и тогда появятся 2 ветки и тогда я смогу продать свои битки 2 раза в 2х разных ветках блокчейна? Grin
hero member
Activity: 994
Merit: 502
В таком случае, на адресе Васи Пупкина имеются эти 13 копеек, которыми он может воспользоваться.
В блокчейне лежит инфа об этой транзе из конкретного блока.
Когда через год Вася Пупкин лезет потратить эти 13 копеек, он лезет в сеть со своей устаревшей цепочкой блоков. Пока кошель не обновится, Вася Пупкин считается отставшим от жизни.
А в блокчейне транза переехала в новый блок, причем, там прописаны все реципиенты. Ведь каждый выход уже считается отдельными деньгами. Когда Вася обновляет блокчейн до нового блока, он волшебным образом опять имеет право на те 13 копеек. Просто это право прописано уже в другом блоке. Причем, заметьте, без какого бы то ни было участия самого Васи Пупкина.

Да, таким образом размер блокчейна мало сократится, т.к. практически вся инфа из старых блоков будет переезжать в новые. Но я не зря упомянул PoS на самом деле. Эта штука умеет склеивать входы на одном адресе. Тем самым сокращая размер блокчейна. Была куча транз весом в пяток мегабайт - стала одна транза весом сколько-то килобайт. Да еще и бабки переехали в новый блок. Если старый блок при этом "обнулился", чего ж его хранить тогда?
legendary
Activity: 1260
Merit: 1019
В транзе есть выходы в том случае, если эти самые бабки куда-то ушли с данного адреса. Их минимум два - адрес-реципиент и комиссия. Еще может добавиться выход-сдача.
Батенька, я прям удивляюсь. Вроде как Hero Member форума, а базисные вещи вы не знаете.

Одной транзакцией можно послать бетховены на много адресов.
Самая большая (по количеству адресатов) на сегодняшний день транзакция в блокчейне это
e951e79d2140b1844d5058bd0f609e3939b040132a1d920ec89c55a2392ef83f
посылает бетховены аж 5353 адресатам
(top таких самых жирных транзакций смотрите тут: http://btc.blockr.io/trivia/tx )

Комиссия - это вообще не выход и не адрес. Комиссия - это разница между входами и выходами.

Quote
Как их вообще может быть много непотраченных?
Ну так и может быть. Когда какой-нибудь кран раз в неделю рассылает тысяче участников их "заработок", то он формирует одну транзакцию с тысячей выходов. И скорее всего из этой тысячи найдется один какой-нибудь Вася Пупкин, который либо умер, либо пролюбил куда-то свой приватный ключ и уже никогда не воспользуется теми тринадцатью копейками, которые ему прислали.
hero member
Activity: 994
Merit: 502
Мнээээ... Объясните мне, недалекому, как у одной транзы может быть 70 неистраченных выходов.
И, главное, нахрена такую слоновью транзу вообще создавать?
Краны, КАРЛ! Краны! И спамеры!
Там не 70, там и 700 выходов могут окааться непотрачеными.
Ну вот для примера взял наобум блок #200000 - два с половиной года назад
В нем есть транзакция c10f60e3770e82259229a6d8986d47110c329c880044339c996b153599054b60
В ней часть выходов потрачена, часть - нет.
Вот ей богу, в этом blockchain.info нихрена непонятно.
Поэтому давайте совсем как с идиотом:
Что есть выход транзакции, который непотрачен?
Вот, как я вижу транзу - в ней есть входы - это инфа о том, откуда пришли данные конкретные бабки. Если это было несколько адресов - то получается несколько входов.
В транзе есть выходы в том случае, если эти самые бабки куда-то ушли с данного адреса. Их минимум два - адрес-реципиент и комиссия. Еще может добавиться выход-сдача.
Вы его считаете непотраченным?
Как их вообще может быть много непотраченных?
Может, я немного путаю понятия вход и выход, хз. Но одно я знаю точно - непотраченными с моей точки зрения являются бабки, которые еще никуда не ушли с моего кошелька. Это может быть какая угодно куча входящих транзакций, каждая из которых сама по себе. И каждую можно что тратить, что переносить в новый блок равноправно.
В идеале эта проблема решается PoS-ом. Но никто не мешает создать и его аналог для тех же функций.
PoS имеет те же самые проблемы, что и PoW.
Я, блядь, уже раз 15 в разных топиках озвучивал их.
Владелец маленькой доли от общего объема не заинтересован в поддержке сети и децентрализации.
Поэтому сеть постепенно скатывается в говно в централизованную структуру, которая абсолютно эквивалентна фиату - кто в центре - тот и рулит. А остальные сосут.
Я же написал, что сам по себе PoS необязательно использовать. Читайте выделенное жирным шрифтом. И вообще, что вы к этому PoSу приклепались? Я его просто в пример привел, как функцию, решающую проблему переноса бабок из старых блоков в новые. Нет, надо обязательно приклепаться к словам и увести разговор в сторону.
legendary
Activity: 1260
Merit: 1019
а к нам - давайте с большой комсой только платежи - биткоин тогда и выплывет - станет достойное место занимать
Не обольщайтесь. Не выплывет он. Кирпичи не плавают.
Плавает говно и то недолго. Потом растворяется и исчезает.
legendary
Activity: 1260
Merit: 1019
Мнээээ... Объясните мне, недалекому, как у одной транзы может быть 70 неистраченных выходов.
И, главное, нахрена такую слоновью транзу вообще создавать?
Краны, КАРЛ! Краны! И спамеры!
Там не 70, там и 700 выходов могут окааться непотрачеными.
Ну вот для примера взял наобум блок #200000 - два с половиной года назад
В нем есть транзакция c10f60e3770e82259229a6d8986d47110c329c880044339c996b153599054b60
В ней часть выходов потрачена, часть - нет. Как эту транзакцию корректно перенести, чтобы
1) последующие поколения могли бы потратить непотраченные выходы
2) не могли бы заново потратить потраченные
3) чтобы в результате переноса мы бы решили задачу уменьшения места на диске, а не увеличения.
4) чтобы мы решили задачу увеличения трафика биткойн-сети

В идеале эта проблема решается PoS-ом. Но никто не мешает создать и его аналог для тех же функций.
PoS имеет те же самые проблемы, что и PoW.
Я, блядь, уже раз 15 в разных топиках озвучивал их.
Владелец маленькой доли от общего объема не заинтересован в поддержке сети и децентрализации.
Поэтому сеть постепенно скатывается в говно в централизованную структуру, которая абсолютно эквивалентна фиату - кто в центре - тот и рулит. А остальные сосут.
legendary
Activity: 1260
Merit: 1019
Если вы хотите пихнуть в переездной блок левую транзу, все вас проверят и пошлют нахер.

Написал, а потом подумал, что всё это неважно.
Важно то, что у транзакции может быть 100 выходов, из которых 30 истрачены, а 70 неистрачены.
Перенос транзакции в новый блок создаст невьебенные проблемы, надо будет как-то дополнять информацию об истраченных выходах.


Вообще такое решение переноса не решает основную проблему - количество UTXO (неизрасходованные выходы) растет.
Сейчас их несколько миллионов (пять или десять - не так важно.)
Это значит что пользователей биткойна пять или десять миллионов.
Так как у кого нет ни одного сатоши - тот не является пользователем сети.
Если у нас будет большое количество неизрасходованных выходов и их количество будет продолжать расти, то мы все больше и больше места станем тратить на переносы. В конце концов вся цепочка блоков превратится в "змейку", которая ест свой "хвост".
Хотя скорее "не ест хвост", а "засовывает голову в свою жопу" - нет новых транзакций, а место в блоках тратится только на перенос старых.

Можно в цифрах даже посчитать.
Допустим, сегодня 10 миллионов неизрасходованных выходов и 360000 блоков.
Предположим, что мы ограничиваем цепочку блоков 500000 - пицот тысяч. То есть в блок 500000 помещаем транзакцию из генезис-блока, после чего генезис стираем.
Получается, что в каждый новый блок мы в среднем будем переносить 20 транзакций. Это уже сегодня много! Причем мы не можем какие-то блоки "пропускать" - если


legendary
Activity: 1260
Merit: 1019
От устаревших блоков оставлять только хеши.

Ну вот хеши совпадают, у меня в блокчейне есть "перенесенная транзакция" перевода 100500 BTC на адрес 1ххххх
А у вас такой транзакции нет. Чудно, да?
Как мы должны такой спор решить?

Хеш - это такая штука, которая не позволяет восстановить контент.

Quote
Переезд транз из старого блока в новый так же легитимен, как и любой другой блок с транзами.

А, я кажется понял.
Смысл вот в чем. Попробую дальше развить мысль.

Вообще-то говоря, фулл-нода выполняет две функции (на самом деле больше, но остановимся на двух)
1) Она проверяет валидность новых блоков, вставляя их в свою цепочку
2) Она является донором полной цепочки блоков для создания новых нод.

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

Но при этом мы теряем пункт 2.
Так как для присоединившейся к нам ноды мы (майнер) может сформировать цепочку блоков, которая будет формально по всем правилам валидна, но содержать (или не содержать!) какие-то транзакции.
Pages:
Jump to: