Как да подпишем и удостоверим съобщение чрез Mycelium портфейла

Започната от Paladin, Август 21, 2018, 10:40:14 PM

« назад - напред »

Paladin

Една доста полезна функция на Биткойн, която не се споменава честно, е функцията за подписване и удостоверяване. В този упътване ще ви обясня как да подпишете съобщение и как да го проверите. Подписа се прави за да може да докажете на някой, че вие сте собственика на даден публичен ключ. Защо бихте искали да направите това? Да кажем, че имате диспут със продавач на когото сте платили с биткойн. Той казва, че не сте му платили правилната сума или че не сте му платили като цяло.  Вие му показвате транзакцията в blockchain.info , но той ви пита как ще бъде сигурен , че това е вашия биткойн? Сега ще ви обясня как да направите това. 


  • Натиснете  Accounts(Сметки).

  • След това натиснете сметката от която сте пратили биткойна. Ще излезнат нови опции отгоре.

  • Натиснете трите точки до CREATE BACKUP. Ще излезнат следните опции

  • Натиснете Sign Message(Подпиши съобщение) . След това натиснете ключа, който сте използвали за транзакцията, най-често той е последния. В случая, понеже портфейла е чисто нов има само един ключ.

  • Ще излезне следния екран където трябва да впишете съобщение. Тук не мога да ви кажа какво точно да напишете, разберете се с продавача.

  • След това ще видите вашето съобщение и опция да копирате сигнатурата към вашия clipboard или да споделите съобщението и сигнатурата.

  • Ако натиснете да споделите ще позволи да пратите съобщението с смс или някое друго приложение. При мен, като собственик на Huawei  телефон, излиза следното -

  • Само като пример ще ви покажа как ще изглежда копираното, ако решите да го пратите чрез смс. Този смс може да се копира и да се верифицира от получателя през неговия портфейл.



Какво точно описва това съобщение?
Първо е съобщението, което вие сте вписали. След това е публичния адрес от където сте пратили биткойна и накрая е сигнатурата, която е генерирана. Тя е уникална към адресът и съобщението.

Как да удостоверим съобщението?
  • В Accounts(Сметки) натиснете на трите точки горе в дясно.

  • Натиснете Verify Message(Удостовери съобщение)

  • Ще излезне ново поле в което трябва да копирате цялото съобщение по нагоре. Като натиснете Paste(или Постави) би трябвало да изпише, че съобщението е удостоверено да бъде от адресът.



Ако имате някакви въпроси не се колебайте да попитате, ще се радвам да ви помогна :)

Биткойн.БГ

Добра работа, Paladin!   :)

Вместо да използваш хостинг за изображенията в imgur можело е също така да ги качиш през "Прикачени файлове и допълнителни опции/Прикачи" и пак да ги свържеш чрез:

[img]...[/img]

Сложи връзка в основната тема за "Указания за употреба" към тази тема. Изпрати ми с лично съобщение данни за размера на твоя интерес за покупко-продажби на биткойни и примерен срок за да може да ти изпратя код за отстъпка при операции с битомата!

AlximikA

Паладин, разгледах обстойно портфейла който използвам и функция за подписване и верифициране на съобщения не намерих! Означава ли това, че аз нямам възможност да използвам тази функционалност ако не използвам друг портфейл ?

Paladin

Цитат на: AlximikA - Август 23, 2018, 01:33:24 AM
Паладин, разгледах обстойно портфейла който използвам и функция за подписване и верифициране на съобщения не намерих! Означава ли това, че аз нямам възможност да използвам тази функционалност ако не използвам друг портфейл ?

Честно казано, не съм сигурен. Ще трябва да ми кажеш кой портфейл използваш за да погледна. Запознат съм само с mycelium-а, но би трябвало и на други портфейли да има тази опция.

AlximikA

Ако използвам хартиен портфейл ?
Все пак подписването с частен и публичен ключ е свойство на самият ключ, нали ?


Биткойн.БГ

Цитат на: AlximikA - Септември 14, 2018, 10:44:33 AM
Ако използвам хартиен портфейл ?
Все пак подписването с частен и публичен ключ е свойство на самият ключ, нали ?

