Klucz publiczny
Para kryptograficzna do klucza prywatnego, którą można bezpiecznie udostępniać. Umożliwia weryfikację podpisów i jest podstawą do wyprowadzenia adresu blockchain.
Relacja klucz prywatny → klucz publiczny → adres
Klucz publiczny jest obliczany z klucza prywatnego przez mnożenie punktu na krzywej eliptycznej secp256k1 (Ethereum, Bitcoin) lub Curve25519 (Solana). Operacja jest jednostronna: łatwa w jednym kierunku, obliczeniowo niemożliwa do odwrócenia.
Na Ethereum adres to ostatnie 20 bajtów skrótu Keccak-256 z klucza publicznego. Udostępniasz adres, nie klucz publiczny — klucz jest ujawniany dopiero gdy wysyłasz pierwszą transakcję (podpis zawiera informacje pozwalające go odtworzyć).
Na Solanie adres jest bezpośrednio kluczem publicznym zakodowanym w base58. Struktura jest prostsza, ale zasada bezpieczeństwa ta sama: klucz publiczny można znać, klucz prywatny musi pozostać tajny.
Klucz prywatny vs klucz publiczny
- Kto zna
- Prywatny: tylko ty. Publiczny: każdy może znać.
- Do czego służy
- Prywatny: podpisywanie. Publiczny: weryfikacja podpisu.
- Jak chronić
- Prywatny: nigdy nie ujawniać. Publiczny: bezpieczny do udostępnienia.
- Relacja z adresem
- Prywatny → klucz publiczny → adres (sekwencja jednostronna).
Adres blockchain jest pochodną klucza publicznego, nie samym kluczem publicznym. Udostępnianie adresu nie ujawnia klucza publicznego — ten pojawia się on-chain dopiero przy pierwszej wychodzącej transakcji.
Najczęstsze błędne założenia
- Klucz publiczny to nie to samo co adres. Adres to skrót kryptograficzny z klucza publicznego.
- Ujawnienie klucza publicznego nie kompromituje środków przy obecnej kryptografii klasycznej. Ryzyko pojawia się przy komputerach kwantowych.
- Klucz publiczny nie jest potrzebny do odbioru płatności — wystarczy adres.
