406.98K
Category: financefinance

Онлайн образование. Биткойн

1.

О Н Л А Й Н - О Б РА З О В А Н И Е

2.

Bitcoin

3.

Меня хорошо слышно
&& видно?
Напишите в чат, если есть проблемы!
Ставьте + если все хорошо

4.

Содержание
Свойства биткоина
Основные структуры
UTXO
Адреса
Форматы приватных ключей
Переводы
Merkle root
Своя ценность
Майнинг
Где применять
4

5.

Свойства биткоина

6.

Свойства
• Использует POW консенсус
• Транзакции жестко зависят от предыдущих
• Долгая сборка блока (около 10 минут)
6

7.

Основные структуры

8.

Блок
const block = { // https://bitcoin.org/en/developer-reference#getblock
"result": {
"hash": "0000000000000000000b0f271558b6ae0bb31389d4072bb11f3b9cda51e1357a", // block hash
"confirmations": 1991, // how much blocks has been mined after this one
"size": 1321265, // total block size in bits
"height": 613657, // index of block
"merkleroot": "02154accdf90a96c97e875eade90511b9be40e7ad170d4c3e550e82eeb24ad2e",
"tx": [
"b6e94d3f3de925dd6333d228d83565d0939ed80672a094adb95c3c871404d873",
"9edd802b68ef48ab424c507bdc827bc7aa2e9f8ca08d5a3607fe526053bc3a29",
],
"time": 1579506481, // when has been generated
"nTx": 2031, // total amount of included txs
"previousblockhash": "0000000000000000000abe0f6730244cc05e1fff93aaaa72c310bd4676996c76" // ref to previous block
},
"error": null,
"id": 1
}
8

9.

Транзакция
const tx = {
txid: '3b29b258f6c1ebc0b4fc750e3e9950f859e3c7cb5fd843e8049905ef18aa08c1',
hash: '74654e6e4ace830d24f02d5fea20686521f7196f95152a6ec2276eee8c27b33b',
size: 380,
vin:
[{
txid: 'db43b8c11cd89682c4182c7f9a8561b2836da822a3ece440d103e0d5c1551521',
vout: 1,
sequence: 4294967295
}],
vout:
[{
value: 0.1868556,
n: 0,
scriptPubKey:
{
asm:
'OP_HASH160 84604c5bbb939737139437dcd6d3b31da59746ee OP_EQUAL',
hex: 'a91484604c5bbb939737139437dcd6d3b31da59746ee87',
reqSigs: 1,
type: 'scripthash',
addresses: ['3DkxUnb3EMH1BoJiW6yMGrSLqAJBbC3BR6']
}
}],
blockhash: '0000000000000000000b0f271558b6ae0bb31389d4072bb11f3b9cda51e1357a',
confirmations: 2031,
time: 1579506481,
blocktime: 1579506481
}
9

10.

UTXO

11.

UTXO
• UTXO (unspent transaction output)
• Транзакции в биткоине устроены по принципу “входы-выходы”
• Представим, что у Alice есть монета, достоинством 1 btc. Она хочет
перевести Bob 0.4 btc, и Denis – 0.6btc
• Alice создает транзакцию, где кладет на вход свою монету 1btc, а в
выходах указывает адрес Denis и для него сумму (0.6btc), и для адреса
Bob (0.4btc)
• Когда Alice отправляет транзакцию в блокчейн, ее монета (1btc)
считается потраченной, и в тот же момент у Bob появляется новая
монета достоинством (0.4 btc), и у Denis – 0.6btc
• Вот эти не потраченные монеты Bob и Denis и называются UTXO
11

12.

Адреса

13.

Виды адресов
• P2PKH: pay to public key hash (начинаются с “1”)
• P2SH: pay to script hash (начинаются с “3”)
• Bech32: segwit (начинаются с “bc1”)
13

14.

Merkle root

15.

Merkle root
15

16.

Типы приватных ключей

17.

Виды приватных ключей
• WIF
• Mnemonic (bip39)*
• Hex private key
17

18.

Hierarchical Deterministic Wallets
• Есть мнемоник / xpriv ключ
• С помощью специального пути, мы можем получить конкретный
приватный ключ, вычисляемый на основе этого пути (bip32)
18

19.

Майнинг

20.

Как происходит валидация
Раз в определенный промежуток времени (около 10 минут)
Майнер собирает блок (заголовок блока)
Этот заголовок должен включать специальное число – nonce
Проверка простая: hash(block header) < target, where target – hardcoded
hash
• Решить можно лишь перебирая nonce
20

21.

Что можно еще делать?

22.

Что можно?
• Блокчейн – это не о крипте
• Блокчейн – это о ценности. Пользователи сами определяют ценность
• Хороший пример: смарт контракты (Ethereum / hyperledger)
22

23.

Опрос
https://otus.ru/polls/6414/
23

24.

Спасибо
за внимание!
English     Русский Rules