Няма принципна разлика между това да подпишеш съобщение с произволен текст с тайният ключ за да го покажеш на някой и да подпишеш съобщение с точно определен формат, когато си харчиш биткойните по даден адрес за да го излъчиш в биткойн мрежата за да го види целия свят! И в двата случая трябва да се извършат определени изчисления, като се използва тайният ключ по точно определен алгоритъм за да представиш резултата от това изчисление на някой за проверка. Проверката за достоверност се извършва, като се използва явният ключ. Когато подписваш съобщение за да изхарчиш биткойните си от даден хартиен портфейл ти не го правиш с писмо в плик със залепена марка до местния пощенски клон нито го пускаш по гълъб до някой миньор, нали?

Разбира се, можеш да извършиш всичките изчисления с молив и хартия щом толкова настояваш. Ние ще приемем подписаното съобщението представено и в такъв вид! Само трябва да можеш да извършваш пресмятания с молив и хартия с двоични и шестнайсетични числа и да извършваш побитови операции, така както ги извършва компютъра. Представа за необходимите умения можеш да получиш от това клипче:
https://www.youtube.com/watch?v=y3dqhixzGVo






AlximikA

Това клипче съм го гледал :)
В момента чета учебника за който си дал линк преди около две години и половина. Все още не съм стигнал до главата с функциите за подписване на текст.

Предположих ,че е възможно да има приложение различно от портфейл, което да подпише текст използвайки камерата, за да сканира таен ключ от хартиен портфейл.

Все още не съм изпращал биткойни от хартиен портфейл, нямам представа каква точно е процедурата!

Биткойн.БГ

Цитат на: AlximikA - Септември 14, 2018, 01:53:37 PM
Все още не съм изпращал биткойни от хартиен портфейл, нямам представа каква точно е процедурата!

Всеки биткойн портфейл има функция за прокарване на външен таен ключ, като се сканира QR кода с този таен ключ. Така биткойните от външния портфейл стават част от биткойните по настоящия портфейл. Това обаче е рисковано, защото има всевъзможни вируси и пробойни в безопасността във всяка операционна система. Ето защо трябва да се използват приложения, като Сентинел https://samouraiwallet.com/sentinel.html които не съхраняват тайните ключове, но сканирайки тайният ключ от даден портфейл на секундата го нареждат по друг биткойн адрес, тайните ключове от който се съхраняват по напълно надежден начин извън самото приложение!

AlximikA

Да разбирам ли ,че един от сравнително сигурните начини за съхранение и последващо изпращане на биткойни е следният:
1. Генерираме хартиен портфейл https://www.bitaddress.org/ (принтирането обаче не съм сигурен колко е сигурно)
2. "Зареждане" на хартиеният портфейл чрез публичният ключ.
3. Изпращане на всички налични биткойни от хартиеният портфейл към избран от нас адрес чрез https://samouraiwallet.com/sentinel.html

И за да не излизаме от поставената тема, как мога да докажа ,че съм собственик на биткойните в хартиеният портфейл ?

Биткойн.БГ

Цитат на: AlximikA - Септември 14, 2018, 01:53:37 PM
Предположих ,че е възможно да има приложение различно от портфейл, което да подпише текст използвайки камерата, за да сканира таен ключ от хартиен портфейл.

Няма начин едно приложение да подпише нещо с тайният ти ключ без да има достъп до този таен ключ. Нали в това е цялата идея на Биткойн и на Биткойн мрежата? Само притежателят на даден таен ключ да може да се разпорежда с биткойните по даден биткойн адрес!

Думата портфейл е малко подвеждаща, тъй като предполага физическото съхранение на парите. При Биткойн портфейлите обаче, не се съхраняват биткойните, а тайните ключове, които ти позволяват да превеждаш биткойните от даден адрес на други адреси. Самите биткойни винаги си стоят в блокверигата, а тя както знаем е на много места едновременно! Ето защо е толкова трудно на заварената финансова система да направи закони забраняващи използването на Биткойн! Защото в крайна сметка става въпрос за свобода на словото! Правото на отделната личност да излъчва съобщения до целия свят!!! Самият превод на биткойни не е нищо повече от излъчено съобщение в Интернет подписано с твоя цифров подпис!

Ето защо смятам, че ако вместо съчетанието биткойн портфейл се използва съчетанието биткойн ключодържател, ще е доста по-изразително за хората без технически познания.

