Klienci SPV [ot z innego wątku]

Weteran
Posty: 2518
Rejestracja: 21 marca 2014
Reputacja: 1468
Reputacja postu: 
0
Napiwki za post: 0 BTC

Klienci SPV [ot z innego wątku]

Postautor: The Real McCoin » czwartek, 23 marca 2017, 10:11

@asocjal, jak już tak lubisz wymyślać różne rzeczy to może byś wymyślił w jaki sposób lekki klient może się odpytać pełnego klienta o saldo w sposób prywatny, to znaczy, żeby lekki nie musiał podawać swojego adresu jawnie, a pełny nie wiedział co jest w zwracanym wyniku (kwota).

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Przechowalnia kluczy prywatnych

Postautor: rav3n_pl » czwartek, 23 marca 2017, 10:16

Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

Gaduła
Posty: 360
Rejestracja: 27 lipca 2013
Reputacja: 97
Reputacja postu: 
1
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: asocjal » czwartek, 23 marca 2017, 10:30

The Real McCoin pisze: @asocjal, jak już tak lubisz wymyślać różne rzeczy to może byś wymyślił w jaki sposób lekki klient może się odpytać pełnego klienta o saldo w sposób prywatny, to znaczy, żeby lekki nie musiał podawać swojego adresu jawnie, a pełny nie wiedział co jest w zwracanym wyniku (kwota).
Lubię wymyślać, tylko nie umiem wczuć się w potencjalnego klienta. Za aplikację którą opisałem dałbym ze stówkę, ale pewnie jestem jedyny, bo zawsze mam nietypowe potrzeby i idę pod prąd.

Uważam, że w przypadku BTC gdzie transakcje są jawne to jest niemożliwe. Pełen klient zawsze wie co zwraca. Może co najwyżej nie umieć rozszyfrować treści, ale w BTC dane są niezaszyfrowane. Można co najwyżej kazać mu zwrócić większą ilość danych, gdzie reszta pełniłaby rolę szumu. Tyle tylko, że sama idea SPV i pomysł, żeby Bitcoin z systemu P2P stał się de facto systemem klient-server uważam za drogę donikąd i ślepą uliczkę.

Z resztą miałem już o tym ożywioną dyskusję z @pm7. Przykro mi to pisać, bo broniłem Bitcoina od wielu lat, ale gdy Segwit nie przeszedł zrozumiałem, że Bitcoin to niestety prototyp, który nie wytrzyma starcia z bardziej nowoczesnymi rozwiązaniami.

Tym bardziej, że jest możliwość stworzenia waluty w której niepotrzebny będzie podział na ciężki i lekki klient i lepiej, żeby to poszło tą drogą. Lepiej nadal zostać przy architekturze P2P, lepiej być własnym bankiem.

@rav3n_pl Z tego co ja o tym wyczytałem bloom filter nie rozwiązuje tego problemu w sposób zadowalający

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
1
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Przechowalnia kluczy prywatnych

Postautor: rav3n_pl » czwartek, 23 marca 2017, 12:10

Blooma można zaciemnić, dodając do zapytania nie swój adres/adresy o którym wiemy, że "coś" ma. Dodatkowo ilość "false positive" czyli "gęstość" filtra również może być regulowana w pewnym zakresie.
Kosztem obciążenia i ilości przesyłanych danych można zwiększyć prywatność.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

Weteran
Posty: 2518
Rejestracja: 21 marca 2014
Reputacja: 1468
Reputacja postu: 
0
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: The Real McCoin » czwartek, 23 marca 2017, 20:36

