Bitcoin

Bitcoin

December 21, 2017

Слайд 1

Изначально доклад задумывался на тему ТОЛЬКО блокчейна, но это оказалось не слишком интересно. Всех нас интересует биткоин и прочие криптовалюты (а если быть точнее, то всех интересуют деньги, которых в криптовалютах сейчас много). Но блокчейн стороной в докладе не обойду, про него тоже есть что рассказать.

Слайд 2

И для начала загадка: что общего между человеком и информацией о биткоине? (Ответ: они на 70% состоят из воды). Проблематично найти что-то полезное и при этом понятное, когда каждый школьник рассказывает о том, что такое биткоин, как его майнить, как его обналичивать, при том, что он сам его не майнит и уж тем более не обналичивает. (Кстати bitcoin.org/ недоступен)

Слайд 3

Вряд ли я расскажу вам что-то новое. Все мы умные, все мы знаем что это такое и как это работает, все мы скроллим хабр и каким-то 25 кадром у нас в голове откладывается понимание о криптовалютах, даже если не вчитываться в статьи.

Слайд 4

Биткоин создавался, как идея ДЕЦЕНТРАЛИЗАЦИИ финансовой системы в далеком 2007 году, а реализация была в 2008 году (привет айфон 3g). Сатоси Накамото — создатель биткойна. Первые транзакции сделаны им, его кошелек всем известен.

Когда мы говорим о децентрализации системы, мы предполагаем, что у нас в системе не будет никакого центра и все будут в равных правах при обмене своими сообщениями. При таких условиях есть вероятность появления в системе злоумышленника/жулика. И это проблема. И она сформулиована в так называемой Задаче византийских генералов. (Задача о нескольких узлах, которые совместными усилиями должны понять: достоверное или недостоверное сообщение им пришло) Подробно о задаче на википедии. Я лишь скажу, что задачу решили в 82 году, но с маленьким условием — количество генералов (или узлов) остается неизменным, что само собой не подходит для валютного рынка. И вот только в 2007 году при помощи технологии БЛОКЧЕЙНА (что переводится как цепочка блоков) было предложено ОБЩЕЕ решение, когда количество узлов сети может быть неограничено.

Дополнение про блокчейн:

Блокчейн — это прежде всего технология передачи СООБЩЕНИЙ. И в случае с криптовалютами люди просто договариваются, что в сообщениях будут передавать свои транзакции.

Слайд 5

Хеш функция — сворачивание любой информации (байтов) в набор информации фиксированной длинны (у биткоина SHA-256). У хеш функции есть ключевые параметры: при малейшем изменении входных параметров кардинально меняются выходные данные. И у функции нет обратного преобразования. 

Коллизия - когда при разных входящих данных, получается одинаковый хеш.

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

Слайд 6

Ассиметричная криптография

Работает эта система так:

Генерируется случайный закрытый (приватный) ключ (напомним, что ключ или шифр — это последовательность символов) и по определенному алгоритму подбирается к нему другой — открытый (публичный) ключ. При этом, для любого закрытого ключа существует только один вариант открытого. Т.е. эти ключи (приватный и публичный) всегда работают в паре(связке).

Далее полученный открытый (публичный) ключ пересылается по любым открытым каналам связи отправителю тайного сообщения.

Получив открытый (публичный) ключ, отправитель при помощи него зашифровывает сообщение и отправляет его получателю у которого есть соответствующий закрытый (приватный) ключ.

Получатель расшифровывает секретное сообщение, используя свой закрытый (приватный) ключ из пары с открытым (публичным), которым было зашифровано сообщение.

Слайд 7

Для кошелька в биткойне достаточно иметь пару публичного и приватного ключа. 

Как получить.

Порядок действий: включаем VPN, заходим на bitcoin.org, выбираем ОС и сам кошелек (отличаются функционалом и размерами)

Слайд 8

Транзакции

Допустим есть вася (с кошельком ab, где а - публичный ключ, b - приваный) и петя (с кошельком yz, где y - публичный ключ, z - приватный). Чтобы Вася смог перевести деньги Пете, он должен сообщить всем участникам сети, что он(кошелек с публичным ключем "a") переводит деньги на кошелек с публичным ключем "y").

Транзакция не пройдет, пока не получит полное подтверждение от системы. Все транзакции хранятся в узлах. У каждого узла хранится копия всех транзакций. Чтобы проводить транзакции не обязательно хранить все копии у себя. Если майнить, то обязательно хранить копии всех транзакций.

Слайд 9

Блокчейн.

Если ассиметричная криптография и хеш функции уже были до биткоина, то блокчейна не было до биткойна.

Есть транзакции, которые мы совершаем. Хранятся они в блоках.

Как собирается блок: берутся все транзакции, от них считается хеш. После чего хеш добавляется в заголовок блока.

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

Когда создается новый блок: добавляется предыдущий блок и перебирается поле, пока его хеш не станет меньше его фиксированного числа. (ака СЛОЖНОСТЬ) Сложность меняется каждые 2016 блоков.

Транзакция не подтверждена, пока кто-то не запишет ее в валидный блок и пока все ее не проверят.

В конце мое личное мнение.




Report Page