Всъщност вече има доста напреднали разработки за портфейли без физически носител. Тъй наречените умствени портфейли са стара идея и има доста приложения от много години насам, но напоследък има големи постижения и нововъведения в тази посока - https://www.nowallet.org


Биткойн.БГ

ЦитатИ за да не излизаме от поставената тема, как мога да докажа ,че съм собственик на биткойните в хартиеният портфейл ?

Накратко. По същият начин, по който можеш да наредиш биткойните по друг биткойн адрес!

С повече думи. Няма специално приложение за подписване на съобщения от тайни ключове в хартиени портфейли, защото е най-тъпото нещо с което някой разработчик може да си губи времето! Цялата идея на хартиеният портфейл е тайният ключ да няма никакъв достъп до електронни устройства! Ако ти използваш приложение от електронно устройство за сканиране на тайният ключ, се губи цялата идея за съхранение на таен ключ върху хартиен носител. Казано с други думи, след като сканираш тайният ключ от хартиен портфейл ще е много тъпо ако веднага не преместиш тези биткойни на друг адрес от хартиен портфейл. Ето защо, най-добре за подписване на съобщения е да използваш специализирано приложение за съхранение на тайните ключове в електронни устройства, наричано още... биткойн портфейл!


AlximikA

Цитат на: BitcoinBG - Септември 14, 2018, 03:02:14 PM
ще е доста по-изразително за хората без технически познания.
То не е просто изразително, то е описателно и логично! Еврика...

БиткойнБГ, от думите ти разбирам ,че според теб съхранението на частният ключ в софтуерен ключодържател граничи с безотговорност... да не казвам с глупост и безумие. Така ли е ?
-------------
Ще създам хипотетична ситуация която следва да решим! Наистина искам да проумея логиката на подписа!
Да речем ,че аз имам хартиен ключодържател със следните ключове:
Публичен ключ: 16JhZqvrt49xXiBKv52G6kUtA8obYfFF5t
Частен ключ: KwE7NSwRA8obLZaH1fzpsqVw1Sw12nbCrA7jbyixYeKfuALKGAQr
В този ключодържател аз съм имал 1 биткойн, който съм "превел" на БиткойнБГ. Да речем, че съм му го продал.
За да му дам правото да разполага с този биткойн съм използвал https://samouraiwallet.com/sentinel.html като оптимален и сигурен вариант. В хатриеният ключодържател към момента нямам нищо и не възнамерявам да го ползвам повече.
Поради някаква невъобразима към момента причина обаче, на мен ми се налага да докажа ,че именно аз съм бил собственика на този биткойн!
Какво правим ?
Да речем ,че искам да подпиша съобщението "Здрасти БиткойнБГ".
Възможно ли е да го подпиша без да интегрирам(не знам коя е точната дума?) ключовете от хартиеният ключодържател в софтуерен ключодържател, който има функция за подписване на съобщения ?
Възможно ли е да раздробя следният входящ масив "Здрасти БиткойнБГ KwE7NSwRA8obLZaH1fzpsqVw1Sw12nbCrA7jbyixYeKfuALKGAQr"  с sha256 и изходният стринг да предоставя на БиткойнБГ за доказателство: 6C46A08B1C2EC2980C2DFBC08F5921C7830A21D609F0FDF316072EC99BD34F5D

Така ли работи или съм прекалено далеч от истината ? И ако евентуално работи така, то тогава как БиткойнБГ разполагайки само с моят публичен ключ ще разбере ,че аз съм собственика зад частния ключ ?
----------------
Надявам се сега да се разбира от къде произлиза въпросът ми за "най-тъпото нещо с което някой разработчик може да си губи времето!" :)

п.п
Хартиеният ключодържател някак ми напомня на бюлетина! Все още не знам защо създавам подобна асоциация, но явно има някаква логика.

Биткойн.БГ

Цитат на: AlximikA - Септември 14, 2018, 09:34:49 PM
За да му дам правото да разполага с този биткойн съм използвал https://samouraiwallet.com/sentinel.html като оптимален и сигурен вариант.

Остави Сентинела, там няма никакви тайни ключове и затова не става нито за подписване нито за превеждане на биткойни. Целта на това приложение е съвсем друга.

