BARU: Helius mengakuisisi Light Protocol
dompet passkey Solana
Blog/Pengembangan

Passkey Solana: Masa Depan UX Dompet Kripto

Kepala Engineering, ParaNorwood Square di XNorwood Square di LinkedIn
Rangkaian dompet dan autentikasi untuk aplikasi kriptoPara di XPara di LinkedIn
Bacaan 6 menit

Aplikasi Solana perlu menghadirkan onboarding dompet kripto yang cepat, aman, dan native. Phantom telah memelopori hal ini, tetapi pengguna masih harus mengelola seed phrase.

Passkey mengubah hal tersebut.

Dibangun berdasarkan standar WebAuthn dan protokol FIDO2, passkey memungkinkan login berbasis biometrik atau perangkat keras (misalnya Face ID, Touch ID, Windows Hello, YubiKeys, dan lainnya) tanpa menyimpan atau mengekspos private key.

Passkey menggantikan kata sandi tradisional dengan menggunakan pasangan kunci kriptografis. Private key tetap berada di perangkat pengguna dalam modul perangkat keras yang aman, dan hanya public key yang dibagikan.

Meski sebagian besar aplikasi menggunakan passkey untuk mengganti kata sandi dengan autentikasi tanpa kata sandi, Para menggunakannya secara berbeda: sebagai otorisasi kriptografis untuk sesi dompet.

Tanpa kata sandi. Tanpa seed phrase. Hanya akses kriptografis yang terintegrasi ke perangkat pengguna untuk menghadirkan pengalaman pengguna yang lebih sederhana.

Mengapa passkey penting bagi UX dompet Solana?

Kebutuhan akan onboarding kripto tanpa hambatan kini semakin besar.

Dengan pesatnya pertumbuhan aplikasi seluler Solana, aktivitas developer, dan volume stablecoin, dukungan passkey memudahkan pengguna baru untuk bertransaksi secara on-chain dengan lebih aman.

Saat dipadukan dengan SDK dompet terintegrasi Para, passkey menghadirkan:

  • Onboarding instan: tanpa instalasi atau seed phrase
  • Sesi persisten: pengguna tetap terhubung di berbagai kunjungan & perangkat
  • Pengelolaan kunci yang aman: kunci tetap terikat pada perangkat dan tahan terhadap phishing

Dukungan Passkey Solana & SIMD-0075

Sebagian besar autentikasi WebAuthn secara default menggunakan kurva P-256 (secp256r1), kurva eliptik yang banyak digunakan dan dirancang agar kompatibel dengan berbagai browser dan perangkat. Kurva P-256 sangat cocok untuk login web serbaguna, tetapi tidak untuk Solana. Alasannya, Solana menggunakan kurva eliptik yang berbeda, yaitu Ed25519 (berbasis Curve25519), yang dioptimalkan untuk tanda tangan cepat dan deterministik serta validasi ber-throughput tinggi melalui instruksi SIMD (Single Instruction, Multiple Data).

Ketidakcocokan ini penting: P‑256 dan Ed25519 tidak kompatibel secara langsung.

Passkey WebAuthn saat ini tidak dapat menghasilkan tanda tangan Ed25519, dan browser tidak menyediakan API untuk penandatanganan Ed25519 melalui secure enclave. Akibatnya, passkey tidak dapat menandatangani transaksi Solana secara langsung.

Kesenjangan tersebut membuat dukungan passkey di Solana menjadi tantangan teknis. SIMD-0075 (disetujui pada Mei 2024) menegaskan kembali Ed25519 sebagai kurva pilihan Solana dengan berbagai manfaat, seperti penandatanganan deterministik (tanpa risiko nonce), vektorisasi SIMD, dan interoperabilitas ekosistem.

Pada Juni 2025, Solana mengaktifkan verifikasi native secara on-chain untuk tanda tangan secp256r1 (P-256) melalui precompile baru. Dengan demikian, aplikasi dapat memverifikasi tanda tangan passkey secara on-chain (misalnya untuk mengonfirmasi login pengguna atau bukti identitas).

Namun, transaksi Solana tetap memerlukan tanda tangan Ed25519, yang tidak dapat dihasilkan oleh passkey WebAuthn. Artinya, passkey saja masih belum memadai untuk penandatanganan pada tingkat dompet.

