Bitcoin Forum

Local => Polski => Topic started by: cygan on June 20, 2020, 07:54:26 AM



Title: Jak rozpoznac adresy SegWit?
Post by: cygan on June 20, 2020, 07:54:26 AM

oryginalny watek (https://bitcointalk.org/index.php?topic=5133875.0) znajduje sie w czesci niemieckiej i zostal stworzony przez 1miau (https://bitcointalk.org/index.php?action=profile;u=2143453). dzieki jego pozwoleniu, udalo mi sie przetlumaczyc ten watek na polski


Co to jest SegWit?

Od lata 2017 dostepne sa tzw. Bitcoin SegWit adresy. SegWit to jest Bitcoin Soft-Fork, ktory jest srodkiem przeciwko problemowi skalowania Bitcoin.
SegWit znaczy Segregated Witness i jednoczesnie opisuje zawartosc tego soft-forku. Tak zwane dane Witness sa oddzielane od rzeczywistej transakcji (segregated), a nastepnie kompresowane i ponownie dolaczane do transakcji.
To oznacza, ze wiecej transakcji moze byc przechowywanych w jednym bloku. Normalnie, bloki Bitcoina sa ograniczone do 1 MB, przez SegWit bloki moga stac sie (ogranicznie) wieksze.
Ponadto SegWit rozwiazuje problem odksztalcalnosci transakcyjnej (transaction malleability), co umozliwia Second-Layer-Rozwiazan, takich jak Lightning-Network.

W bezposrednim zastosowaniu SegWit transakcje przynosza nizsze koszty transakcyjne w porownaniu z tradycyjnymi adresami.



Jak rozpoznac adresy SegWit?

Ze czesto jest pomylenie, ktore adresy Bitcoina to SegWit, oto kilka wskazowek, jak sie dowiedziec tego:

Istnieja rozne formaty adresow i czesciowo powoduje to rozne poczatki adresow:

PrefiksNazwaFormat
__________________________________________________________________________________________________________ _____________
1…Adres LegacyP2PKH (pay to public key hash)
3…Adres nested SegWitP2WPKH-P2SH (pay to witness public key hash - pay to script hash) / P2WSH-P2SH (pay to witness script hash - pay to script hash)
3…Adres MultisignaturP2SH (pay to script hash)
bc1q…Adres native SegwitP2WPKH-bech32 (pay to witness public key hash) / P2WSH-bech32 (pay to witness script hash)

1... Adresy zaczynające się z 1 sa standardowymi Bitcoin adresami i nigdy SegWit
3... Adresy zaczynające sie z 3, moga byc SegWit, ale nie musza byc. Mozesz to zobaczyc tylko wtedy, gdy analizujac w wyslaniu Bitcoin z tego adresu dane wychodzace.
bc1q... Adresy zaczynajace sie z bc1q to zawsze SegWit.


Wiec podczas gdy adresy z 1... wiesz, ze nigdy nie sa SegWit, a adresy z bc1q wiesz, ze zawsze sa SegWit, adresy z 3... musza najpierw przeanalizowaa transakcje wychodzaca, aby dowiedziec sie czy jest to SegWit.
Mozna sie o tym dowiedziec na wszystkich Blockexplorach, ktore wymieniaja dane Witness, tak jak na przyklad:


Na Blockchair.com (https://blockchair.com):

SegWit: https://blockchair.com/bitcoin/transaction/db6d2b441a5964cd4c3ccdb7316738b020def1fdf2726201f07cc74016844e50
Zaden SegWit: https://blockchair.com/bitcoin/transaction/b4262cc5ac3be3899c6d840408eb4252c150bdf82534921360aa5946ded9d62a

(zpradwdza has witness data?)

https://i.imgur.com/1UJt3b2.jpg  https://i.imgur.com/uhdCszK.jpg
SegWit Zaden SegWit
_______________________________________________________________________________________________________________________________


Albo na BTC.com (https://btc.com/):

SegWit: https://btc.com/db6d2b441a5964cd4c3ccdb7316738b020def1fdf2726201f07cc74016844e50
Zaden SegWit: https://btc.com/b4262cc5ac3be3899c6d840408eb4252c150bdf82534921360aa5946ded9d62a

https://i.imgur.com/Xv5GoFu.jpg SegWit (witness)

https://i.imgur.com/3UjzS1n.jpg Zaden SegWit (zaden witness)





Gdzie mozna stworzyc adresy SegWit?


Istnieje kilka sposobow na stworzenie adresu SegWit, oto kilka do wyboru:

Electrum: File > New / Restore > Wybierz nazwe > Standard wallet > create new seed > Wybierz Seed-Typ “SegWit” > Zanotuj Seed > Potwierdzij Seed > Wybierz haslo > gotowe.

SegWitAddress.org (https://segwitaddress.org/): z Github (https://github.com/coinables/segwitaddress) pobrac i uruchomic w trybie offline, Wybor miedzy Segwit P2SH i bech32.

VanitySearch (https://bitcointalk.org/index.php?topic=5112311.0) > indywidualny generator adresow (jak VanityGen) dla Segwit P2SH i bech32.


Title: Re: Jak rozpoznac adresy SegWit?
Post by: wwzsocki on June 20, 2020, 04:18:05 PM
EDIT

Oczywiście bardzo fajnie, że wrzucasz nowe tłumaczenia i coś robisz na naszym lokalu, za to masz u mnie zawsze dużego plusa i wsparcie...

...Przyzwyczaiłem się do wątków bardzo wysokiej jakości i praktycznie idealnych tłumaczeń na naszym lokalu, więc mam nadzieję, że moja szczera opinia nie zostanie źle odebrana.


Title: Re: Jak rozpoznac adresy SegWit?
Post by: cygan on June 20, 2020, 06:19:54 PM
@wwzsocki
jest wszystko okay i ciebie rozumiem 💪👍
ja probuje wszystko bez zadnej pomocy przetlumaczac i dlatego tez brak polskich liter w mojich przetlumaczeniach
i tez szczery bede ze mi nieraz brak polskich slow w tym wszystkim (jak temat jest specjalny)

sprobuje znalesc bledy i sprobuje tez je poprawic ;)


Title: Re: Jak rozpoznac adresy SegWit?
Post by: malevolent on June 21, 2020, 12:08:23 AM
Są narzędzia, które pokazują np. błędy ortograficzne, 'znaleźć' zamiast 'znalesc' powinno być dla przykładu. Nazwy adresów w tabelce też są niefortunne, ani to po polsku, ani po angielsku.


Title: Re: Jak rozpoznac adresy SegWit?
Post by: cygan on June 21, 2020, 05:50:36 AM
koledzy, przysięgam na poprawę moich niemiecko-polskich tłumaczeń :-*


Title: Re: Jak rozpoznac adresy SegWit?
Post by: Tytanowy Janusz on June 21, 2020, 06:10:41 AM
Dzięki za tłumaczenie. Co do poprawności ortograficznej/interpunkcyjnej to ja zawsze przekopiowuję każdy post do https://www.ortograf.pl/sprawdzanie-pisowni-angielskiej . Nie ma nic gorszego niż po wypisaniu listy argumentów za i przeciw w ciekawym temacie otrzymać odpowiedź "kup sobie słownik" od swojego rozmówcy :) A błędy się zdarzają każdemu.

A od czego zależy rozmiar transakcji? Ostatnio przelewałem bitcoiny na giełdę i tam, gdzie 1 portfel pokazywał opłatę 70zł (100 sat/byte) (segwit) tam drugi pokazywał 20 zł (100sat/byte)(legacy). Transfer zawierał taką samą ilość BTC i transer miał być przesłany na ten sam adres skąd więc aż tak wielkie różnice w ilości byte?
Albo kolejny przykład. Wysłałem 2 transfery z 1 portfela na drugi (oba adresy bez zmian w obu transakcjach) w odstępie 8-minutowym. Jeden zajął 960 byte a drugi 1400 byte


Title: Re: Jak rozpoznac adresy SegWit?
Post by: Rath_ on June 21, 2020, 12:22:36 PM
A od czego zależy rozmiar transakcji? Ostatnio przelewałem bitcoiny na giełdę i tam, gdzie 1 portfel pokazywał opłatę 70zł (100 sat/byte) (segwit) tam drugi pokazywał 20 zł (100sat/byte)(legacy). Transfer zawierał taką samą ilość BTC i transer miał być przesłany na ten sam adres skąd więc aż tak wielkie różnice w ilości byte?
Albo kolejny przykład. Wysłałem 2 transfery z 1 portfela na drugi (oba adresy bez zmian w obu transakcjach) w odstępie 8-minutowym. Jeden zajął 960 byte a drugi 1400 byte

Rozmiar transakcji zależy od liczby wejść (inputs) i wyjść (outputs). Wyjścia składają się z adresów oraz ilości monet, które mają trafić na dany adres. Wejścia to tak naprawdę wyjścia, które pojawiły się już w jakiejś transakcji (UTXO (https://learnmeabitcoin.com/guide/utxo)). Każdy typ adresu zajmuje inną ilość miejsca, co może przekładać się na oszczędności. Jeżeli nie masz nic przeciwko, to możesz mi przesłać ID tych transakcji i będę mógł Ci to dokładnie wytłumaczyć. Na razie podam ogólny przykład, nie zagłębiając się w obliczanie rozmiaru, a obrazując co go zwiększa.

Adam otrzymał kiedyś 2 transakcje - jedną o wartości 0,5 BTC, drugą 0,75 BTC. Adam chce przesłać dokładnie 1 BTC innej osobie. W takim wypadku jego portfel musi wykorzystać w transakcji dwa wejścia (0,5 BTC oraz 0,75 BTC). Jednym z wyjść będzie 1 BTC z adresem innej osoby oraz 0,25 BTC minus opłaty transakcyjne, które trafi w zależności od ustawień portfela albo na jeden z adresów wejść albo na zupełnie nowy adres należący od Adama. Łącznie nasza transakcja będzie posiadać 2 wejścia i 2 wyjścia. W przypadku gdyby Adam chciał przesłać wszystkie swoje monety do innej osoby, to liczba wyjść zmniejszyłaby się o 1. Wniosek: Im więcej wyjść i wejść, tym więcej trzeba zapłacić.

Należy wspomnieć, że po wprowadzeniu SegWit pojawiły się nowe jednostki opisujące rozmiar. Domyślny limit bloku to 1 MB (1 milion bajtów), zaś uwzględniając nowe jednostki jest to 1 vMB (1 milion wirtualnych bajtów).

Legacy input: 148 vbytes; Legacy output: 34 vbytes
Nested SegWit input: 93 vbytes; Nested SegWit output: 32 vbytes
Native SegWit input: 68 vbytes; Native SegWit output: 31 vbytes

Jak widać, oszczędności są największe dla osób wysyłających z adresów SegWit.

Jak można jeszcze zaoszczędzić? Zajrzyjcie do tego wątku (https://bitcointalk.org/index.php?topic=2848987.msg29228128#msg29228128) od LoyceV. Jeżeli otrzymaliście dużo mniejszych transakcji na Wasz adres, to warto przy średnich opłatach za transakcję wynoszących 1 sat/byte, przesłać wszystko nawet na dokładnie ten sam adres. W momencie gdy średnie opłaty wzrosną stukrotnie, zapłacicie tylko za jedno wejście, jeżeli nie otrzymacie już więcej transakcji.


Title: Re: Jak rozpoznac adresy SegWit?
Post by: malevolent on June 21, 2020, 10:25:50 PM
A od czego zależy rozmiar transakcji? Ostatnio przelewałem bitcoiny na giełdę i tam, gdzie 1 portfel pokazywał opłatę 70zł (100 sat/byte) (segwit) tam drugi pokazywał 20 zł (100sat/byte)(legacy). Transfer zawierał taką samą ilość BTC i transer miał być przesłany na ten sam adres skąd więc aż tak wielkie różnice w ilości byte?
Albo kolejny przykład. Wysłałem 2 transfery z 1 portfela na drugi (oba adresy bez zmian w obu transakcjach) w odstępie 8-minutowym. Jeden zajął 960 byte a drugi 1400 byte

Dla celów kalkulacji opłat liczy się wielkość wirtualna lub waga. Tu masz porównanie jakie transakcje są najtańsze, a jakie najdroższe: https://bitcoin.stackexchange.com/a/84375
Transakcje multisig są też droższe, każda płatność, którą przyjmujesz, nawet na ten sam adres sprawia, że przelewanie dalej środków z więcej niż jednej płatności jest co raz droższe, OP_RETURN i transakcje niestandardowe też zwiększa cenę.

tl;dr warto przenieść się na portfel z adresami zaczynającymi się od bc1

Nie polecam przesyłać wszystkiego ze wszystkich źródeł na jeden adres jeśli komuś zależy na prywatności, choć bez patrzenia jak robi się przelewy i tak równie dobrze można na jeden adres wysłać.


Title: Re: Jak rozpoznac adresy SegWit?
Post by: Tytanowy Janusz on June 23, 2020, 06:58:51 AM
@BitCryptex, @malevolent Dzięki. Wszystko jasne. Wpasowuje się to w moje obserwacje (portfel legacy opłata 20zł - uzasadnienie-kilka dużych transakcji przychodzących, max 2-3 wejścia. Portfel segwit - 70zł za transfer uzasadnienie-kilkadziesiąt wypłat z BTT i innych podobnych faucetów, prawdopodobnie z 30 wejść)
I świetny pomysł, by przy niskich opłatach konsolidować wejścia by obniżyć prowizje, gdy na BTC robi się gorąco. Z pewnością uratuje to gruby hajs liczony w setkach, gdy BTC będzie walczył z ATH i trzeba będzie na szybko skorzystać z BTC.