asocjal pisze: Uważam, że w przypadku BTC gdzie transakcje są jawne to jest niemożliwe. Pełen klient zawsze wie co zwraca. Może co najwyżej nie umieć rozszyfrować treści, ale w BTC dane są niezaszyfrowane. Można co najwyżej kazać mu zwrócić większą ilość danych, gdzie reszta pełniłaby rolę szumu. Tyle tylko, że sama idea SPV i pomysł, żeby Bitcoin z systemu P2P stał się de facto systemem klient-server uważam za drogę donikąd i ślepą uliczkę.
Nie mówię tu nawet o jakiejś konkretnej walucie.
Widziałbym to tak: lekki klient na podstawie adresu A tworzy ciąg bajtów B i wysyła go do pełnego klienta. B nie pozwala pełnemu na powiązanie B z A. Pełny bierze ten ciąg i przetwarza go na całym łańcuchu w sposób kryptomagiczny. Po tym przetworzeniu pełnemu pozostaje ciąg C, który odsyła do lekkiego. Lekki klient zamienia C w saldo.

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Przechowalnia kluczy prywatnych

Postautor: rav3n_pl » czwartek, 23 marca 2017, 22:07

Przecież tak działa filtr Blooma. Z grupy adresów robiona jest maska na podstawie której pełny filtruje wszystkie pasujące salda i odsyła do SPV.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

Weteran
Posty: 2518
Rejestracja: 21 marca 2014
Reputacja: 1468
Reputacja postu: 
0
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: The Real McCoin » piątek, 24 marca 2017, 20:06

rav3n_pl pisze: Przecież tak działa filtr Blooma. Z grupy adresów robiona jest maska na podstawie której pełny filtruje wszystkie pasujące salda i odsyła do SPV.
To jest tylko atrapa, niedoskonała zabawka.
W moim przykładzie osiągane jednocześnie są dwa maksima:
  1. maksymalizacja rozmiaru zbioru anonimizującego
  2. maksymalizacja oszczędności transferu danych
Filtr Blooma nie może tego zrealizować.

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

Przechowalnia kluczy prywatnych

Postautor: pm7 » sobota, 25 marca 2017, 10:35

The Real McCoin pisze: To jest tylko atrapa, niedoskonała zabawka.
Filtr Blooma działa. Ty sobie życzeniowo napisałeś o nieistniejących mechanizmach, które może i by się nieźle sprawdziły, ale cóż... nie istnieją.

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Przechowalnia kluczy prywatnych

Postautor: rav3n_pl » sobota, 25 marca 2017, 10:45

The Real McCoin pisze: maksymalizacja rozmiaru zbioru anonimizującego
maksymalizacja oszczędności transferu danych
Nie do pogodzenia.
Skoro chcesz ukryć prawdziwe zapytanie, musisz wprowadzić "szum" - pobrać więcej informacji niż faktycznie potrzebujesz.
To realizują filtry Blooma, które możesz "dostroić" - albo więcej odpowiedzi i większa anonimowość, albo lepsze filtrowanie ale wiadomo o co chodzi.
Zasadniczą rolą filtrów jest małe zapytanie i szybkie wyszukiwanie po stronie odpowiadającej.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

Weteran
Posty: 2518
Rejestracja: 21 marca 2014
Reputacja: 1468
Reputacja postu: 
0
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: The Real McCoin » sobota, 25 marca 2017, 14:28

rav3n_pl pisze: Nie do pogodzenia.
Twórcy nowych kryptowalutowych rozwiązań pewnie często słyszeli takie stwierdzenia.
Gdyby w transakcji zapisywać o kwotach dodatkowe dane i później stosować szyfrowanie homomorficzne to może dałoby się coś zrobić.

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Re: Przechowalnia kluczy prywatnych

Postautor: rav3n_pl » sobota, 25 marca 2017, 14:38

W bloku powinna być zapisywana minimalna, niezbędna ilość informacji.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

Gaduła
Posty: 360
Rejestracja: 27 lipca 2013
Reputacja: 97
Reputacja postu: 
0
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: asocjal » wtorek, 28 marca 2017, 20:45

The Real McCoin pisze:
rav3n_pl pisze: Nie do pogodzenia.
Twórcy nowych kryptowalutowych rozwiązań pewnie często słyszeli takie stwierdzenia.
Gdyby w transakcji zapisywać o kwotach dodatkowe dane i później stosować szyfrowanie homomorficzne to może dałoby się coś zrobić.
Jasne tylko jeśli miałbyś zrobić pod to nową walutę, to i tak mija się z celem moim zdaniem jako że waluty powinny być peer-to-peer a nie client-server.