Di sinilah infrastruktur Para berperan:

Alih-alih menggunakan passkey untuk menandatangani transaksi, Para menggunakannya sebagai primitif otorisasi. Passkey membuka sesi dengan cakupan terbatas, yang memberikan akses ke kunci penandatanganan yang kompatibel dengan Ed25519 dan dikelola oleh infrastruktur MPC (Multi-Party Computation) Para.

Desain ini mengatasi ketidakcocokan kurva sekaligus menghadirkan:

  • Kompatibilitas penuh dengan Solana
  • Onboarding native yang cepat dengan passkey
  • Self-custody yang aman dan pengelolaan kunci berbasis MPC

Passkey Para: Otorisasi, Bukan Sekadar Autentikasi

Para memperkenalkan otorisasi sesi berbasis passkey pada 2023, dan fitur ini menjadi bagian inti dari SDK dompet terintegrasinya.

Alih-alih memperlakukan passkey hanya sebagai metode login, Para menggunakannya untuk mengontrol akses ke operasi dompet secara aman.

Dalam SDK Para, passkey digunakan untuk mengotorisasi sesi dompet setelah pengguna login melalui OAuth, email/kata sandi, dan sebagainya. Pemisahan fungsi ini—autentikasi untuk identitas, passkey untuk akses dompet—menciptakan fondasi yang lebih aman bagi dompet terintegrasi Para.

Apa yang terjadi saat passkey baru didaftarkan ke Para?

Klien (browser atau pengelola kredensial tingkat OS) membuat pasangan kunci:

  1. Private key disimpan di secure enclave perangkat (misalnya TPM, Secure Enclave, atau Android Keystore)
  2. Public key dan metadata kredensial dikirim ke server

Metadata kredensial passkey mencakup:

  • ID kredensial (unik untuk setiap passkey)
  • Challenge nonce
  • RP ID (domain aplikasi Anda)
  • Algoritma kriptografis (biasanya P-256)

Apa yang terjadi saat dompet baru dibuat?

Saat pengguna membuat dompet dengan Para, passkey didaftarkan dan ditautkan ke perangkatnya. Secara spesifik, passkey tersebut:

  • Menandatangani challenge otorisasi
  • Mengonfirmasi bahwa pengguna mengendalikan perangkat dan dompet
  • Membuat sesi bertanda tangan dengan cakupan terbatas yang dapat dipertahankan

Sesi ini kemudian membuka operasi sensitif seperti:

  • Mengirim transaksi
  • Mengakses kunci terenkripsi yang terikat pada sesi
  • Menyetujui interaksi smart contract

Di sinilah pendekatan Para menjadi penting:

Passkey itu sendiri tidak digunakan secara langsung untuk menandatangani transaksi Solana (yang harus menggunakan Ed25519).

Sebagai gantinya, SDK dompet Para menggunakan passkey sebagai primitif otorisasi untuk membuka sesi, yang kemudian memberikan akses terbatas ke kunci penandatanganan Ed25519 yang kompatibel dengan Solana dan digunakan oleh dompet terintegrasi.

Kunci penandatanganan ini berada dalam infrastruktur kunci berbasis MPC Para yang aman dan kompatibel dengan persyaratan tanda tangan Solana.

Pada praktiknya, passkey memberikan otorisasi, sedangkan kunci dompet melakukan penandatanganan. Hal ini membuka operasi sensitif seperti mengirim transaksi, mengakses kunci terenkripsi, dan menyetujui interaksi smart contract.

Dengan memisahkan identitas dari otoritas penandatanganan, Para memastikan bahwa tindakan berisiko tinggi sekalipun dilindungi oleh otorisasi kriptografis, bukan sekadar login pengguna.

Passkey Para mengembangkan konsep ini lebih jauh dengan memungkinkan dompet ditanamkan langsung ke dalam aplikasi tanpa ekstensi browser atau recovery phrase.

Mengapa passkey penting bagi developer Solana?

Bagi developer Solana, passkey Para memberikan:

  • Konversi onboarding yang lebih tinggi karena dompet terintegrasi ke dalam aplikasi Anda
  • Tidak ada risiko kehilangan private key atau seed phrase
  • UX dan keamanan yang lebih baik sekaligus tetap native di Solana

