Bitcoin Forum
November 18, 2019, 07:33:47 PM *
News: Help collect the most notable posts made over the last 10 years.
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Как выглядит блок?  (Read 1745 times)
kaznachey
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
December 30, 2016, 05:17:03 PM
 #1

А где можно посмотреть как выглядет тот самый блок который получается когда майнеры майнят биткоины и как в него записывается информация? Где можно посмотреть пример реального блока который используется в цепочке блоков биткоина? Какой объем памяти занимает блок и все ли блоки одинакового размера?
1574105627
Hero Member
*
Offline Offline

Posts: 1574105627

View Profile Personal Message (Offline)

Ignore
1574105627
Reply with quote  #2

1574105627
Report to moderator
The Bitcoin Forum is turning 10 years old! Join the community in sharing and exploring the notable posts made over the years.
1574105627
Hero Member
*
Offline Offline

Posts: 1574105627

View Profile Personal Message (Offline)

Ignore
1574105627
Reply with quote  #2

1574105627
Report to moderator
1574105627
Hero Member
*
Offline Offline

Posts: 1574105627

View Profile Personal Message (Offline)

Ignore
1574105627
Reply with quote  #2

1574105627
Report to moderator
Rashid Ahmed
Sr. Member
****
Offline Offline

Activity: 370
Merit: 255


View Profile
December 31, 2016, 01:27:37 AM
Merited by fruit (2)
 #2

А где можно посмотреть как выглядет тот самый блок который получается когда майнеры майнят биткоины и как в него записывается информация? Где можно посмотреть пример реального блока который используется в цепочке блоков биткоина? Какой объем памяти занимает блок и все ли блоки одинакового размера?

Тут хоть речь идёт о сегвите, но про блок всё разжаловано очень годно. Рекомендую посмотреть.

https://www.youtube.com/watch?v=1-1qJ91aBH4&t
bitaps
Member
**
Offline Offline

Activity: 134
Merit: 42

https://bitaps.com/


View Profile WWW
January 02, 2017, 12:30:34 PM
 #3

Вот здесь описана структура блока

https://en.bitcoin.it/wiki/Block

AndreyBelts
Newbie
*
Offline Offline

Activity: 140
Merit: 0


View Profile WWW
January 20, 2018, 02:01:31 PM
 #4

А где можно посмотреть как выглядет тот самый блок который получается когда майнеры майнят биткоины и как в него записывается информация? Где можно посмотреть пример реального блока который используется в цепочке блоков биткоина? Какой объем памяти занимает блок и все ли блоки одинакового размера?
Да. Так же заинтересовался этим вопросом.
Sad
NAgain
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
January 20, 2018, 08:09:08 PM
 #5

Дабы не создавать новую тему, спрошу тут.

Не могу понять, как и где в блоке хранятся адреса кошельков?
kzv
Legendary
*
Online Online

Activity: 1414
Merit: 1044


View Profile WWW
January 20, 2018, 09:40:06 PM
 #6

Дабы не создавать новую тему, спрошу тут.

Не могу понять, как и где в блоке хранятся адреса кошельков?
В блоки записываются не адреса кошельков, а скрипт транзакции. Декодируете скрипт - можете получить адрес кошелька... А можете не получить. В общем случае транзакция это произвольный контракт. В частном случае контракт звучит так: "потратить коины с этого входа может тот кто докажет, что такой-то адрес принадлежит ему".

NAgain
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
January 20, 2018, 10:07:24 PM
 #7

Дабы не создавать новую тему, спрошу тут.

Не могу понять, как и где в блоке хранятся адреса кошельков?
В блоки записываются не адреса кошельков, а скрипт транзакции. Декодируете скрипт - можете получить адрес кошелька... А можете не получить. В общем случае транзакция это произвольный контракт. В частном случае контракт звучит так: "потратить коины с этого входа может тот кто докажет, что такой-то адрес принадлежит ему".

Вроде бы я так и понял из спеки, но не был уверен в этом до конца. Хорошо, а как тогда блок-эксплореры показывают статистику по адресам с их балансом?

Заранее извиняюсь за, вероятно, нубские вопросы - просто хочу до конца разобраться.
kzv
Legendary
*
Online Online

Activity: 1414
Merit: 1044


View Profile WWW
January 20, 2018, 10:25:58 PM
Merited by fruit (2)
 #8

Дабы не создавать новую тему, спрошу тут.