Weteran
Posty: 2518
Rejestracja: 21 marca 2014
Reputacja: 1468
Reputacja postu: 
0
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: The Real McCoin » wtorek, 28 marca 2017, 23:09

rav3n_pl pisze: W bloku powinna być zapisywana minimalna, niezbędna ilość informacji.
... minimalna, niezbędna ilość informacji do realizacji zamierzonych celów.
asocjal pisze: Jasne tylko jeśli miałbyś zrobić pod to nową walutę, to i tak mija się z celem
Do tego powinna być jeszcze oczywiście możliwość wykonania prywatnej transakcji lekkim klientem.
asocjal pisze: moim zdaniem jako że waluty powinny być peer-to-peer a nie client-server.
Co to znaczy "peer-to-peer" w kontekście kryptowaluty?

Gaduła
Posty: 360
Rejestracja: 27 lipca 2013
Reputacja: 97
Reputacja postu: 
1
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: asocjal » środa, 29 marca 2017, 11:07

The Real McCoin pisze: Co to znaczy "peer-to-peer" w kontekście kryptowaluty?
Jak dla mnie peer-to-peer oznacza, że mój portfel powinien być pełnoprawnym nodem sieci i partycypować w niej na takich samych zasadach co inne porftele czy nody. Innymi słowy - portfel powinien coś dawać i coś odbierać. Albo wprost - dostaje transakcje, dostaje bloki a w zamian również rozsyła transakcje i bloki do innych.

Natomiast SPV jak sądzę wziął się z tego, że Bitcoinowy blockchain ma już ponad 100GB i siłą rzeczy mało kto ma ochotę coś takiego utrzymywać. Podobnie wymagania co do transferu danych są odpowiednio duże, bo musisz odbierac bloki jak i wszystkie transakcje w sieci. Stąd podział na lekkie portfele i ful nody, które miałyby jakoby świadczyć dla lekkich portfeli usugę. To typowa architektura client-server. Serwerem jest co prawda sieć pełnych węzłów, ale to nie zmienia istoty rzeczy.

Powinno być tak, że nowi użytkownicy zwiększają decentralizację, a teraz sprawa będzie szła raczej w druga stronę. Nowy użytkownik z lekkim portfelem nie partycypuje w sieci, nie zwiększa decentralizacji a nawet ją zmniejsza bo jego transakcje zwiększają blockchaina.

Oprócz tego oczekuje od pełnych nodów świadczenia takich usług jak SPV. Oczywiście prędzej czy później stanie się to płatne. Do tego limity na ilość zapytań pewnie będą, a i tak ryzykujesz, że node Cię oszuka i nie zwróci poprawnej wartości (twierdząc, że np. transakcji, której szukasz nie ma). Więc musiałbyś odpytac kilka nodów, a skąd wiesz, że nie są wirtualne i wszystkie nie oszukują? Ogólnie masa problemów i w ogóle tego nie widzę. Tym bardziej, że na horyzoncie sa lepsze rozwiązania.

PS: Mogę prosić admina o przeniesienie całej tej dyskusji dotyczącej SPV do nowego wątku? Nijak się ma do tematu wątku, którym jest sprawa zebepieczania kluczy prywatnych?

Weteran
Posty: 2518
Rejestracja: 21 marca 2014
Reputacja: 1468
Reputacja postu: 
0
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: The Real McCoin » środa, 29 marca 2017, 22:29

