Zagadka związana z systemem LISK

Początkujący
Posty: 9
Rejestracja: 15 listopada 2017
Reputacja: 1
Reputacja postu: 
0
Napiwki za post: 0 BTC

Zagadka związana z systemem LISK

Postautor: Kobukai » wtorek, 21 listopada 2017, 20:22

Kilka miesięcy temu chciałem wysłać liski z Poloniex na Bitbay, niestaty podczas kopiowania adresu pominąłem pierwszą cyfrę, w efekcie czego liski znalazły się na adresie 1413250586232129033L zamiast na adresie: 11413250586232129033L.
Po kontakcie z obsługą giełdy pogodziłem się z faktem, że liski bezpowrotnie przepadły i ani ja ani nik inny nigdy nie będzie miał do nich dostępu. Oczywiście przez kilka dni codziennie sprawdzałem czy liski dalej leża na adresie i leżaly tam niezmiennie aż w końcu znudziło mi się sprwdzać. Ostatnio jednak z ciekawości wszedłem i ku mojemu zdziwieniu zobaczyłem, że ktoś wykonał przelew 1100 z pośród 1133 znajdujących się tam lisków.
Dotychczas rozumiałem to tak, że wysłałem liski na nieistniejący adres do którego giełda ani nikt inny nie posiada passphrase w związku z czym nie bedą w stanie nic zrobić, a liski na zawsze zostaną w systemie niczyje, zmiejszając tak jakby inflację, podobnie jak zagubione btc.
Jak każdy może sobie sprawdzić na explorerze: https://explorer.lisk.io/address/1413250586232129033L ktoś jednak zrobił z tego adresu przelew.
Tak więc zagadka, albo ja czegoś nie rozumiem. Skoro nie można w lisku tworzyć dowolnych adresów, ani nawet wybrać sobie pasphrasse to jakim cudem komuś gdzieś losowo wygenerowana pasphrasse wygenerowała prawie identyczny adress krótszy jedynie o pierwszą cyfrę? A może da się jakoś wygenerować adress jaki się chce?

Weteran
Awatar użytkownika
Posty: 1231
Rejestracja: 20 listopada 2017
Reputacja: 296
Reputacja postu: 
0
Napiwki za post: 0 BTC

Zagadka związana z systemem LISK

Postautor: hassejo » wtorek, 21 listopada 2017, 21:57

