Перейти к содержанию

Возможно ли в Биткойне совместное создание транзакции?


fxseminar

Рекомендуемые сообщения

Господа, по-моему, по всем ссылкам, которые вы приводите, рассказывается о том, как производится проверка на валидность ОДНОГО конкретного входа транзакции САМОГО ПО СЕБЕ. 

 

Может быть, мне не хватает понималки, но где там описана проверка того, что этот вход "прибыл" в составе той транзакции, в которой он изначально создавался (отправителем платежа), а не был выдран из неё и "имплантирован" в какую-то другую транзакцию?

 

А о том, что кое-какие нехорошие вещи с транзакциями в самом деле можно (было -- до SegWit? ) делать, как бы намекает тема "плавкости транзакций"...

Ссылка на комментарий
Поделиться на другие сайты

Вот, в  здесь, в "Bitcoin and Cryptocurrency Technologies от Принстонский университет", прямо в самых азах, говорится (и на картинке изображается), что

 

//10:08

10:37

Second, that the consumed coins were not already consumed in some previous transaction, this is not a double-spend. Third, that the total value of the coins that come out of this transaction is equal to the total value of the coins that went in. And finally that the transaction is validly signed by the owners of all of the consumed coins. If all of those things are true then this PayCoins transaction is valid.//

 

-- владелЬЦЫ ("owners" -- во множественном числе!) всех использованных (consumed) в транзакции монет должны подписать эту (всю целиком) транзакцию.

 

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

post-59202-0-15519000-1504731522_thumb.jpg

Ссылка на комментарий
Поделиться на другие сайты

-- владелЬЦЫ ("owners" -- во множественном числе!) всех использованных (consumed) в транзакции монет должны подписать эту (всю целиком) транзакцию.

 

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

Что вы пытаетесь узнать?! Еще вчера вам ответили, что технически это возможно, подписать транзакцию одним человеком, передать ее другом и он ее подпишет. Не наплевать ли вам что думает какой-то там человек из какого-то института?

 

Вопрос возник потому, что в одной статье (легко находится яндексом) я сегодня прочитал дословно:

 

//Важной особенностью сети Bitcoin являеется то, что транзакции, включающие множество адресов отправителя, могут быть выполнены только общим владельцем всех этих адресов, что определяется в системе Bitcoin как "Кто бы ни был отправителем данной транзакции, он владеет всеми этими адресами".//

 

-- получается, "Дорит Рон, Ади Шамир. Кафедра компьютерных наук и прикладной математики Института Вейцмана" глупость написали?

Ссылка на комментарий
Поделиться на другие сайты

Вот этой последовательности действий:

 

 

 

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

 

я вчера не прочитал. Возможно, подслеповат.

Ссылка на комментарий
Поделиться на другие сайты

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

Млять... А потом наверное еще друг друга пустить по кругу и подписать акт, что это произошло?

Это полная чушь, а не последовательность действий или неверный вольный перевод.

 

Хоть раз сделайте что-то своими руками, и может быть будет хоть что-то понятно.

А если вы хотите потратить просто 2 разных входа и подписать 2 разными приватными ключами - то и это не проблема.

Только все равно вы составляете одну транзакцию, включаете туда все нужные входы. подписываете ее своим ключом и передаете второму человеку, он подпишет ее своим ключом и отправит в сеть.

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

Ссылка на комментарий
Поделиться на другие сайты

 

 

вы составляете одну транзакцию, включаете туда все нужные входы

 

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

Ссылка на комментарий
Поделиться на другие сайты

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

@fxseminar, для составления транзакции не нужны приватные ключи, вся информация есть в блокчейне, эта публичная информация и доступна любому. Приватные ключи нужны только для подписи, это самое последнее действие перед отправкой в сеть.

Ссылка на комментарий
Поделиться на другие сайты

интересная тема, получается гарантом при сделке может быть половина входа?

Ссылка на комментарий
Поделиться на другие сайты

то есть вот это (в книге "Mastering Bitcoin"  https://www.bitcoinbook.info/translations/ru/book.pdf ):

 

//Как вы могли заметить, транзакция содержит пустой scriptSig, так как мы ее еще не подписали. Без подписи транзакция не имеет смысла; мы пока еще не доказали, что владеем адресом, из которого используется неизрасходованный выход. Подписывая, мы снимаем блокировку на выходе и доказываем права владения выходом, а значит можем потратить. Для того, чтобы подписать транзакцию мы используем команду signrawtransaction. Она принимает сырую шестнадцатеричную строку транзакции в качестве параметра://

 

-- тоже, вообще говоря, лажа? Потому что суть подписи не (только) в том, что "мы снимаем блокировку на выходе и доказываем права владения выходом", а в том, что мы "верифицируем" ВСЮ транзакцию ЦЕЛИКОМ?

 

И то, что этот scriptSig (пустой, пока не вызвана команда signrawtransaction) в JSON-формате транзакции отображается в разделе "vin" -- это такая ловушка для простаков?

__________________________

 

И команда signrawtransaction не сбойнёт, если в неё пихнуть транзакцию, для одного из входов которой на ноде нет приватного ключа?

Изменено пользователем fxseminar
Ссылка на комментарий
Поделиться на другие сайты

И когда другие ноды получают готовую транзакцию и проверяют её валидность, то они этот scriptSig используют не только для  проверки "обоснованности" конкретного input-а (как пишут во всех учебниках), а в качестве цифровой подписи всей транзакции целиком?

 

То есть цифровая подпись всей транзакции в JSON-формате отображается глубоко внутри одного из разделов, как какой-то задрипаный параметр? Ну не великолепно ли!

Изменено пользователем fxseminar
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...