Post
Topic
Board Кодеры
Re: Серия вопросов по blockchain
by
Nolix
on 22/07/2017, 20:02:54 UTC
Спасибо за ответы.

1) Нет, tx в блоке - это не хэш транзакции, а собственно сама транзакция. Вот пример транзакции в формате JSON, это фрагмент блока, хэш в ней прописан отдельно:
т.е.  берем к примеру tx:  36cf28c4a2729c4826221949f10b36283019b758e431d1769c3265ab30022866
и это как-то можно развернуть до json-представления? А где можно с механизмом преобразования ознакомиться ?

2) В самой транзакции публичного ключа нет, только адрес. Проверка на валидность адреса майнерами при занесении в блок упрощённая. При создании транзакции её отправителем, если он знает публичный ключ, проверка может быть более полная. Всё зависит каким софтом вы пользуетесь при создании транзакции и по каким правилам её создаёте. Если вы, допустим, пересылаете данные самому себе и знаете даже закрытый ключ - вы можете сделать самую полную проверку.
т.е. на валидный адрес, но никому еще не принадлежащий транзакция может уйти? Получается, что в будущем кто-то может получить приватный ключ и адрес, на котором уже будут входы (положительный баланс)?

3) Пул транзакций - условное понятие, собственно это некая "память" в сети узла IRC. Узел может удалить эту транзакцию, но она, к примеру, может опять туда прийти. В зависимости от настроек, конфигурации, время может различаться. Очень старые неподтверждённые транзакции в конце концов полностью "исчезают".
"Узел может удалить эту транзакцию" что под узлом имеется ввиду? Разве транзакции (в том числе неподтвержденные) не синхронизируются между всеми узлами?

А хэш дерева Меркля - это  контроль целостности данных внутри текущего блока. Дерево Меркля включает в себя хэши всех транзакций в текущем блоке, а также хэши всех промежуточных узлов дерева и хэш итогового узела, вершины дерева, его и называют hashMerkleRoot. Дерево Меркля используется только для контроля целостности транзакций (и только транзакций) внутри текущего блока.
выходит, что по этому Мерклю нельзя отследить нахождение той или иной транзакции в блоке? Он только как итоговый такой хэш от всех tx-ов? Почему тогда именно "дерево Меркля" а не обычный двойной sha256?