Як отримати Bitcoin? Купівля, заробіток біткоін, майнінг, інформаційний ресурс про мережі Bitcoin
Вітаю Вас Гість!
Понеділок, 14.07.2025, 14:03
Головна | Реєстрація | Вхід | RSS

Меню сайту

Категорії розділу

Наше опитування

Оцініть мій сайт
Всього відповідей: 37

Статистика

Форма входу

ЩЕ ПО ТЕМІ

Пошук

Каталог статей

Головна » Статті » Мої статті

Біткоіни зсередини для нерозуміючих
Біткоіни зсередини для нерозуміючих
Безліч неоднозначних статей написаних про біткойн спонукали написати мене статтю про внутрішній устрій цієї системи. Мене здивувало , що деякі автори писали про цифрових монетах без розуміння внутрішнього устрою , і сенс тривалих міркувань був безуспішною спробою дізнатися лохотрон чи це так. Сподіваюся після даної статті віра чи довіра bitcoin перейде у впевненість і усвідомленість . Я не буду розкривати в цій статті суспільно - економічного впливу цифрових монет , а зосереджуся виключно на внутрішніх алгоритмах .
Електронний цифровий підпис (ЕЦП)
На жаль , я не знайшов підходящих простих образів , щоб показати як зсередини працює криптографія на еліптичних кривих. Візьмемо цей інструмент « на віру». Ті ж алгоритми використовуються в банківському секторі (і не тільки) , тому крах ЕЦП призведе до кризи багатьох галузей. Отже , закритим ключем ми підписуємо «листи передачі прав власності» ( транзакції) , і тим самим віддаємо свої монети комусь іншому. Відкритим ключем ми перевіряємо справжність чужих транзакцій.
хешування
Якщо Вам зрозумілий процес хешування , пропустіть цей розділ. Показати хеширование досить просто. Візьмемо деяке число ... наприклад номер телефону +7 ( 495 ) 606-36-02 . Складемо всі цифри разом , кілька разів:
7 +4 +9 +5 +6 +0 +6 +3 +6 +0 +2 = 48 => 4 +8 = 12 => 1 +2 = 3
Так можна однозначно зіставити будь-якого номеру телефону деяке число. Процес підсумовування називається хешуванням , сам спосіб - хеш функцією , отримане число - хеш- сумою або просто хешем .
Зазвичай домагаються наступний властивостей від хеширования :
- Знаючи хеш- суму (в нашому випадку 3 ) не можна визначити вихідний номер телефону.
- Не можна підігнати номер телефону під заздалегідь відому суму (у нашому прикладі незастосовне , обов'язково для bitcoin ) .
- Незначна зміна номера телефону призведе до кардинальної зміни хешу (у нашому прикладі незастосовне , але обов'язково для bitcoin ) .
Також багато інших зрозумілих побутових прикладів хешування в wiki статті.
Передача прав власності . Хеш - сума публічного ключа
Bitcoin оперує хеш- сумою публічного ключа , як адреса для передачі монет. Оголосити чий-небудь bitcoin адресу привселюдно - нічого не варто. Дізнатися вихідний ключ за його хешу не надала можливим навіть учасникам «битви екстрасенсів». А сама пара ключів буде використана лише одного разу - під час передачі прав власності . На цьому життя пари ключів закінчується.

PUB1 - публічний ключ
PRIV1 - секретний ключ
HASH1 або HASH ( PUB1 ) - хеш- сума публічного ключа ( біткойн -адресу).
HASH2 або HASH ( PUB2 ) - хеш публічного ключа наступного власника .
Відволічемося на деякий час від монет. Візьмемо, наприклад , власника автомобіля , власність якого не викликає сумнівів.
- Власник на публічному зборах ( ярмарку , телевізійному шоу) показує всім хеш свого публічного ключа HASH ( PUB1 ) , заводський номер автомобіля, і всі погоджуються з цим - ніхто не пред'являє претензій.
- До моменту продажу обидва ключі PUB1 , PRIV1 продавця залишаються в секреті. Відомий тільки HASH ( PUB1 ) і соответсвующий йому заводський номер автомобіля.
- Як тільки власник хоче продати автомобіль якомусь покупцеві - він пише відкритого листа , в якому вказує заводський номер і хеш- суму публічного ключа другого власника HASH ( PUB2 ) . І звичайно ж підписує листа своїм секретним ключем PRIV1 , докладаючи публічний ключ PUB1 .
- Після передачі власності секретний ключ перестає бути актуальним - другого такого листа бути не може (див. «Єдина історія») . Публічним ключем можна перевірити сам лист , засвідчити другого власника.
- О другій власника нічого невідомо окрім HASH ( PUB2 ) , до тих пір поки він не передасть права третьому власникові . І цей ланцюжок може бути нескінченною.
- Підписуючи передачу прав з використанням ЕЦП , власник не тільки засвідчує себе , а й накладає на себе зобов'язання передачі . Як кажуть: « слово - не горобець , вилетить - не спіймаєш ».
- Завдяки HASH ( PUB ) виходить подвійний захист . Перша загадка - дізнатися публічний ключ за його хешу . Друга загадка - підписатися чужим секретним ключем.

Якщо замінити автомобіль на bitcoin , то замість заводського номера виступає хеш попередньої транзакції. А весь ланцюжок власників зберігається публічно у кожного користувача .
« А здачу! ? »
Здачу треба залишити собі. Але так задумано , що секретний ключ використовується тільки один раз , а частину своїх монет пересилається на свій же новий, який не засвічений адресу. Через це важко зрозуміти скільки монет належить якому-небудь адресою , і важко судити про обсяг переданих монет за добу / місяць / рік .
Єдина історія. Що ж копають Майнер .
Щоб не було можливості двічі витратити монети , має бути єдина історія всіх угод. Тоді в журнал буде потрапляти тільки перша транзакція (лист передачі прав на монети) , або в крайньому випадку одна з декількох . Для цього транзакції об'єднуються в блоки і визнаються лише « красиві » блоки . «Красивий блок» важко знайти , це подібно до того як з тонн золотої руди попадається лише один стоїть самородок . У нашому випадку хеш- сума блоку повинна містити певну кількість нулів.
Блок складається з попереднього блоку ( хеш- суми) , хеш- суми всіх включених транзакцій , і випадково перебираємо числа ( англ : nonce ) .
Приклад bitcoin - блоку з сайту blockexplorer.com :
* Hash : 00000000000001c21dbf4715d5da1a288061faa21e950dd8df6ae25c8b55d868
* Previous block ? : 000000000000056a7dcf283f627c2a17c55ffe1937a6ed2bc467d9c524311da2
* Difficulty : 1 690 895.8030 52 ( " Bits " : 1a09ec04 )
* Transactions : 184
* Total BTC : 4251.63216933
* Size: 58.913 kilobytes
* Merkle root : 98c5d975bf556f0344770eee7ab31688a1c108223c14cea908ff99b0ab8fe947
* Nonce : 3723473450
Бачите скільки нулів на початку хеш- суми блоку ? Ось тому його так важко було знайти . Але кожен легко може перевірити справжність «краси» блоку. Кількість нулів хеше вибирається таким чином , щоб кожен блок з'являвся на світ приблизно раз на 6 10 хвилин. За знаходження блоку видається заохочення , зараз це 50 монет. Також нашедшему видаються всі збори від платежів ( transactions fees ) , за ті транзакції які включені до його блоку .
Єдина історія досягається за рахунок того , що завжди перемагає найбільш довгий ланцюжок блоків. Не проблема , якщо від біткойн - мережі буде відколоти ізольований шматочок користувачів - згодом все відколені транзакції увійдуть до більш довгий ланцюжок (з урахуванням складності).
тонкощі роботи
- Під хешуванням зазвичай розуміється подвійний sha256 , тобто sha256 ( sha256 ( x )) .
- Дивно , але bitcoin нічого не шифрує . Весь журнал транзакцій - повністю відкрита інформація. Будь-хто може перевірити цілісність всіх транзакцій , порахувати кількість монет в обігу. Немає жодних шансів для фальшивомонетництва . Єдина можливість для злодійств - лише призупинити роботу біткойн на деякий час.
- При першому старті bitcoin -додаток створює пару ключів. Точніше він створює їх відразу 100 пар заздалегідь , тим самим можна зробити резервування гаманця ( backup ) не більше ніж на 100 операцій вперед.
- Насправді в транзакції вказується алгоритм перевірки , крім самого біткойн - адреси. Усередині біткойн вбудований власний примітивний , навмисно обрізаний мова програмування , який дозволяє зробити складні транзакції. Наприклад можна запрограмувати , щоб гроші відправлені декільком адресатам (як сейфовая осередок з декількома ключами) . Або включити обмеження за часом на витрату грошей ( не раніше 2013 року ) і т.д.
- Транзакції в блок укладаються у вигляді дерева хешів . Таким чином надалі можна буде викидати завершення транзакції для економії місця на диску , не порушуючи цілісності блоків.
- Біткойнов - адреса містить в собі контрольну суму. Тому в адресі не можна помилитися пропустивши або замінивши одну або кілька символів.
На закінчення
Незалежно від курсу монети ( ображатися на систему можуть тільки спекулянти ), я вважаю , що bitcoin став дуже успішним у технічному відношенні. Тут є чому повчитися і використовувати отриманий досвід у подальшому.
Категорія: Мої статті | Додав: LOGAN1980 (13.03.2014)
Переглядів: 518 | Рейтинг: 0.0/0
Всього коментарів: 0
Ім`я *:
Email *:
Код *:
Безкоштовний конструктор сайтів - uCoz