Не могу понять, как и где в блоке хранятся адреса кошельков?
В блоки записываются не адреса кошельков, а скрипт транзакции. Декодируете скрипт - можете получить адрес кошелька... А можете не получить. В общем случае транзакция это произвольный контракт. В частном случае контракт звучит так: "потратить коины с этого входа может тот кто докажет, что такой-то адрес принадлежит ему".

Вроде бы я так и понял из спеки, но не был уверен в этом до конца. Хорошо, а как тогда блок-эксплореры показывают статистику по адресам с их балансом?

Заранее извиняюсь за, вероятно, нубские вопросы - просто хочу до конца разобраться.
99% транзакций - стандартные. Расшифровать скрипт стандартной транзакции проблем нет.

https://en.bitcoin.it/wiki/Script

Code:
OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG

NAgain
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
January 21, 2018, 12:18:38 AM
 #9

99% транзакций - стандартные. Расшифровать скрипт стандартной транзакции проблем нет.

А можно на пальцах объяснить как именно? Что-то никак не могу вкурить по описанию на вики как это сделать.
Coin-1
Hero Member
*****
Offline Offline

Activity: 812
Merit: 741



View Profile
January 21, 2018, 06:41:12 PM
 #10

99% транзакций - стандартные. Расшифровать скрипт стандартной транзакции проблем нет.

А можно на пальцах объяснить как именно? Что-то никак не могу вкурить по описанию на вики как это сделать.
Лучше посмотрите, как реализовано декодирование блоков в исходниках Bitcoin Core:
https://github.com/bitcoin/bitcoin

             ▄▄██
         ▄▄██▀▀     ▄▄█
▄       █▀▀     ▄▄██▀▀
███▄▄         ██▀▀       ▄▄██
███████▄▄            ▄▄█████▀
███ ▀▀█████▄▄    ▄▄█████▀▀
███▄▄   ▀▀██████████▀▀   ▄▄██
███████▄▄   ▀▀██▀▀   ▄▄█████▀
███ ▀▀█████▄▄    ▄▄█████▀▀
███▄▄   ▀▀██████████▀▀   ▄▄██
▀▀█████▄▄   ▀▀██▀▀   ▄▄█████▀
    ▀▀█████▄▄    ▄▄█████▀▀
        ▀▀██████████▀▀
            ▀▀██▀▀
.E 3 T.
█████  ███████████████████████████████████████████████████████████████████████████████

.Connecting Global Entrepreneurs.

███████████████████████████████████████████████████████████████████████████████  █████
▄▄████████▄▄
▄████████████████▄
▄████████████████████▄
███████████████▀▀  █████
████████████▀▀      ██████
▐████████▀▀   ▄▄     ██████▌
▐████▀▀    ▄█▀▀     ███████▌
▐████████ █▀        ███████▌
████████ █ ▄███▄   ███████
████████████████▄▄██████
▀████████████████████▀
▀████████████████▀
▀▀████████▀▀
kzv
Legendary
*
Online Online

Activity: 1414
Merit: 1044


View Profile WWW
January 21, 2018, 07:17:06 PM
 #11

99% транзакций - стандартные. Расшифровать скрипт стандартной транзакции проблем нет.

А можно на пальцах объяснить как именно? Что-то никак не могу вкурить по описанию на вики как это сделать.

А зачем вам двоичный файл руками парсить? У битка есть RPC API, которые специально для таких целей предназначены.
Я могу конечно выложить сюда дамп блока и жирным выделить где там адреса, но нафига? Кроме родной RPC API, есть 100500 сторонних либ, которые умеют все это дело парсить.

NAgain
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
January 21, 2018, 07:19:45 PM
 #12

А зачем вам двоичный файл руками парсить? У битка есть RPC API, которые специально для таких целей предназначены.
Я могу конечно выложить сюда дамп блока и жирным выделить где там адреса, но нафига? Кроме родной RPC API, есть 100500 сторонних либ, которые умеют все это дело парсить.

Ключевая фраза - "разобраться для себя". В тупую юзать сторонние либы ума много не надо, а хочется въехать самому. По той же причине и RPC не использую. Так что если не сложно - выложите пжлст.
kzv
Legendary
*
Online Online

Activity: 1414
Merit: 1044


View Profile WWW
January 22, 2018, 08:19:09 AM
Merited by fruit (2)
 #13

Формат файлов с блоками
тут https://bitcointalk.org/index.php?topic=101514.msg1111214#msg1111214
или тут https://en.bitcoin.it/wiki/Protocol_documentation