Цитат на: AlximikA - Септември 14, 2018, 09:34:49 PM
Възможно ли е да го подпиша без да интегрирам(не знам коя е точната дума?) ключовете от хартиеният ключодържател в софтуерен ключодържател, който има функция за подписване на съобщения ?

Казвам го още веднъж, като за последно. Няма никакъв начин да подпишеш съобщение с тайния ключ без да имаш достъп до този таен ключ!

"Интегриране" е прекалено помпозна дума за нещо, което отстои на 2 клика разстояние. Правилната дума е прокарвам/вмъквам/вдявам. Избери си една от трите. Всеки биткойн портфейл има функция за прокарване на таен ключ от външен QR код. Прави се точно за 3 секунди. Този външен код може да е на екран, на снимка, на хартия или изсечен от каменоделец в парче гранит. Няма значение дали си превеждал биткойни от съответния биткойн адрес и дали баланса по него е нулев. Най-лесният начин да подпишеш съобщение с таен ключ от хартиен портфейл е да го направиш част от електронен портфейл. Другият начин е следвайки алгоритъма и схемата за цифов подпис на ръка с молив и хартия и пътят в общи линии е показан на клипчето по-горе.

AlximikA

Явно съм прекалено тъп и не разбирам.
Първо ми каза ,че Сантинел може в мига на сканирането на тайният ключ да премести биткойните от него към посочен по избор публичен ключ. Сега ми казваш ,че Сантинел не става за превеждане на биткойни... само аз ли виждам противоречие ?

"Няма никакъв начин да подпишеш съобщение с тайния ключ без да имаш достъп до този таен ключ!"

Никога никъде не съм казвал ,че ще подписвам съобщение без да имам достъп до частен ключ, даже умишлено генерирах хартиен ключодържател и сложих ключовете му в темата. Въпросът беше дали мога да подпиша без да ми се налага да закача тайният ключ към софтуерен ключодържател.
Приемам ,че с изключение на молива и ръчното пресмятане, няма друга алтернатива на софтуерният ключодържател за подписване на съобщения.
Предполагах ,че може да бъде използван някой от сайтовете, които предлагат хеширане https://passwordsgenerator.net/sha256-hash-generator/ . Явно все още съм прекалено далеч от истината :)

Някой ден, когато имам време, ще се пробвам да изкопирам стъпките във видеото.

Биткойн.БГ

Цитат на: AlximikA - Септември 15, 2018, 12:28:01 PM
Първо ми каза ,че Сантинел може в мига на сканирането на тайният ключ да премести биткойните от него към посочен по избор публичен ключ. Сега ми казваш ,че Сантинел не става за превеждане на биткойни... само аз ли виждам противоречие ?

Клавиатурата на компютъра, с която си написал горните думи може ли да се използва за забиване на пирони? Може, разбира се! Може дори да забиеш доста големи пирони ако си упорит и съобразителен... Това означава ли, че клавиатурата става за забиване на пирони? Ти си на мнение, че става и така виждаш противоречие в казаното от мен. Според мен, не става. Има едно нещо, което се нарича чук! И това нещо е създадено именно за да те улесни максимално, когато забиваш пирони! "Ама не може ли да се направи клавиатура, която да става и за забиване на пирони?" - питаш ти. "Може!" - е моят отговор. "Но няма да съм аз, който ще се заеме с тази задача!".

Може да ми преведеш биткойни, като използваш Сентинел. Но за тази цел трябва да вкараш моят биткойн адрес в Сентинел. След това трябва да изведеш на екран или разпечаташ в незащитен формат QR кода с тайният ключ, който държи биткойните, които искаш да ми преведеш. След това трябва да сканираш този таен ключ и да имаш предвид, че нямаш никакъв начин да определяш, колко биткойна ще ми преведеш. При тази операция Сентинел изпраща целият баланс по този таен ключ. Причината е пак тази. Този таен ключ вече не става за съхранение на биткойн наличности, защото вече е прекалено рисков. Повече не трябва да го използваш! Защо трябва да правиш това при условие, че има едно нещо, което се нарича биткойн портфейл?  И това нещо е създадено именно за да те улесни максимално при биткойн преводите, като обезопасява надеждно тайните ключове!