Passkey sudah digunakan di aplikasi seperti Xelio, yang memanfaatkannya untuk melakukan onboarding pengguna ke dompet terintegrasi tanpa hambatan melalui SMS.

Proyek lain, seperti SWIG Smart Wallet, juga mengadopsi alur berbasis passkey untuk onboarding yang aman dan native di aplikasi.

Seiring makin banyak aplikasi mengadopsi dompet terintegrasi dengan akses berbasis passkey, kita semakin dekat dengan lapisan UX dompet universal—tempat pengguna dapat membawa identitas dan otoritas penandatanganannya dengan mulus antar-aplikasi, perangkat, dan sesi. Hal ini sangat penting dalam ekosistem seperti Solana, tempat komposabilitas dan perangkaian aplikasi semakin menjadi standar.

Cara Menambahkan Passkey ke Aplikasi Solana

Mengintegrasikan dompet berbasis passkey ke aplikasi Solana Anda menggunakan SDK dompet Para memerlukan waktu kurang dari lima menit.

Berikut cara kerjanya, langkah demi langkah:

Prasyarat

Pertama, dapatkan kunci API Para Anda dari Portal Developer Para.

Selanjutnya, buat file env.local di root proyek dan tambahkan kunci Anda:

NEXT_PUBLIC_PARA_API_KEY=your_para_api_key_here

Jika Anda tidak menggunakan Next.js, sesuaikan berdasarkan framework Anda:

  • Untuk Vite, gunakan VITE_PARA_API_KEY
  • Untuk Node.js, rujuk process.env.PARA_API_KEY

1. Inisialisasi Sesi dengan Para SDK

Mulailah dengan membungkus aplikasi Anda dalam ParaProvider dan mengonfigurasi Para SDK di frontend. Langkah ini menyiapkan lingkungan dompet terintegrasi dan memungkinkan Anda membuat atau memulihkan sesi pengguna.

Kode
<ParaProvider
  paraClientConfig={{
    env: Environment.BETA, // or Environment.PROD
    apiKey: YOUR_API_KEY,
  }}
  externalWalletConfig={{
      appName: YOUR_APP_NAME,
      wallets: ["PHANTOM","GLOW","BACKPACK"],
      walletConnect: { projectId: YOUR_WALLET_CONNECT_PROJECT_ID },
      solanaConnector: {
        config: {
          endpoint: ENDPOINT_FOR_SOLANA_CONNECTION,
          chain: SOLANA_CHAIN,
        },
      },
    }}
    paraModalConfig={{
      oAuthMethods: ["GOOGLE","TWITTER","TELEGRAM"]
      authLayout: ["AUTH:FULL","EXTERNAL:FULL"]
      recoverySecretStepEnabled: true
      onRampTestMode: true
    }}
>
  {REST_OF_APP}
</ParaProvider>

2. Gunakan Helius untuk Menandatangani dan Mengirim Transaksi

Setelah sesi aktif, Anda dapat menandatangani dan mengirim transaksi Solana melalui SDK Para dan Helius. Signer ini menyediakan metode signTransaction standar dari SDK JavaScript @solana/kit.

Kode
const connection = new Connection(HELIUS_RPC_URL);
const solanaSigner = new ParaSolanaWeb3Signer(para, Connection);
const tx = new Transaction().add(...);
const signedTx = await solanaSigner.signTransaction(transaction);
await connection.sendRawTransaction(signedTx.serialize());

Dengan Para, Anda mendapatkan UX passkey dan penandatanganan on-chain yang native di Solana tanpa mengekspos private key atau memerlukan ekstensi browser.

Kesimpulan

Solana mulai diadopsi secara luas.

Untuk melakukan onboarding lebih banyak pengguna, passkey, penandatanganan biometrik, dan autentikasi tanpa kata sandi akan mengurangi hambatan dan membawa lebih banyak orang ke on-chain.

Tambahkan dukungan passkey ke aplikasi Solana Anda dalam lima menit dengan SDK Para.

Referensi Tambahan

Berlangganan Helius

Ikuti perkembangan terbaru dalam pengembangan Solana dan dapatkan pembaruan saat kami memublikasikan postingan

Gambar diperbesar