05 / 691TIME

Timechain / Blockchain

временная цепь Bitcoin

История блоков Bitcoin упорядочивается хеш-связями и накопленной работой, а не точными часами.

В контексте Bitcoin названия Timechain и Blockchain обозначают одну и ту же цепочку блоков. Однако Blockchain — также более общее понятие для других сетей; их цепочки не являются таймчейном Bitcoin. Timechain подчёркивает доказуемый порядок: заголовок каждого следующего блока содержит хеш предшественника. Название не вводит отдельный протокол или новую единицу времени.

Блок ссылается на конкретного предшественника, а не только на высоту. Изменение старой транзакции меняет Merkle Root и хеш блока, ломает следующую связь и требует новой работы для переписывания истории. [Bitcoin whitepaper] [Bitcoin Core validation source] [NIST — blockchain glossary]

Две транзакции могут тратить один UTXO разным получателям и приходить узлам в разном порядке. В действительной истории не может быть обеих, но блок не доказывает, какая создана или разослана раньше. [Bitcoin whitepaper] [Bitcoin Core validation source]

Узел выбирает действительную ветвь с наибольшей накопленной работой. Одного числа блоков недостаточно при разной сложности; chainwork означает ожидаемую работу, а не измеренное число попыток майнеров. [Bitcoin whitepaper] [Bitcoin Core validation source]

Время нового блока mainnet должно превышать медиану 11 предыдущих времён и не опережать часы узла более чем на два часа. Поэтому оно может быть меньше времени непосредственного предшественника. [Bitcoin whitepaper] [Bitcoin Core validation source]

Десять минут — целевое среднее, не расписание, поэтому высота не даёт точной даты. BIP 113 использует прошлое медианное время для абсолютного nLockTime; условие разрешает включение, но не определяет момент. [Bitcoin whitepaper] [Bitcoin Core validation source]

Два действительных блока могут конкурировать на одной высоте. Ветвь с большей работой может отсоединить другую; её транзакции могут подтвердиться снова, стать неподтверждёнными или конфликтовать. Больше подтверждений повышает цену переписывания, но не даёт абсолютной гарантии. [Bitcoin whitepaper] [Bitcoin Core validation source]

getblock с уровнем 1 возвращает height, previousblockhash, time, mediantime и chainwork. Связь задаёт позицию, time — заявление заголовка, mediantime — медиана; ни одно поле само не доказывает точный момент рассылки. [Bitcoin whitepaper] [Bitcoin Core validation source]

Для полной картины прочитайте эту статью вместе с Genesis Block, Proof of Work, Транзакция, Full Node, Корректировка сложности. На эту статью также ссылаются Bitcoin Whitepaper, Genesis Block, Proof of Work, Full Node.

DOC · 001NIST — blockchain glossaryПервичный источник ↗DOC · 002Bitcoin whitepaperПервичный источник ↗DOC · 003Bitcoin Core validation sourceПервичный источник ↗
Сначала источники · Не является инвестиционной рекомендацией