Quote
Magic Bytes (4 bytes)
BlockSize w/ header (4 bytes)
Raw Header (80 bytes)
Number of Tx, N (VAR_INT)
Raw Tx1
Raw Tx2
...
Raw TxN
Magic Bytes (4 bytes)
BlockSize w/ header (4 bytes)
Raw Header (80 bytes)
Number of Tx, N (VAR_INT)
Raw Tx1
Raw Tx2
...
Raw TxN
Magic Bytes (4 bytes)
BlockSize w/ header (4 bytes)
Raw Header (80 bytes)
Number of Tx, N (VAR_INT)
Raw Tx1
Raw Tx2
...
Raw TxN
...
Формат рав транзакций тут https://www.siliconian.com/blog/16-bitcoin-blockchain/22-deconstructing-bitcoin-transactions

Вот ваш адрес в биг-ендиан формате. 0207c9ece04a9b5ef3ff441f3aad6bb63e323c05047a820ab45ebbe61385aa7446
Если в таком формате не нравится, вот тут написано, как из биг-ендиан получить базе58-чек https://github.com/bitcoin/bitcoin/blob/master/src/base58.cpp#L124

Разбирайтесь на здоровье ))

A-Bolt
Legendary
*
Online Online

Activity: 1388
Merit: 1302

CryptoTalk.Org - Get Paid for every Post!


View Profile
January 22, 2018, 03:13:32 PM
 #14

Quote
Хорошо, а как тогда блок-эксплореры показывают статистику по адресам с их балансом?

Чтобы определить баланс для конкретного адреса А нужно просканировать все блоки и найти транзакции с выходами, позволяющими обладателю приватного ключа от адреса А потратить эти выходы. Среди этих выходов необходимо найти непотраченные на текущий момент выходы (UTXO). Сумма непотраченных выходов и будет составлять баланс.

 
                                . ██████████.
                              .████████████████.
                           .██████████████████████.
                        -█████████████████████████████
                     .██████████████████████████████████.
                  -█████████████████████████████████████████
               -███████████████████████████████████████████████
           .-█████████████████████████████████████████████████████.
        .████████████████████████████████████████████████████████████
       .██████████████████████████████████████████████████████████████.
       .██████████████████████████████████████████████████████████████.
       ..████████████████████████████████████████████████████████████..
       .   .██████████████████████████████████████████████████████.
       .      .████████████████████████████████████████████████.

       .       .██████████████████████████████████████████████
       .    ██████████████████████████████████████████████████████
       .█████████████████████████████████████████████████████████████.
        .███████████████████████████████████████████████████████████
           .█████████████████████████████████████████████████████
              .████████████████████████████████████████████████
                   ████████████████████████████████████████
                      ██████████████████████████████████
                          ██████████████████████████
                             ████████████████████
                               ████████████████
                                   █████████
.CryptoTalk.org.|.MAKE POSTS AND EARN BTC!.🏆
NAgain
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
January 22, 2018, 04:56:41 PM
 #15

kzv - Благодарю. Большинство видел, но есть пара упущенных моментов.

Quote
Хорошо, а как тогда блок-эксплореры показывают статистику по адресам с их балансом?

Чтобы определить баланс для конкретного адреса А нужно просканировать все блоки и найти транзакции с выходами, позволяющими обладателю приватного ключа от адреса А потратить эти выходы. Среди этих выходов необходимо найти непотраченные на текущий момент выходы (UTXO). Сумма непотраченных выходов и будет составлять баланс.

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

*Всем спасибо за помощь
DDL
Full Member
***
Offline Offline

Activity: 196
Merit: 100


Stipend - The Freelancer's Currency


View Profile
January 24, 2018, 08:30:41 PM
 #16

Откройте эксплорер любой монеты и посмотрите как он выглядит.

readonly
Jr. Member
*
Offline Offline

Activity: 247
Merit: 5


View Profile
January 27, 2018, 05:36:08 PM
 #17

А зачем вам двоичный файл руками парсить? У битка есть RPC API, которые специально для таких целей предназначены.
Я могу конечно выложить сюда дамп блока и жирным выделить где там адреса, но нафига? Кроме родной RPC API, есть 100500 сторонних либ, которые умеют все это дело парсить.

Ключевая фраза - "разобраться для себя". В тупую юзать сторонние либы ума много не надо, а хочется въехать самому. По той же причине и RPC не использую. Так что если не сложно - выложите пжлст.

вам же дали исходники выше. кто мешает разобраться для себя?

LETHEAN (https://lethean.io/) ★ BLOCKCHAIN BACKED P2P VPN ★ VPN Whitepaper (https://lethean.io/vpn-whitepaper/)
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!