asocjal pisze: ak dla mnie peer-to-peer oznacza, że mój portfel powinien być pełnoprawnym nodem sieci i partycypować w niej na takich samych zasadach co inne porftele czy nody. Innymi słowy - portfel powinien coś dawać i coś odbierać. Albo wprost - dostaje transakcje, dostaje bloki a w zamian również rozsyła transakcje i bloki do innych.
Chyba mylisz kryptowalutę z torrentami.
Kryptowaluta to coś więcej niż tylko dzielenie się "filmami". Ona zawiera w sobie zdecentralizowany system produkujący "filmy" (monety) i pilnujący, żeby nikt ich nie piracił (podwójnie wydanie).
Istotne jest, żeby ten właśnie system zabezpieczający był zdecentralizowany, bo na co komu sieć 5 tysięcy węzłów, z których tylko jeden realizuje "proof of work"?
Satoshiemu ten system zabezpieczający wyszedł bardzo słabo. Obecnie teoretycznie 5 węzłów ma więcej niż 50% mocy haszowania, a 10 węzłów ma więcej niż 75% mocy.
asocjal pisze: Natomiast SPV jak sądzę wziął się z tego, że Bitcoinowy blockchain ma już ponad 100GB i siłą rzeczy mało kto ma ochotę coś takiego utrzymywać.
O SPV jest już mowa w white paperze z 2008 roku.
asocjal pisze: Powinno być tak, że nowi użytkownicy zwiększają decentralizację, a teraz sprawa będzie szła raczej w druga stronę. Nowy użytkownik z lekkim portfelem nie partycypuje w sieci, nie zwiększa decentralizacji a nawet ją zmniejsza bo jego transakcje zwiększają blockchaina.
Chcesz kazać każdemu użytkownikowi kopać solo? Po co miałby to robić jak pewnie i tak by nic nie wykopał.
Żeby coś zyskać musiałby kopać na rzecz jakiejś kopalni i dostać coś od niej proporcjonalnie do wykonanej pracy.
Ale w ten sposób to użytkownik będzie się raczej dokładał co centralizacji a nie decentralizacji.
Zobacz jak to jest w IOTA. Tam ilość pracy do wykonania zmniejszono tak bardzo, że można zmusić do tego każdego, kto chce utworzyć transakcję, a cała sieć będzie tym bardziej bezpieczna im większy będzie przepływ transakcji.
asocjal pisze: Oczywiście prędzej czy później stanie się to płatne.
Mogło by być tak, że zwykłe sprawdzenie salda jest darmowe (albo bardzo tanie) a płatne jest anonimowe.
asocjal pisze: ryzykujesz, że node Cię oszuka i nie zwróci poprawnej wartości
Bezpieczeństwo gwarantowałaby kryptomagia. Dodatkowe niejawne dane o kwotach zostawiane w transakcjach, szyfrowanie homomorficzne, itp.
asocjal pisze: Tym bardziej, że na horyzoncie sa lepsze rozwiązania.
Jakie masz na myśli?

Gaduła
Posty: 360
Rejestracja: 27 lipca 2013
Reputacja: 97
Reputacja postu: 
0
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: asocjal » czwartek, 30 marca 2017, 10:24

@The Real McCoin Kopanie to nie wszystko i pisząc "pełny portfel" albo "pełny node" nie mam na myśli kopania tylko raczej możliwość weryfikacji przychodzących transakcji jak i ich rozsyłania.

Jeśli masz nawet tylko 5 kopalni, ale za to 1000 pełnych węzłów, to one są w stanie zweryfikować przychodzące bloki. Jeśli 3 spośród 5 kopalni zacznie nagle wykopywać po 100BTC na blok zamiast umówionych 12.5, to te 1000 węzłów odrzuci taki blok.

A co się stanie gdy taka sama sytuacja wystąpi, gdy te 1000 pełnych węzłów używa SPV? Będą w stanie zweryfikować czy kopane bloki są poprawne?
Mogło by być tak, że zwykłe sprawdzenie salda jest darmowe (albo bardzo tanie) a płatne jest anonimowe.
Jaki interes właściciel pełnego noda miałby w świadczeniu darmowej usługi?
Bezpieczeństwo gwarantowałaby kryptomagia.
Jaka kryptomagia zabezpieczy Cię przed tym, że odpytasz czy dana transakcja znajduje się w blockchainie, a node skłamie, że nie?
Jakie masz na myśli?
Wszelkie rozwiązania, które dzielą blockchaina na kilka mniejszych. Mogą to być klasyczne sidechainy i przenoszenie między nimi coinów metodą two-way-peg. Może to być coś co ja nazwałem mini-chains i przenoszenie coinów dzięki użyciu Lightning Network. Z resztą taką możliwość potwierdził mi w mailu Rusty Russell i napisał nawet że Joseph Poon już w ramach LN przeprowadził operację transmisji środków pomiędzy różnymi testowymi blockchainami.

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