Kobukai pisze: Kilka miesięcy temu chciałem wysłać liski z Poloniex na Bitbay, niestaty podczas kopiowania adresu pominąłem pierwszą cyfrę, w efekcie czego liski znalazły się na adresie 1413250586232129033L zamiast na adresie: 11413250586232129033L.
Po kontakcie z obsługą giełdy pogodziłem się z faktem, że liski bezpowrotnie przepadły i ani ja ani nik inny nigdy nie będzie miał do nich dostępu. Oczywiście przez kilka dni codziennie sprawdzałem czy liski dalej leża na adresie i leżaly tam niezmiennie aż w końcu znudziło mi się sprwdzać. Ostatnio jednak z ciekawości wszedłem i ku mojemu zdziwieniu zobaczyłem, że ktoś wykonał przelew 1100 z pośród 1133 znajdujących się tam lisków.
Dotychczas rozumiałem to tak, że wysłałem liski na nieistniejący adres do którego giełda ani nikt inny nie posiada passphrase w związku z czym nie bedą w stanie nic zrobić, a liski na zawsze zostaną w systemie niczyje, zmiejszając tak jakby inflację, podobnie jak zagubione btc.
Jak każdy może sobie sprawdzić na explorerze: https://explorer.lisk.io/address/1413250586232129033L ktoś jednak zrobił z tego adresu przelew.
Tak więc zagadka, albo ja czegoś nie rozumiem. Skoro nie można w lisku tworzyć dowolnych adresów, ani nawet wybrać sobie pasphrasse to jakim cudem komuś gdzieś losowo wygenerowana pasphrasse wygenerowała prawie identyczny adress krótszy jedynie o pierwszą cyfrę? A może da się jakoś wygenerować adress jaki się chce?
Moim zdaniem niefortunnie trafiłeś.
Zresztą.. zobacz że passphrase każdej krypto ma swój wspólny element szyfrowania.
Tak wygląda LSK Adres od BB ; 6172777440806969933L (swoja droga, jak ktos ma nadmiar moze smialo tutaj puszczac)
Więc po prostu miałeś pecha... razy dwa. :(

Weteran
Awatar użytkownika
Posty: 3467
Rejestracja: 16 lutego 2014
Reputacja: 912
Reputacja postu: 
0
Napiwki za post: 0 BTC

Zagadka związana z systemem LISK

Postautor: Rumcajs » środa, 22 listopada 2017, 17:21

@bioly,
Ale to może się w ogóle utworzyć adres krótszy o 1 cyfre/litere ?
I co znaczy żeby dokonać transakcji wyjsciowej, to znaczy żeby wysłać ze swojego adresu nawet małą wypłate gdziekolwiek to wtedy zablokuje się możliwośc kolizji adresów tzn wygenerowania tego samego adresu przez kogoś nawet jesli na ten adres wpłyneły coiny to on bez wypłaty z niego jest traktowany jako nieistniejący ? Ale to i tak jak sie wyśle na jakis adres pomyłkowo to juz wypłaty się nie zrobi z niego bo brak dostępu ale moznaby w ten sposób zabezpieczyć swój istniejący adres Liska czy innego coina przed wygenerowaniem przez kogoś innego tego samego adresu ? Wiele osob robi cold wallety gdzie idzie tylko wpłata i nie ma wypłat, nie koniecznie liska ale innych coinów też i co jak ktoś wygeneruje sobie jakoś adres czyjegoś paperwaleta ?
Pytam z ciekawosci i nie wiem czy to dotyczy tylko Liska czy adresów innych coinów też ? Nie znam aż tak technikaliów blockchaina.

Weteran
Awatar użytkownika
Posty: 5083
Rejestracja: 14 marca 2011
Reputacja: 1663
Reputacja postu: 
0
Napiwki za post: 0 BTC

Zagadka związana z systemem LISK

Postautor: maky » środa, 22 listopada 2017, 17:35

Podpinam się. Kolizja? Krótszy adres? Dlaczego trzeba przeprowadzić transakcję aby zabezpieczyć? Proszę o rozwinięcie.
Bądź zmianą, którą prag­niesz uj­rzeć w świecie.

KURSYBTC - kursy BTC przeliczone na PLN/USD/EUR + alarmy; vultr.com - serwery pod masternody

Początkujący
Posty: 18
Rejestracja: 26 października 2013
Reputacja: 27
Reputacja postu: 
6
Napiwki za post: 0 BTC
Lokalizacja: Berlin

Zagadka związana z systemem LISK

Postautor: Mariuszeq » niedziela, 26 listopada 2017, 17:07

Ogólnie kwestia jest następująca, zacznijmy od tego jak jest generowany adres:
- potrzebujemy seed'a, ma on długość 32 bajtów (mogą to być losowe znaki, albo hash (SHA-265) naszego passphrase)
- z seed'a generowana jest para kluczy (prywatny i publiczny)
- z klucza publicznego generujemy hash (SHA-256)
- następnie bierzemy pierwsze 8 bajtów z tego hasha, odwracamy ich kolejność i to jest nasz adres

Pula dostępnych adresów to 2^64 = 18446744073709551616
Pula dostępnych kluczy publicznych to 2^256 = 115792089237316195423570985008687907853269984665640564039457584007913129639936

Więc w praktyce może się zdarzyć, że dwa różne klucze publiczne będą prowadziły do tego samego adresu. Odnośnie kolizji - jeśli wysłaliśmy LSK na jakiś adres, na przykład 11413250586232129033L - ten adres zawiera środki, ale nie ma w bazie przypisanego klucza publicznego. Więc teoretycznie jest możliwe znalezienie takiej pary kluczy prywatnego i publicznego, z której po przekształceniach opisanych wyżej powstanie ten sam adres, wtedy uzyskamy do niego dostęp. W praktyce jednak prawdopodobieństwo jest ogromnie małe (musimy sprawdzić znacznie więcej kombinacji niż 2^64).

Jeśli wysyłamy transakcje z adresu po raz pierwszy - powoduje to przypisanie naszego klucza publicznego do tego adresu, więc nawet jeśli ktoś znajdzie kolizję, nie będzie miał dostępu do środków ponieważ jego klucz publiczny będzie inny niż ten, który już jest do adresu przypisany.

pm7
Weteran
Posty: 7893
Rejestracja: 20 maja 2012
Reputacja: 969
Reputacja postu: 
0
Napiwki za post: 0 BTC

Zagadka związana z systemem LISK

Postautor: pm7 » niedziela, 26 listopada 2017, 21:02

Ciekawe. Zacytuję tu dwie wypowiedzi na ten temat (moje podkreślenia):
See https://forum.lisk.io/viewtopic.php?f=45&t=1085 (scroll down to the section "Any further comments about the address collision and how to fix/prevent it? (cc001)"). This is basically a workaround for a security problem caused by doubtful design decisions, as the address is only 64 bit long which can cause collisions. This means in LISK cold storage wallets are actually less secure than hot wallets... crazy but true ;-)
https://forum.lisk.io/viewtopic.php?f=45&t=1085
Any further comments about the address collision and how to fix/prevent it? (cc001)
In this case I make an exception and will answer the technical question.
Oliver is working extremely hard in order to get the code base to a higher standard, you can see how much he changed this week alone. He added static code analysis and corrected thousands of smaller things to make the code lint-free. Two days ago, he refactored large parts of the code, separating many different logic parts into single, individual files. He also constantly improved and expanded the test coverage so that we will have a full test suite in place in the future. These efforts will help us dramatically to find bugs, add new features, and maintain the code.

We will fix the address collision problem in two steps. To explain the problem; Lisk addresses are 8 byte big, while a Lisk public key is 32 byte big. That means there naturally are far more public keys in existence than addresses, that’s why it can happen that different public keys point to the same address. Theoretically that can also happen in Bitcoin, because AFAIK Bitcoin addresses are 24 byte. However, I think that this never happened before. At Nxt it already happened and is not a huge deal.

The first step involves the following; once someone initiates a transaction from the address, the public key is permanently being added to it. That means no one else, even with the same address (but different public/private key) can send funds from it. Cold wallets will not be entirely secure anymore in this case, even though an address collision is extremely rare.

The second step is a special transaction type, which will send LSK with a public key. This way someone can create a cold wallet and initialise it from the outside with a public key to make it entirely secure.

Wróć do „Lisk”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości