Płatności w stylu Type-42: Nowa era audytu i transparentności w blockchainie - rewolucja w fakturowaniu
W świecie blockchaina, innowacje pojawiają się co chwilę. Jednym z najnowszych trendów, który może zmienić sposób, w jaki przeprowadzamy płatności i monitorujemy transakcje, jest styl Type-42. Ten sposób płatności jest naprawdę interesującym podejściem do integracji między sklepami a klientami, a także do zapewniania transparentności i audytu w całym procesie. Jeśli prześledziłeś moje poprzednie wpisy, ten element będzie bardzo prosty do zrozumienia i sam zauważysz tę rewolucję w fakturowaniu.
Type-42 - to koncepcja płatności zaproponowana w ekosystemie Bitcoin (BSV), która oferuje nowy sposób obsługi płatności z bardziej zaawansowaną kontrolą audytu i rozliczania transakcji. W skrócie, Type-42 pozwala na tworzenie specjalnych transakcji, które są bezpośrednio powiązane z konkretnymi fakturami. W tym paradygmacie sklep i klient współdzielą wspólny adres płatności, który jest używany do rozliczenia konkretnej transakcji.

Jak powiązać fakturę z adresem?
W tradycyjnym fakturowaniu:
- System wystawia fakturę z numerem, np. FV/2025/001.
- Znany jest numer rachunku bankowego.
- Powiązanie "numer faktury --> numer rachunku" nie istnieje, rachunek zwykle wypisany jest na fakturze.
Jeśli baza się wywali, zostanie zanonimizowana albo oszust podstawi własny rachunek bankowy na takiej fakturze, to sama "faktura nie wie", jaki adres był z nią powiązany - czy podany numer rachunku w rzeczywistości należy do firmy, która wystawiła fakturę, musi być weryfikowane przez oba działy księgowości: A: Wysłaliście nam taki numer? B: Tak wysłaliśmy Wam taki numer. Odtworzenie historii wymaga zaufania do tego, że system księgowy nie pomylił się po drodze.
Brakuje czegoś prostego: aby numer faktury sam w sobie był kluczem do adresu, który można kryptograficznie odtworzyć, niezależnie od prywatnej bazy i wiedzy działu księgowości.
Krok po kroku: jak to działa koncepcyjnie
Rozłóżmy to na prosty scenariusz "sklep - klient".
1. Każdy ma swój klucz
- Sklep ma swój klucz prywatny: można go nazwać sklep_priv.
- Klient ma swój klucz prywatny: klient_priv.
Z każdego z nich można wyliczyć publiczny odpowiednik, czyli:
- sklep_pub = sklep_priv.public_key()
- klient_pub = klient_priv.public_key()
Publiczny klucz można wysłać mailem lub umieścić w QR‑kodzie - sam w sobie nie służy do wydania środków.
2. Wymiana publicznych kluczy
Sklep i klient wymieniają się tylko publicznymi kluczami:
- Sklep poznaje klient_pub.
- Klient poznaje sklep_pub.
Na tym etapie żadna strona nie zdradza swojego seeda i klucza prywatnego.
3. Pojawia się faktura
Sklep wystawia fakturę, np.:
- Numer: INV-2025-001.
- Kwota: 1000 satoshi
- Termin płatności itd.
Ten numer faktury staje się parametrem procedury Type‑42 - właśnie on powiąże adres płatności z dokumentem.
4. Obie strony liczą ten sam klucz potomny
Sklep lokalnie uruchamia algorytm:
- "Weź mój klucz prywatny sklep_priv, dołóż do tego publiczny klucz klienta klient_pub i ciąg znaków z faktury INV-2025-001. Przepuść wszystko przez ustaloną funkcję Type‑42, a dostaniesz klucz potomny child_key."
Klient może zrobić analogiczną operację:
- "Weź mój klucz prywatny klient_priv, dołóż publiczny klucz sklepu sklep_pub i tę samą fakturę INV-2025-001. Przepuść przez funkcję Type‑42, otrzymasz klucz potomny child_key.”
Konstrukcja funkcji jest taka, że w obu przypadkach wychodzi ten sam wynik - te same bajty klucza potomnego. Różni się tylko to, jakich elementów "sekretnych" używa lokalnie każda ze stron:
- Sklep używa swojego klucza_prywatnego + publicznego klienta.
- Klient używa swojego klucza_prywatnego + publicznego sklepu.
Wspólny wynik = wspólny klucz (i wspólny adres) związany z daną fakturą.
5. Z klucza potomnego powstaje adres płatności
Z tak wyprowadzonego klucza potomnego generuje się po prostu adres Bitcoin (BSV) w standardzie P2PKH lub innym; to będzie adres płatności dla faktury INV-2025-001.
Sklep:
- nie potrzebuje żadnej dodatkowej bazy, żeby wiedzieć, który adres był do której faktury – może to zawsze policzyć na nowo, korzystając z sklep_priv, klient_pub i numeru faktury.
Klient:
- może zweryfikować, że adres, który dostał na fakturze, naprawdę wynika z tej relacji (klient_priv + sklep_pub + numer faktury), a nie jest wzięty z sufitu.
PRZYKŁAD: My jako klient
- zmiennej przechowującej klucz prywatny i publiczny np. sklepu
- zmiennej przechowującej numer faktury
- zmiennej wspólnego klucza płatności
- otrzymujemy fakturę i z tej faktury generuje się nam adres związany tylko z tą fakturą
- weryfikujemy numer faktury swoim kluczem prywatnym i kluczem publicznym sklepu
- oszust zna numer faktury i chce sprawdzić adres płatności podstawiając swój klucz prywatny





Bezpieczeństwo i Transparentność
- Numer faktury + klucz sprzedawcy + klucz klienta = dokładnie jeden, wspólny adres płatności.
- Ten adres można zawsze odtworzyć kryptograficznie, bez pytania księgowości, czy numer rachunku jest prawdziwy.
- Środki wysłane na adres wyprowadzony z faktury nie są widoczne pod normalnymi kluczami prywatnymi sklepu i klienta - siedzą pod osobnym, wspólnym kluczem potomnym, który umiemy policzyć tylko w tej relacji.
Wspólna weryfikacja faktury i adresu płatności
W Type-42 obie strony transakcji - klient i sklep - muszą zweryfikować dane przed dokonaniem płatności, co znacząco redukuje ryzyko oszustw:- Adres płatności przypisany do faktury jest wspólny i zapisany na blockchainie, co oznacza, że jest dostępny dla obu stron i niemożliwy do zmiany po dokonaniu transakcji.
- Weryfikacja faktury przez klienta i sklep zapewnia, że zapłacona kwota pasuje do faktury, eliminując ryzyko pomyłek czy manipulacji przy przypisywaniu płatności do zamówień.
**Gwarantuję Ci niezmienność moich treści**
Hash artykułu:
ID transakcji: sprawdź OP_RETURN i porównaj jego hash
Komentarze
Prześlij komentarz