Przechowalnia kluczy prywatnych

Postautor: pm7 » czwartek, 30 marca 2017, 11:22

asocjal pisze: A co się stanie gdy taka sama sytuacja wystąpi, gdy te 1000 pełnych węzłów używa SPV? Będą w stanie zweryfikować czy kopane bloki są poprawne?
SPV nie wyłapią raczej takich rzeczy - one właśnie polegają na tym, że większość weryfikacji jest wykonywana przez pełne węzły. Otrzymując dużą płatność można poczekać na kilka potwierdzeń (kopalnie raczej nie będą ciągnąć łańcucha nieprawidłowych bloków).
asocjal pisze: Jaki interes właściciel pełnego noda miałby w świadczeniu darmowej usługi?
Jaki interes mają obecnie właściciele pełnych węzłów w rozsyłaniu otrzymanych bloków i transakcji? W udostępnianiu trzymanego zapisu historii bloków nowym węzłom próbującym wykonać pierwszą synchronizację?
asocjal pisze: Jaka kryptomagia zabezpieczy Cię przed tym, że odpytasz czy dana transakcja znajduje się w blockchainie, a node skłamie, że nie?
Można spytać kilka źródeł, jednak zwykle niezauważenie płatności przychodzącej nie jest olbrzymim ryzykiem.

Gaduła
Posty: 360
Rejestracja: 27 lipca 2013
Reputacja: 97
Reputacja postu: 
0
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: asocjal » czwartek, 30 marca 2017, 18:35

@pm7, @rav3n_pl - Mógłbym Was prosić o wydzielnie tego wątku? Robi się niepotrzebny burdel, temat nijak ma się do treści. Poza tym może ktoś będzie chciał się wypowiedzieć w sprawie głównego tematu. To tak dużo roboty wydzielić całą dyskusję o SPV do nowego wątku?

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14346
Rejestracja: 16 kwietnia 2012
Reputacja: 2639
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Przechowalnia kluczy prywatnych

Postautor: rav3n_pl » czwartek, 30 marca 2017, 18:49

asocjal pisze: To tak dużo roboty
użyć przycisku "zgłoś post" i napisać do modów w ten sposób?
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.25
Linki do YT, TT, LI i reszty

Gaduła
Posty: 360
Rejestracja: 27 lipca 2013
Reputacja: 97
Reputacja postu: 
0
Napiwki za post: 0 BTC

Przechowalnia kluczy prywatnych

Postautor: asocjal » czwartek, 30 marca 2017, 20:39

pm7 pisze: Jaki interes mają obecnie właściciele pełnych węzłów w rozsyłaniu otrzymanych bloków i transakcji? W udostępnianiu trzymanego zapisu historii bloków nowym węzłom próbującym wykonać pierwszą synchronizację?
Dobre pytanie i sam nie wiem do końca, zwłaszcza w kontekście pierwszej synchronizacji. Jednak już później, przy normalnej wymianie bloków i transakcji, wydaje mi się, że przede wszystkim taki, że relacja z innymi węzłami to jednak pewna forma współpracy. Dziś ja wyślę blok Tobie, jutro Ty wyślesz mi.
pm7 pisze: Można spytać kilka źródeł, jednak zwykle niezauważenie płatności przychodzącej nie jest olbrzymim ryzykiem.
System nie powinien działać w ten sposób. To jak napisać, że Android się wiesza, ale przecież zawsze możesz zresetować urządzenie, więc to nie jest dużym problemem.
rav3n_pl pisze: użyć przycisku "zgłoś post" i napisać do modów w ten sposób?
Zrobione :). Sorry, nie wiedziałem że taka jest procedura działania w takich sytuacjach.

Wróć do „Projekty związane z Bitcoin”

Kto jest online

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