Перейти к содержанию

Почему блокчейн состоит именно из блоков, а не из транзакций?


aanovik

Рекомендуемые сообщения

Уже второй день пытаюсь ответить себе на вопрос о том, почему в блокчейне биткоина информация объединяется в блоки, а не проверяется в виде отдельных транзакций. Я прочитал уже очень большое количество статей на русском и английском (начав с white paper Сатоши), но везде блоки упоминаются как данность.

 

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

 

Мой вопрос звучит так: предположим, что мы решаем задачу (используем PoW) и проставляем метку времени для каждой отдельной транзакции. Почему это не сработает так, как это срабатывает с блоками? Есть ли какие-то проблемы с таким подходом, кроме увеличения размера цепочки на диске?

Изменено пользователем aanovik
Ссылка на комментарий
Поделиться на другие сайты

@aanovik, а как подписывать транзакции? Каждую отдельно ? 

Ссылка на комментарий
Поделиться на другие сайты

@rammendo, спасибо за отклик.

 

В каком смысле "подписывать"? Транзакции в любом случае подписываются и при нынешнем алгоритме работы.

Ссылка на комментарий
Поделиться на другие сайты

Мне вот дали ссылку на статью, в которой содержится следующее высказывание:

 

Можно ли обойтись без блоков, включая транзакции в журнал по отдельности? Теоретически да, но на практике блоки экономят объем трафика и вычислительные ресурсы узлов сети. Кроме того, у них есть и другие преимущества в контексте конкретных алгоритмов консенсуса — оказывается, что со слишком частыми блоками работа блокчейна становится нестабильной.

https://habrahabr.ru/company/bitfury/blog/327468/

То есть в теории всё-таки можно проверять не блоки, а транзакции, и весь вопрос только в рациональности такого подхода?

Ссылка на комментарий
Поделиться на другие сайты

Уже второй день пытаюсь ответить себе на вопрос о том, почему в блокчейне биткоина информация объединяется в блоки, а не проверяется в виде отдельных транзакций. Я прочитал уже очень большое количество статей на русском и английском (начав с white paper Сатоши), но везде блоки упоминаются как данность.

 

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

 

Мой вопрос звучит так: предположим, что мы решаем задачу (используем PoW) и проставляем метку времени для каждой отдельной транзакции. Почему это не сработает так, как это срабатывает с блоками? Есть ли какие-то проблемы с таким подходом, кроме увеличения размера цепочки на диске?

Что эффективней - сварить котел борща и накормить 100 человек или варить отдельно 100 тарелок борща?

Ссылка на комментарий
Поделиться на другие сайты

Что эффективней - сварить котел борща и накормить 100 человек или варить отдельно 100 тарелок борща?

Если дело только в этом, то вопрос закрыт :)

Ссылка на комментарий
Поделиться на другие сайты

@aanovik, тут ещё есть вопрос со сложностью майнинга. С блоками: сложность подстраивается под скорость нахождения 1 блок/10 минут. С транзакциями как будете делать?

Изменено пользователем sankopolo
Ссылка на комментарий
Поделиться на другие сайты

@sankopolo, но мы же знаем, что блок, как правило, появляется не раз в 10 минут, там дисперсия нехилая. Сложность задачи для транзакции вполне возможно определить точно так же, как и для блока. Другое дело, что да, это всё не очень рационально.

Изменено пользователем aanovik
Ссылка на комментарий
Поделиться на другие сайты

Не забывайте, что даже для блоков всегда есть вероятность, что два майнера найдут подходящий хеш одновременно и цепочка блоков раздвоиться. Для транзакций такая вероятность будет куда выше. Кроме того, не все ноды в сети могут иметь одинаково хорошее подключение к этой сети - в таком случае нода с плохим коннектом получает новость о создании нового блока позже остальных и часть времени до этого работает над старым, уже смайненым блоком впустую. В случае биткоина с его 10 минутами на блок это не так критично, а вот в случае большого числа быстрых транзакций это станет проблемой, т.к. такие ноды просто будут отставать от актуального состояния сети. В ethereum, например, для решения этой проблемы разработали технологию GHOST - почитайте на досуге.

Изменено пользователем alexe13
Ссылка на комментарий
Поделиться на другие сайты

 

 

В ethereum, например, для решения этой проблемы разработали технологию GHOST

Хорошо, спасибо.

Ссылка на комментарий
Поделиться на другие сайты

@aanovik,

 

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

 

 

Сложность задачи для транзакции вполне возможно определить точно так же, как и для блока.
Да ну? Будете требовать 2016 транзакций за 2 недели? Или сколько? Что будете делать, если транзакций пользователи шлют больше или меньше?
Ссылка на комментарий
Поделиться на другие сайты

Если помещать в сеть только транзакции- то возникнет одна очень большая проблема. Назовём её: проблема первичного распределения монет.

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

В случае с транзакциями- как распределять их стоимость? Одна транзакция равна 0.000001 монеты? А если найдется некто, кто задумает создать 100500 транзакций чтоб нарубить себе 100500 биткоинов?

 

Ссылка на комментарий
Поделиться на другие сайты

 

 

