14
Что такое Blockchain Павел Кравченко Лекция 4

Как устроен Blockchain. Лекция 4

Embed Size (px)

Citation preview

Что такое Blockchain

Павел Кравченко

Лекция 4

План

Повторение

Что такое blockchain

Merkle tree

Что входит в блок

Время добавление транзакции в блок

Blockchain – это открытый журнал транзакций Bitcoin, упорядоченное и содержащее временные метки

хранилище. Система использует его для защиты от атак double spending и модификации прошлых

транзакций.

Каждый блок содержит

Метку времени

Хэш предыдушего блока

Как минимум одну транзакцию

Merkle Root

Хэш блока

Сложность

Nonce

Merkle tree

Строение блока

http://codesuppository.blogspot.com/2014/01/how-to-parse-bitcoin-blockchain.html

Строение блока

Строение блока

Lock time

locktime показывает самое раннее время, когда транзакция может быть добавлена в blockchain.

Locktime Применяется в случае, когда необходимо создать транзакцию, которая будет валидна в будущем, но может быть изменена.

Если в этом будет необходимость, те outputs, которые входили в locktime транзакцию, будут потрачены в non-locktime транзакции, делая ее невалидной.

Т.к. ожидаемое время блока может отличаться от реального, средства, которые используются в locktime транзакции, должны быть использованы ранее указанного срока (до 2х часов).

Изменение сложности

Новые блоки добавляются, только если их nonce имеет формат, удовлетворяющий сложности, ожидаемой системой. Каждые 2016 блоков происходит сравнение времени, которое потребовалось для генерации 2016 блоков. Идеальное время - 1,209,600 секунд.

Если блоки были сгенерированы быстрее, сложность увеличивается пропорционально (до 300%).

Если медленее – сложность уменьшается (до 75%).

Изменение правил. Два случая

1. Блок, построенный по новым правилам принимается обновившимися участниками, но отвергается необновившимися.

2. Блок, не построенный по новым правилам отвергается обновившимися участниками, но принимается необновившимися.

Изменение правил. Два случая

https://bitcoin.org/en/developer-guide

Вопросы?

[email protected]

ideateam_macuser

ua.linkedin.com/in/pkravchenko/

Вопросы?

[email protected]

ideateam_macuser

ua.linkedin.com/in/pkravchenko/