Similar presentations:
Онлайн образование. Биткойн
1.
О Н Л А Й Н - О Б РА З О В А Н И Е2.
Bitcoin3.
Меня хорошо слышно&& видно?
Напишите в чат, если есть проблемы!
Ставьте + если все хорошо
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.
UTXO11.
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 root15.
Merkle root15
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.
Спасибоза внимание!