Kilka pytań odnośnie niezrozumiałych dla mnie zagadnień związanych kryptowalutami.
: niedziela, 1 listopada 2020, 16:34
Witam wszystkich. Od dłuższego czasu noszę się z zamiarem poznania tematu kryptowalut ale za każdym razem gdy czytam różne fora i artykuły ilość niezrozumiałych dla mnie kwestii skutecznie mnie odstrasza. Nadmiar informacji (niejednokrotnie dość niespójnych) oraz ogrom problemów jakie napotykają inni użytkownicy "krypto" sprawiają, że już mi czacha dymi, ale tym razem (w związku z dość niestabilną sytuacją na świecie) jestem wystarczająco zdeterminowany żeby temat jednak ugryźć.
W związku z tym chciałbym zadać kilka pytań, które kołaczą mi się w głowie jako nowicjuszowi.
1. Generowanie papierowego portfela.
1a. W skrypcie generującym portfel BTC jest rubryka dotycząca ich liczby. Ile powinienem wygenerować portfeli i dlaczego tyle? Czy to tylko kopie, które można schować w różnych miejscach czy utworzenie większej liczby niesie za sobą jakieś inne konsekwencje? Na oko hashe wyglądają podobnie lecz nie są identyczne. Czy są one ze sobą powiązane czy to po prostu zupełnie niezależne portfele?
1b. Jakie opcje wybrać podczas generowania (dodatkowe szyfrowanie itp.) i co się z nimi wiąże? Zakładam, że gdyby dodatkowe szyfrowanie niosło za sobą same korzyści byłoby obligatoryjne a nie jest. Na forum czytałem kilka wątków, w których bardziej przysporzyło ono kłopotów i niezbędne było przeprowadzenie jakiejś translacji na inne szyfrowanie lub klucz nieszyfrowany (nie mam pewności czy poprawnie zrozumiałem tamte dyskusje).
1c. Dlaczego przy generowaniu portfela "paper wallet" za pomocą skryptu nie widać nigdzie zestawu 12(?)/18(?)/24(?) losowych słów? Jest tylko klucz publiczny i klucz prywatny. Wydawało mi się, że te słowa są potrzebne żeby w razie czego zaimportować portfel w aplikacji online lub w razie czego odzyskać go na wypadek utraty klucza. Czy słowa są wyłącznie obsługiwane przez aplikacje, czy mają również jakąś obsługę w protokole?
1d. Co sądzicie o brain wallet? (mogę tu wpisać na przykład jakiś odjechany wiersz swojego autorstwa i znając go będę mógł zawsze dostać się do swojego portfela, tak? Czy to może być bezpieczne? Jeśli użyję na przykład słów w języku innym niż angielski albo w kilku językach, powinno być to chyba podobnie przewidywalne co losowe słowa angielskie? Zauważyłem też, że można wpisywać znaki regionalne czyli kodowanie jest jakieś UTC. A może to tylko pole tekstowe pozwala wpisywać litery ze znakami diakrytycznymi czy nawet znaki niełacińskie bo skrypt na przykład nie ma obsłużonego takiego wyjątku a generator hasha tego nie łyknie/podmieni je na łacińskie albo coś się zrypie? Ktoś coś na ten temat? Gdzie w razie utraty klucza należy użyć słów? (w oficjalnym generatorze z GitHub nie widzę takiej opcji)
1.e Zakładka Vanity Wallet. Czytałem o tym na wiki bitcoina ale jakoś nie trafia to do mnie. To coś w rodzaju używania kilku kluczy prywatnych aby odzyskać docelowy klucz prywatny na którym są środki? Na przykład żeby wydać środki trzeba transakcję potwierdzić kilkoma kluczami prywatnymi czy/lub jednym kluczem ale chronionym przez kilka innych prywatnych?
2. wydawanie środków
2a. Czym tak naprawdę różni się sweep od wysłania środków i zaimportowania portfela w aplikacji?
2b. Czy po sweep z portfela źródłowego nadal można bezpiecznie korzystać, czy może jest to równoznaczne z migracją z jednego klucza prywatnego na inny gdyż klucz prywatny został już wpisany w jakiejś aplikacji online w celu autoryzacji?
2c. Czy opcja sweep zawsze wiąże się z przesłaniem całych środków?
2d. Czy po przesłaniu całości środków za pomocą sweep mogę nadal "przelewać" na źródłowe "konto" (klucz publiczny powiązany z źródłowym kluczem) czy należy założyć nowy portfel?
2e. Czy pierwsze przelanie środków z papierowego na inny portfel wiąże się z trwałym obniżeniem poziomu bezpieczeństwa tego pierwszego? W końcu aby dokonać transakcji muszę być online oraz muszę uwierzytelnić ją kluczem prywatnym znajdującym się na kartce papieru. Innymi słowy muszę wpisać/wkleić/zeskanować klucz prywatny do jakiejś aplikacji połączonej z siecią w związku z czym po dokonaniu transakcji klucz prywatny staje się równie (nie)bezpieczny co taki, który od początku został wygenerowany online. Jeśli portfel "papierowy" jest bezpieczny tylko przy ruchu w jedną stronę (transakcje przychodzące) stanowiłoby to dość poważną niedogodność. Jeśli tak to jak to ominąć?
2f. Podobnie w przypadku klucza fizycznego. Czy powinien on służyć wyłącznie do gromadzenia środków? Przecież mamy tu podobną sytuację co w przypadku portfela papierowego. Sieć podczas przelewu wychodzącego wymaga autoryzacji kluczem prywatnym. Nawet jeśli jest on przechowywany na urządzeniu chronionym pinem nadal klucz musi trafić jakoś do aplikacji podłączonej do sieci. Natomiast gdyby podpisywanie transakcji następowało w samym urządzeniu, transakcji musiałaby zostać nadana jakaś flaga zrozumiana przez sieć co sprawiałoby, że potencjalny atakujący nie musiałby nawet zdobywać klucza prywatnego. Wystarczyłoby (znając protokół sieci bitcoin) nadawać pakietom/blokom flagę autoryzacji. Zupełnie nie rozumiem jak to działa. Czy taki fizyczny portfel chroni tylko przed keylogerami i tak czy siak muszę ufać aplikacji za pomocą której wysyłam tokeny?
3. Portfele.
3a. Czytałem na forum kilka wątków w których użytkownicy mieli problem z przejściem na inny portfel (czy może należałoby powiedzieć na innego klienta portfela bitcoin?) nawet posiadając wygenerowane losowe słowa (seed?) Przecież teoretycznie wszystko powinno działać tak samo na wszystkich aplikacjach. Czasem nawet mowa jest o różnej liczbie słów (od 12 do 24 a nawet w którymś z wątków przewinęła się chyba większa liczba.) Skąd takie rozbieżności?
3b. Czy instalowanie portfeli programowych na telefonie z odblokowanym bootloaderem oraz z dostępem do root wiąże się z poważnym obniżeniem bezpieczeństwa? Pragnę nadmienić, iż w moim przypadku wgrany system to oficjalny build ze strony producenta (tyle że dla innego kraju) oraz, że dostęp do root ma tylko 5 otwarto-źródłowych aplikacji (AdAway – bloker reklam, AFWall – zapora sieciowa, Amaze – menadżer plików, OandBackup – nazwa mówi sama za siebie oraz Magisk do obsługi root). Większość aplikacji producenta usunięta lub zablokowana na firewallu, wszystko co nie musi łączyć się z siecią zablokowane, na telefonie głównie oprogramowanie open source z Fdroid, żadnych gier sieciowych poza szachami (również open source), żadnych aplikacji "pirackich" ani tego typu syfu.
3c. Czy używanie portfela programowego (np. Green) współpracującego z urządzeniami typu Ledger, Trezor, nie posiadając takowych urządzeń, ma sens w sytuacji gdy ma się w perspektywie ewentualne zakupienie któregoś z nich w przyszłości? Innymi słowy, czy posiadanie "bezpiecznego" portfela (soft + hardware) możliwe jest tylko gdy od samego początku współpracują razem czy w momencie sparowania w jakiś magiczny sposób bezpieczeństwo portfela wzrośnie?
Z góry dzięki za odpowiedź.
Wybaczcie, trochę się rozpisałem.
W związku z tym chciałbym zadać kilka pytań, które kołaczą mi się w głowie jako nowicjuszowi.
1. Generowanie papierowego portfela.
1a. W skrypcie generującym portfel BTC jest rubryka dotycząca ich liczby. Ile powinienem wygenerować portfeli i dlaczego tyle? Czy to tylko kopie, które można schować w różnych miejscach czy utworzenie większej liczby niesie za sobą jakieś inne konsekwencje? Na oko hashe wyglądają podobnie lecz nie są identyczne. Czy są one ze sobą powiązane czy to po prostu zupełnie niezależne portfele?
1b. Jakie opcje wybrać podczas generowania (dodatkowe szyfrowanie itp.) i co się z nimi wiąże? Zakładam, że gdyby dodatkowe szyfrowanie niosło za sobą same korzyści byłoby obligatoryjne a nie jest. Na forum czytałem kilka wątków, w których bardziej przysporzyło ono kłopotów i niezbędne było przeprowadzenie jakiejś translacji na inne szyfrowanie lub klucz nieszyfrowany (nie mam pewności czy poprawnie zrozumiałem tamte dyskusje).
1c. Dlaczego przy generowaniu portfela "paper wallet" za pomocą skryptu nie widać nigdzie zestawu 12(?)/18(?)/24(?) losowych słów? Jest tylko klucz publiczny i klucz prywatny. Wydawało mi się, że te słowa są potrzebne żeby w razie czego zaimportować portfel w aplikacji online lub w razie czego odzyskać go na wypadek utraty klucza. Czy słowa są wyłącznie obsługiwane przez aplikacje, czy mają również jakąś obsługę w protokole?
1d. Co sądzicie o brain wallet? (mogę tu wpisać na przykład jakiś odjechany wiersz swojego autorstwa i znając go będę mógł zawsze dostać się do swojego portfela, tak? Czy to może być bezpieczne? Jeśli użyję na przykład słów w języku innym niż angielski albo w kilku językach, powinno być to chyba podobnie przewidywalne co losowe słowa angielskie? Zauważyłem też, że można wpisywać znaki regionalne czyli kodowanie jest jakieś UTC. A może to tylko pole tekstowe pozwala wpisywać litery ze znakami diakrytycznymi czy nawet znaki niełacińskie bo skrypt na przykład nie ma obsłużonego takiego wyjątku a generator hasha tego nie łyknie/podmieni je na łacińskie albo coś się zrypie? Ktoś coś na ten temat? Gdzie w razie utraty klucza należy użyć słów? (w oficjalnym generatorze z GitHub nie widzę takiej opcji)
1.e Zakładka Vanity Wallet. Czytałem o tym na wiki bitcoina ale jakoś nie trafia to do mnie. To coś w rodzaju używania kilku kluczy prywatnych aby odzyskać docelowy klucz prywatny na którym są środki? Na przykład żeby wydać środki trzeba transakcję potwierdzić kilkoma kluczami prywatnymi czy/lub jednym kluczem ale chronionym przez kilka innych prywatnych?
2. wydawanie środków
2a. Czym tak naprawdę różni się sweep od wysłania środków i zaimportowania portfela w aplikacji?
2b. Czy po sweep z portfela źródłowego nadal można bezpiecznie korzystać, czy może jest to równoznaczne z migracją z jednego klucza prywatnego na inny gdyż klucz prywatny został już wpisany w jakiejś aplikacji online w celu autoryzacji?
2c. Czy opcja sweep zawsze wiąże się z przesłaniem całych środków?
2d. Czy po przesłaniu całości środków za pomocą sweep mogę nadal "przelewać" na źródłowe "konto" (klucz publiczny powiązany z źródłowym kluczem) czy należy założyć nowy portfel?
2e. Czy pierwsze przelanie środków z papierowego na inny portfel wiąże się z trwałym obniżeniem poziomu bezpieczeństwa tego pierwszego? W końcu aby dokonać transakcji muszę być online oraz muszę uwierzytelnić ją kluczem prywatnym znajdującym się na kartce papieru. Innymi słowy muszę wpisać/wkleić/zeskanować klucz prywatny do jakiejś aplikacji połączonej z siecią w związku z czym po dokonaniu transakcji klucz prywatny staje się równie (nie)bezpieczny co taki, który od początku został wygenerowany online. Jeśli portfel "papierowy" jest bezpieczny tylko przy ruchu w jedną stronę (transakcje przychodzące) stanowiłoby to dość poważną niedogodność. Jeśli tak to jak to ominąć?
2f. Podobnie w przypadku klucza fizycznego. Czy powinien on służyć wyłącznie do gromadzenia środków? Przecież mamy tu podobną sytuację co w przypadku portfela papierowego. Sieć podczas przelewu wychodzącego wymaga autoryzacji kluczem prywatnym. Nawet jeśli jest on przechowywany na urządzeniu chronionym pinem nadal klucz musi trafić jakoś do aplikacji podłączonej do sieci. Natomiast gdyby podpisywanie transakcji następowało w samym urządzeniu, transakcji musiałaby zostać nadana jakaś flaga zrozumiana przez sieć co sprawiałoby, że potencjalny atakujący nie musiałby nawet zdobywać klucza prywatnego. Wystarczyłoby (znając protokół sieci bitcoin) nadawać pakietom/blokom flagę autoryzacji. Zupełnie nie rozumiem jak to działa. Czy taki fizyczny portfel chroni tylko przed keylogerami i tak czy siak muszę ufać aplikacji za pomocą której wysyłam tokeny?
3. Portfele.
3a. Czytałem na forum kilka wątków w których użytkownicy mieli problem z przejściem na inny portfel (czy może należałoby powiedzieć na innego klienta portfela bitcoin?) nawet posiadając wygenerowane losowe słowa (seed?) Przecież teoretycznie wszystko powinno działać tak samo na wszystkich aplikacjach. Czasem nawet mowa jest o różnej liczbie słów (od 12 do 24 a nawet w którymś z wątków przewinęła się chyba większa liczba.) Skąd takie rozbieżności?
3b. Czy instalowanie portfeli programowych na telefonie z odblokowanym bootloaderem oraz z dostępem do root wiąże się z poważnym obniżeniem bezpieczeństwa? Pragnę nadmienić, iż w moim przypadku wgrany system to oficjalny build ze strony producenta (tyle że dla innego kraju) oraz, że dostęp do root ma tylko 5 otwarto-źródłowych aplikacji (AdAway – bloker reklam, AFWall – zapora sieciowa, Amaze – menadżer plików, OandBackup – nazwa mówi sama za siebie oraz Magisk do obsługi root). Większość aplikacji producenta usunięta lub zablokowana na firewallu, wszystko co nie musi łączyć się z siecią zablokowane, na telefonie głównie oprogramowanie open source z Fdroid, żadnych gier sieciowych poza szachami (również open source), żadnych aplikacji "pirackich" ani tego typu syfu.
3c. Czy używanie portfela programowego (np. Green) współpracującego z urządzeniami typu Ledger, Trezor, nie posiadając takowych urządzeń, ma sens w sytuacji gdy ma się w perspektywie ewentualne zakupienie któregoś z nich w przyszłości? Innymi słowy, czy posiadanie "bezpiecznego" portfela (soft + hardware) możliwe jest tylko gdy od samego początku współpracują razem czy w momencie sparowania w jakiś magiczny sposób bezpieczeństwo portfela wzrośnie?
Z góry dzięki za odpowiedź.
Wybaczcie, trochę się rozpisałem.