А если найдется некто, кто задумает создать 100500 транзакций чтоб нарубить себе 100500 биткоинов?
с дао нечто подобное и произошло.. так этого некто хакером объявили и целый хардфорк целого эфира устроили

 

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

Ссылка на комментарий
Поделиться на другие сайты

с дао нечто подобное и произошло.. так этого некто хакером объявили и целый хардфорк целого эфира устроили

 

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

 

Интервал между блоками сатоши выбрал не просто так. 10 минут вполне достаточная величина, чтоб одновременно и накопить в ОЗУ ферм достаточно транзакций для записи в новый блок, и чтоб уменьшить шанс создания орфан блоков.

 

Если уменьшить время между блоками до 1 минуты, то количество орфан блоков намного увеличится, и плюс не забывайте о пересчете сложности. Сейчас выбрано 14 суток. Это вполне нормальная величина, чтоб трезво оценивать ситуацию с происходящим на рынке. Банально за 7 суток цена биткоина вполне может вырасти и упасть на 50%. Если делать пересчет раз в 4 дня например, то это вполне может привести к тому, что желающие майнить сегодня в очередь выстраиваются, а завтра разбегаются- словно стая птиц в которые бросили камень.

 

Те сегодня сложность выросла на 300%, а через 5 дней- наоборот нехватка мощностей и блоки запаздывают в 3 раза

Ссылка на комментарий
Поделиться на другие сайты

 

 

А вообще, возникает интересный вопрос - почему вместо увеличения размера блока не пошли по пути уменьшения интервала между блоками?
Можно было бы уменьшать интервал и сеть стала бы комфортнее, но:
  1. Увеличить лимит на размер блока проще - это одна константа в одном месте кода, в случае с интервалом надо будет вносить изменения в несколько большем числе мест.
  2. В "первоначальном биткоине" блок не имел ограничения 1 мб и это ограничение появилось как временная мера против спама. Т е увеличение лимита можно рассматривать как возврат к "Satoshi way".
  3. Даже с учетом (1) и (2) у увеличения лимита на размер блока было (и есть) много противников, включая текущих разработчиков bitcoin core. Т е договориться об уменьшении интервала между блоками было бы практически нереально.
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

    • Питер Шифф: «Вот почему нельзя инвестировать в биткоин-ETF»

      Финансовый аналитик, сторонник инвестиций в золото и противник криптовалют, рассказал, почему не стоит инвестировать в привязанные к биткоину спотовые биржевые фонды (ETF) и почему лучше обратить внимание на золото. Питер Шифф (Peter Schiff) уверен: главная проблема владения биткоинами через ETF заключается в том, что ликвидность ограничена часами работы американского фондового рынка. Если рынок обрушится, у инвесторов не будет возможности продать активы до тех пор, пока рынок США не открое

      в Новости криптовалют

    • «Белый хакер» вывел все средства пользователей блокчейн-игры Super Sushi Samurai

      Разработчики игры Super Sushi Samurai, работающей на блокчейне Blast и доступной через мессенджер Telegram, сообщили о взломе на $4,6 млн. Средства вывел «белый хакер» для защиты пользователей. В сообщении в социальной сети X разработчики Super Sushi Samurai сообщили о взломе и расследовании инцидента. Затем оказалось, что средства вывел «белый хакер» ― он сделал это для защиты пользователей. Он послал через блокчейн сообщение разработчикам с просьбой связаться с ним. Позднее разработчики п

      в Новости криптовалют

    • Индийские власти используют блокчейн для хранения документов

      Индийские власти и местные федеральные организации стали использовать блокчейн для хранения важных документов в рамках Национальной стратегии по развитию блокчейна в стране. К платформе Blockchain.gov.in, оператором которой является Национальный центр информатики (NIC) от Министерства электроники и информационных технологий Индии, уже подключены 19 департаментов, в том числе Верховный суд. Документы для хранения на блокчейн-платформе поступили от администрации шести провинций и трех ведомст

      в Новости криптовалют

    • Почему многие торгуют на маржинальном аккаунте, а не на фьючерсах?

      Здравствуйте, почему многие выбирают торговлю (сугубо спекуляции) на маржинальном аккаунте, а не на фьючерсном? Ведь при торговле фьючерсами можно использовать те же плечи, меньше комиссии и меньше interest rate (если он вообще там есть), да и выставление ордеров там довольно быстрое и прямолинейное - купить\продать, сразу указывай стоп-лосс, тейк профит, который можно корректировать, и поехали, в том время как на споте и маржинальной торговле нужно создавать специальные ОСО ордера для размещени

      в Трейдинг криптовалютами

    • play.google.com/store/apps/details?id=network.athene.app - майнинг токена GEM при поддержке блокчейн Core

      Проект поддерживает блокчейн Core, который нормально раздал, и уже со старта обещают листинг и биржи. По этому можно попробовать. Бонус-код: 03affd7d0a - для активации необходимо указать в профиле   Инструкция:   1. Устанавливаем приложение: андроид. https://play.google.com/store/apps/details?id=network.athene.app iOS.     https://apps.apple.com/us/app/athene-network/id6473136372 2. Заходим в профиль и указываем, имя, телефон и бонус-код: 03affd7d0a 3. Жмем по се

      в Раздачи монет

×
×
  • Создать...