Post
Topic
Board Кодеры
Merits 1 from 1 user
Re: Асикостойкий алгоритм PoW
by
amaclin1
on 28/01/2018, 04:34:36 UTC
⭐ Merited by A-Bolt (1)
Тогда возвращаюсь квопросу: что мешает писать в каждую транзакцию текущий баланс счёта?

Мешает логика и интеллект. У вас, видимо, этого нет, вам и не мешает.

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

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

Можете условно говоря считать "текущим балансом счёта" - ту сумму которая есть на неизрасходованном
выходе (то есть эмаунт пришется при создании транзакции)
, а не текущий размер бабла на адресе
(тем более, что адресов в биткойне по сути дела нет). Ну тогда все так и происходит:
создатель транзакции в каждый выход своей транзакции пишет "текущий баланс счета".
Пока транзакции нет - там ноль. Баланса не существует. Транзакция появилась - там какое-то число.
Выход потратили - там снова ноль и можно забыть об этом навсегда.

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

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