Pull to refresh

Comments 6

Кстати, а чем bockchain в bitcoin отличается от цепочки подписей коммитов в git'е, когда последний коммит подписывает предпоследний и т.д.?
Если по-простому. Алгоритмическая сложность подписи в git const. В bitcoin она пропорциональна текущему difficulty.
Ага, и какую это проблему решает?
Для простоты понимания blockchain это большая амбарная книга, где написано сколько у кого появлялось денег, сколько денег переходило из рук в руки и время этого события.
Каждый блок в blockchain'е служит следующим целям:
  1. Поддерживать валидность системы. Т.е. никто не может потратить средства дважды, никто не может зайти в минус по своему балансу. Это достигается тем, что любой участник системы доказав, что он решил сложную математическую проблему, может подтвердить, что да, вот эти вот транзакции действительно валидны. После 6 подтверждений транзакция считается завершённой. За каждое подтверждение транзакции подписывающий получает fee.
  2. Поддерживать тех, кто майнит. Решение задачи SHA256(SHA256(header)) < target сложная задача. Каждый нолик в начале имеет вероятность 0,5. Соответственно, чтобы найти решение у которого в начале 32 нолика нужно перебрать очень много вариантов. Вероятность, что случайно выбранный вариант будет верным является 1/(2^32). Это если target=1^(256-32). Это при самой маленькой difficulty=1. Чем больше мощности сети, тем больше difficulty. Так вот за каждый блок предоставляется награда которую получает тот, кто посчитал счастливый header. Задача сложная для решения, но очень простая для проверки.
  3. Распределённая эмиссия средств.


Безопасность blockchain'а строится на том, что злоумышленник не сможет заполучить достаточно мощности сети, чтобы в короткий промежуток времени подписать транзакцию, которая нарушает правила амбарной книги (например, начислить себе 1М BTC). А если транзакция не будет подписана участниками сети, то её содержимое не имеет силы.

Безопасность транзакции строится на том, что у тебя есть закрытый ключ, которым ты подписываешь приказ перечислить другому кошельку столько-то денег. Адрес биткоин кошелька является открытым ключем. Итого все могут увидеть, что ты действительно владеешь закрытым ключем, но никто не может от твоего имени передавать деньги.

Упрощённо как-то так.
UFO just landed and posted this here
Sign up to leave a comment.