Privasi di Litentry III: TEE Sidechain
Sekuel dari artikel sebelumnya di mana kami menjelaskan Trusted Execution Environment (TEE), risalah ini menggali lebih dalam untuk menjelaskan sidechain TEE dan komponennya.
Lapisan 0, 1, dan 2
Diagram di bawah menunjukkan tiga lapisan blockchain, masing-masing dengan tanggung jawabnya sendiri:
Untuk mencapai agregasi identitas, Litentry harus menyimpan data pengguna yang sensitif, seperti akun Ethereum dan skor kredit yang dihitung. Oleh karena itu, kami memilih Trusted Execution Environment (TEE) untuk memastikan keamanan dan privasi penyimpanan dan pemrosesan data. Litentry telah mengembangkan sidechain yang terdiri dari beberapa node yang dilengkapi TEE, menawarkan penyimpanan terdistribusi dan pemrosesan data pengguna dengan cara yang aman dan pribadi.
- Lapisan 0 — Jaringan utama rantai relai , seperti Kusama atau Polkadot, bertanggung jawab untuk menyediakan keamanan bersama di seluruh rantai relai dan jaringan parachain. Ini juga berfungsi sebagai router untuk pesan XCM.
- Lapisan 1 — Litentry Parachain dan Litmus Parachain digunakan sebagai blockchain khusus aplikasi. Mereka terhubung dengan rantai relai dengan menempati slot parachain, memungkinkan rantai relai untuk memvalidasi bloknya dan mengawasi pesan XCM.
- Lapisan 2 — Sidechain TEE didukung oleh Integritee dan memungkinkan runtime untuk dieksekusi di lingkungan SGX secure run. Ini berbeda dari parachain Layer 1 yang membuat semua status dan ekstrinsik menjadi publik dan terlihat.
Parachain terdiri dari node yang menggunakan mekanisme dPOS (Delegated Proof of Stake) untuk menyinkronkan dan menghasilkan blok sementara sidechain terdiri dari node yang dilengkapi dengan Trusted Execution Environments (TEEs).
Komponen Perangkat Lunak
Dalam diagram Parachain-Sidechain-Client di atas, ada empat komponen perangkat lunak utama: Teerex Pallet, SGX Runtime, Identity Hub Client, dan Server Pekerja.
palet Teerex
Palet Teerex di Parachain memungkinkan pekerja TEE mendaftar , menemukan , dan berkomunikasi satu sama lain. Fitur utamanya adalah:
- Bertindak sebagai registri terverifikasi yang memungkinkan verifikasi jarak jauh enklave SGX — memberikan kemampuan audit publik.
- Dirancang dengan kerahasiaan pada intinya untuk menjembatani kesenjangan kepercayaan antara kantong dan memungkinkan siapa pun untuk memverifikasi kode yang dijalankan.
- Bertindak sebagai proxy tidak langsung untuk panggilan transisi status rahasia off-chain yang dijalankan oleh enklave SGX.
Waktu Kerja SGX
Runtime SGX di pekerja sidechain memungkinkan eksekusi rahasia dan integrasi semua palet yang kompatibel dengan media.
Palet SGX dibuat dalam kantong pekerja TEE SGX, dikompilasi menjadi gumpalan/biner WASM, dan bergantung pada tee-sgx-sdk. Ini menyimpan data privasi di node SGX, menautkan identitas, memverifikasi pernyataan, dan menyimpan grafik ID. Parameter/alamat ekstrinsik dienkripsi di parachain dan kunci privat hanya diketahui oleh node SGX, yang mendekripsi data di SGX dan mengirimkan panggilan ke runtime. Ini membantu menjaga privasi data pengguna, yang merupakan singkatan dari Litentry.
Informasi lebih lanjut dapat ditemukan di repo runtime SGX .
Klien Pusat Identitas
Identity Hub Client digunakan untuk melakukan panggilan atau operasi dan juga berbasis media.
Klien berinteraksi dengan parachain & sidechain melalui RPC / WSS (Diagram tidak menunjukkan interaksi sidechain karena belum dibuka.) Panggilan yang dilakukan ke parachain dienkripsi dan buram untuk meminta kerahasiaan. Konten operasi hanya dapat dilihat oleh Klien dan TEE sidechain (SGX, pekerja/node SGX, dan runtime SGX).
Ada berbagai jenis panggilan yang dapat dijalankan oleh klien berdasarkan tujuan operasi. Mereka termasuk:
- Panggilan Tidak Tepercaya : Klien berinteraksi dengan simpul parachain melalui panggilan tidak tepercaya, mengirimkan transaksi atau kueri. Misalnya, transfer saldo melalui klien adalah panggilan yang tidak dipercaya.
- Panggilan tepercaya : Klien berinteraksi dengan server pekerja TEE. Misalnya memanggil link_eth, yang ekstrinsik dari palet penaut akun SGX. Atau kueri data terenkripsi di SGX.
- Panggilan langsung : Panggilan klien ekstrinsik dalam runtime SGX (sama seperti panggilan tepercaya).
- Panggilan tidak langsung : Klien mengenkripsi panggilan runtime SGX, mengirim ke Teerex Pallet di parachain. Blok sinkronisasi node pekerja mengidentifikasi call_work ekstrinsik, mem-parsing panggilan dari parachain, dan mengirim ke waktu proses SGX. Detailnya dapat dilihat pada diagram di bawah ini:
Server Pekerja menjalankan fungsi dengan input dan batas sumber daya tertentu sebagai respons terhadap panggilan dan operasi TEE. Untuk memastikan tingkat penskalaan yang memadai, biasanya ada banyak server pekerja yang diperlukan untuk eksekusi ini.
Server adalah bagian paling rumit dari keseluruhan TEE dan fungsi utamanya adalah sebagai berikut:
- Digunakan dalam melakukan pengesahan jarak jauh — proses meminta pabrikan TEE (Intel) untuk mengautentikasi TEE. Pabrikan menandatangani laporan untuk mengonfirmasi bahwa TEE itu sendiri dan hash dari biner yang dieksekusi adalah asli
- Menyediakan lingkungan eksekusi untuk runtime SGX di node tepercaya
- Sinkronkan blok dari parachain, dekripsi, dan parsing data dari call_work
- Menghasilkan blok rantai samping, menyinkronkan, dan melaksanakan konsensus antar node
- Menyediakan layanan RPC dan WSS
- Kirim respons ke parachain melalui ekstrinsik
Sharding — prinsip membagi keseluruhan beban kerja yang perlu ditangani server menjadi bagian yang lebih kecil dan lebih mudah dikelola — didukung sejak awal desain sidechain. Node server bergabung dengan satu shard (setiap panggilan baik langsung maupun tidak langsung memiliki identitas shard parameter default). Node server kemudian mengeksekusi panggilan dengan pecahan yang sama dengan yang digabungkan. Manfaat sharding adalah sebagai berikut:
- Status untuk setiap shard diisolasi — node shard yang berbeda tidak dapat melihat data pribadi masing-masing
- Node pecahan dapat melewati panggilan dari pecahan lain. Ini membantu menghemat sumber daya dan membuatnya lebih cepat untuk mengeksekusi lebih sedikit ekstrinsik di blok
- Sharding memungkinkan penggunaan solusi kami dalam skala besar, sekaligus melindungi data pengguna
Saat meminta penautan identitas (Web2 <> Web3, atau penautan dompet lintas rantai) atau pembuatan kredensial yang dapat diverifikasi di Identity Hub, semua data yang terlibat untuk menyelesaikan permintaan akan disimpan dan dihitung di lingkungan TEE.
Ini termasuk permintaan itu sendiri, hubungan antara dompet yang berbeda, data yang diambil dari dompet tertentu yang mendukung klaim dalam VC, dll.
Fungsi awal Litentry Parachain termasuk transfer token, tata kelola, taruhan, dan transfer lintas rantai tidak melibatkan proses perlindungan privasi.
Teriakan khusus untuk Mel Zhou , Eric Zhang , dan Kailai Wang atas kontribusi berbasis pengetahuan dan keahlian mereka pada rangkaian artikel yang kami terbitkan untuk mengedukasi pengguna, anggota komunitas, dan penggemar privasi tentang solusi Manajemen Privasi dan Identitas kami.
Berikut tautan untuk membaca publikasi kami sebelumnya untuk lebih memahami solusi baru yang kami bangun di Litentry:

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































