
Terlepas dari kenyataan bahwa di HabrΓ© sudah
tidak ada satu artikel tentang IPFS .
Saya akan segera mengklarifikasi bahwa saya bukan ahli dalam bidang ini, tetapi saya telah menunjukkan minat pada teknologi ini lebih dari sekali, tetapi mencoba untuk bermain dengannya sering kali menimbulkan rasa sakit. Hari ini saya kembali melakukan percobaan dan mendapatkan beberapa hasil yang ingin saya bagikan. Singkatnya, proses menginstal IPFS dan beberapa chip akan dijelaskan (semuanya dilakukan di ubuntu, pada platform lain saya tidak mencoba).
Jika Anda melewatkan apa itu IPFS, ada tertulis dalam beberapa detail di sini: habr.com/en/post/314768Instalasi
Untuk kemurnian percobaan, saya mengusulkan untuk segera menginstalnya di beberapa server eksternal, karena kami akan mempertimbangkan beberapa jebakan dengan bekerja dalam mode lokal dan jarak jauh. Maka, jika diinginkan, tidak akan dibongkar dalam waktu lama, tidak banyak.Pergi
Dokumentasi resmiLihat versi saat ini di
golang.org/dlCatatan: lebih baik untuk menginstal IPFS atas nama pengguna, yang seharusnya menggunakan yang paling sering. Faktanya adalah bahwa di bawah ini kami akan mempertimbangkan opsi pemasangan melalui FUSE dan ada kehalusan di sana.cd ~ curl -O https://dl.google.com/go/go1.12.9.linux-amd64.tar.gz tar xvf go1.12.9.linux-amd64.tar.gz sudo chown -R root:root ./go sudo mv go /usr/local rm go1.12.9.linux-amd64.tar.gz
Maka Anda perlu memperbarui lingkungan (lebih detail di sini:
golang.org/doc/code.html#GOPATH ).
echo 'export GOPATH=$HOME/work' >> ~/.bashrc echo 'export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin' >> ~/.bashrc source ~/.bashrc
Pastikan go sudah diinstal
go version
Instal IPFS
Saya suka cara menginstal melalui
ipfs-update paling banyak .
Instal dengan perintah
go get -v -u github.com/ipfs/ipfs-update
Setelah itu, Anda dapat menjalankan perintah berikut:
versi pembaruan ipfs - untuk melihat semua versi yang tersedia untuk diunduh.
ipfs-update version - untuk melihat versi terinstal saat ini (sampai kita memiliki IPFS diinstal, itu tidak akan ada).
instal pembaruan ipfs terbaru - instal versi terbaru IPFS. Alih-alih terbaru, masing-masing, Anda dapat menentukan versi yang diinginkan dari daftar yang tersedia.
Instal ipfs
ipfs-update install latest
Periksa
ipfs --version
Langsung dengan instalasi secara umum, semuanya.
Peluncuran IPFS
Inisialisasi
Pertama, Anda perlu melakukan inisialisasi.
ipfs init
Sebagai tanggapan, Anda akan mendapatkan sesuatu seperti ini:
ipfs init initializing IPFS node at /home/USERNAME/.ipfs generating 2048-bit RSA keypair...done peer identity: QmeCWX1DD7HnXXXXXXXXXXXXXXXXXXXXXXXXxxx to get started, enter: ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
Anda dapat menjalankan perintah yang diusulkan
ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
Hasil Hello and Welcome to IPFS! ββββββββββ ββββββββββββββββ βββββββββββββββββββββββββββ βββββββββββββββββ ββββββββ ββββββββββ ββββββ ββββββββ ββββββ βββ ββββββββ ββββββ βββ ββββββββ If you're seeing this, you have successfully installed IPFS and are now interfacing with the ipfs merkledag! ------------------------------------------------------- | Warning: | | This is alpha software. Use at your own discretion! | | Much is missing or lacking polish. There are bugs. | | Not yet secure. Read the security notes for more. | ------------------------------------------------------- Check out some of the other files in this directory: ./about ./help ./quick-start <-- usage examples ./readme <-- this file ./security-notes
Di sini, menurut saya, yang menarik sudah mulai. Pada tahap instalasi, para pria sudah mulai menggunakan teknologi mereka sendiri. Hash QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv yang diusulkan - tidak dibuat khusus untuk Anda, tetapi dijahit ke dalam rilis. Artinya, sebelum rilis, mereka menyiapkan teks sambutan, menuangkannya ke IPFS dan menambahkan alamat ke installer. Menurut saya, ini sangat keren. Dan file ini (lebih tepatnya, seluruh folder) sekarang dapat dilihat tidak hanya secara lokal, tetapi juga pada
ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv gateway resmi. Pada saat yang sama, Anda dapat yakin bahwa isi folder tidak berubah dengan cara apa pun, karena jika sudah berubah, maka hash juga akan berubah.
Omong-omong, dalam hal ini, IPFS memiliki beberapa kesamaan dengan server kontrol versi. Jika Anda membuat perubahan pada file sumber folder dan lagi menuangkan folder ke IPFS, maka itu akan menerima alamat baru. Pada saat yang sama, folder lama tidak akan pergi ke mana pun seperti itu dan akan tersedia di alamat sebelumnya.Peluncuran langsung
ipfs daemon
Mereka harus mendapat respons seperti ini:
ipfs daemon Initializing daemon... go-ipfs version: 0.4.22- Repo version: 7 System version: amd64/linux Golang version: go1.12.7 Swarm listening on /ip4/xxxx/tcp/4001 Swarm listening on /ip4/127.0.0.1/tcp/4001 Swarm listening on /ip6/::1/tcp/4001 Swarm listening on /p2p-circuit Swarm announcing /ip4/127.0.0.1/tcp/4001 Swarm announcing /ip6/::1/tcp/4001 API server listening on /ip4/127.0.0.1/tcp/5001 WebUI: http://127.0.0.1:5001/webui Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080 Daemon is ready
Kami membuka pintu ke Internet
Perhatikan dua baris ini:
WebUI: http://127.0.0.1:5001/webui Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Sekarang, jika Anda menginstal IPFS secara lokal, maka Anda akan mengakses antarmuka IPFS di alamat lokal dan semuanya akan tersedia untuk Anda (Misalnya,
localhost : 5001 / webui /). Tetapi ketika diinstal pada server eksternal, secara default, gateway ditutup ke Internet. Ada dua gateway:
- Admin webui ( github ) pada port 5001.
- API eksternal pada port 8080 (hanya baca).
Sejauh ini, Anda dapat membuka kedua port untuk percobaan (5001 dan 8080), tetapi tentu saja, di server pertempuran, port 5001 harus ditutup dengan firewall. Ada 4001 port, diperlukan agar rekan-rekan lain dapat menemukan Anda. Itu harus dibiarkan terbuka untuk permintaan luar.
Buka ~ / .ipfs / config untuk mengedit dan temukan baris berikut di dalamnya:
"Addresses": { "Swarm": [ "/ip4/0.0.0.0/tcp/4001", "/ip6/::/tcp/4001" ], "Announce": [], "NoAnnounce": [], "API": "/ip4/127.0.0.1/tcp/5001", "Gateway": "/ip4/127.0.0.1/tcp/8080" }
Ubah 127.0.0.1 ke ip server Anda dan simpan file, lalu mulai ulang ipfs (hentikan perintah yang sedang berjalan Ctrl + C dan jalankan lagi).
Harus mendapatkan
... WebUI: http://ip__:5001/webui Gateway (readonly) server listening on /ip4/ip__/tcp/8080
Sekarang antarmuka eksternal harus tersedia.
Lihat
http://__ip_:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
File readme di atas harus terbuka.
http://__ip_:5001/webui/
Antarmuka web harus terbuka.
Jika webui bekerja untuk Anda, maka pengaturan IPFS dapat diubah secara langsung di dalamnya, termasuk melihat statistik, tetapi di bawah ini saya akan mempertimbangkan opsi konfigurasi langsung melalui file konfigurasi, yang umumnya tidak kritis. Lebih baik mengingat di mana letak konfigurasi dan apa yang harus dilakukan dengannya, dan jika moncong web tidak berfungsi, itu akan menjadi lebih sulit.Siapkan antarmuka web untuk bekerja dengan server Anda
Inilah jebakan pertama, yang menghabiskan waktu sekitar tiga jam.
Jika Anda menginstal IPFS pada server eksternal, tetapi tidak menginstal atau memulai IPFS secara lokal, maka ketika Anda mengakses / webui di antarmuka web, Anda akan melihat kesalahan koneksi:

Faktanya adalah webui itu, menurut saya, bekerja sangat ambigu. Pertama, ia mencoba untuk terhubung ke API server di mana antarmuka terbuka (tentu saja, berdasarkan alamat di browser). dan jika tidak berfungsi di sana, maka ia mencoba untuk terhubung ke gateway lokal. Dan jika Anda memiliki IPFS berjalan secara lokal, maka webui Anda akan berfungsi dengan baik, hanya Anda yang akan bekerja dengan IPFS lokal, bukan eksternal, meskipun Anda membuka webui pada server eksternal. Kemudian unggah file, tetapi untuk beberapa alasan Anda tidak melihatnya begitu saja di server eksternal ...
Dan jika tidak berjalan secara lokal, kami mendapatkan kesalahan koneksi. Dalam kasus kami, kesalahan tersebut kemungkinan besar disebabkan oleh CORS, yang juga ditunjukkan oleh webui, yang mengusulkan untuk menambahkan konfigurasi.
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://ip_ :5001", "http://127.0.0.1:5001", "https://webui.ipfs.io"]' ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'
Saya baru saja mendaftarkan wildcard
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
Header yang ditambahkan dapat ditemukan semuanya dalam ~ / .ipfs / config yang sama. Dalam kasus saya itu
"API": { "HTTPHeaders": { "Access-Control-Allow-Origin": [ "*" ] } },
Kami memulai ulang ipfs dan melihat bahwa webui telah berhasil terhubung (setidaknya seharusnya jika Anda membuka gateway untuk permintaan dari luar, seperti dijelaskan di atas).
Sekarang Anda dapat langsung mengunggah folder dan file melalui antarmuka web, serta membuat folder Anda sendiri.
Pasang sistem file FUSE
Ini adalah trik yang cukup menarik.
Kita dapat menambahkan file (juga folder) tidak hanya melalui antarmuka web, tetapi juga langsung di terminal, misalnya
ipfs add test -r added QmfYuz2gegRZNkDUDVLNa5DXzKmxxxxxxxxxx test/test.txt added QmbnzgRVAP4fL814h5mQttyqk1aURxxxxxxxxxxxx test
Hash terakhir adalah hash folder root.
Dengan menggunakan hash ini, kita dapat membuka folder pada sembarang ipfs node (yang dapat menemukan node kita dan mendapatkan isinya), kita dapat di antarmuka web pada port 5001 atau 8080, atau kita dapat secara lokal melalui ipfs.
ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt
Tetapi Anda masih bisa membukanya seperti folder normal.
Mari buat dua folder di root dan beri mereka hak kepada pengguna kami.
sudo mkdir /ipfs /ipns sudo chown USERNAME /ipfs /ipns
dan mulai ulang ipfs dengan flag --mount
ipfs daemon --mount
Anda dapat membuat folder di tempat lain dan menentukan path ke sana melalui daemon ipfs --mount --mount-ipfs / ipfs_path --mount-ipns / ipns_pathSekarang membaca dari folder ini agak tidak biasa.
ls -la /ipfs ls: reading directory '/ipfs': Operation not permitted total 0
Artinya, tidak ada akses langsung ke root folder ini. Tapi kemudian Anda bisa mendapatkan isinya, mengetahui hash.
ls -la /ipfs/QmbnzgRVAP4fL814h5mQttyqxxxxxxxxxxxxxxxxx total 0 -r--r--r-- 1 root root 10 Aug 31 07:03 test.txt
cat /ipfs/QmbnzgRVAP4fL814h5mQttyqxxxxxxxxxxxxxxxxx/test.txt test test
Selain itu, bahkan pelengkapan otomatis di dalam folder berfungsi saat menentukan jalur.
Seperti yang saya katakan di atas, ada kehalusan dengan pemasangan seperti itu: secara default, folder FUSE yang dipasang hanya dapat diakses oleh pengguna saat ini (bahkan root tidak dapat membaca dari folder ini, belum lagi pengguna lain dalam sistem). Jika Anda ingin membuat folder ini dapat diakses oleh pengguna lain, maka dalam konfigurasi Anda perlu mengubah "FuseAllowOther": false menjadi "FuseAllowOther": true. Tapi itu belum semuanya. Jika Anda menjalankan IPFS sebagai root, maka semuanya OK. Dan jika atas nama pengguna biasa (meskipun sudo), Anda mendapatkan kesalahan
mount helper error: fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf
Dalam hal ini, Anda perlu memperbaiki /etc/fuse.conf dengan menghapus komentar pada baris #user_allow_other.
Setelah itu kita restart ipfs.
Masalah yang diketahui dengan FUSE
Lebih dari satu kali masalah diketahui bahwa setelah memulai ulang ipfs dengan pemasangan (atau mungkin dalam kasus lain), titik pemasangan / ipfs dan / ipns menjadi tidak tersedia. Tidak ada akses ke mereka, tetapi ls -la / ipfs menunjukkan ???? dalam daftar hak.
Menemukan solusi seperti itu:
fusermount -z -u /ipfs fusermount -z -u /ipns
Kemudian mulai ulang ipfs.
Tambahkan layanan
Tentu saja, peluncuran di terminal hanya cocok untuk tes utama. Dalam mode pertempuran, daemon akan mulai secara otomatis ketika sistem dimulai.
Atas nama sudo, buat file /etc/systemd/system/ipfs.service dan tulis untuk itu:
[Unit] Description=IPFS Daemon After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/home/USERNAME/work/bin/ipfs daemon --mount User=USERNAME Restart=always [Install] WantedBy=multi-user.target
USERNAME, tentu saja, harus diganti dengan pengguna Anda (dan mungkin path lengkap ke program ipfs akan berbeda untuk Anda (Anda harus menentukan path lengkap)).
Kami mengaktifkan layanan.
sudo systemctl enable ipfs.service
Kami memulai layanan.
sudo service ipfs start
Periksa status layanan.
sudo service ipfs status
Untuk kemurnian percobaan, dimungkinkan untuk me-reboot server di masa depan untuk memverifikasi bahwa ipfs berhasil dimulai secara otomatis.
Tambahkan hari raya yang kita tahu
Pertimbangkan situasi ketika kita memiliki node IPFS diinstal pada server eksternal dan lokal. Pada server eksternal, kami menambahkan beberapa jenis file dan mencoba untuk mendapatkannya melalui IPFS secara lokal oleh CID. Apa yang akan terjadi Tentu saja, server lokal kemungkinan besar tidak tahu apa-apa tentang server eksternal kami dan hanya akan mencoba untuk menemukan file dengan CID dengan "meminta" semua rekan IPFS yang tersedia untuk itu (yang dengannya ia telah berhasil "mengenal"). Mereka, pada gilirannya, akan bertanya kepada orang lain. Maka, sampai file ditemukan. Sebenarnya, hal yang sama terjadi ketika kita mencoba untuk mendapatkan file melalui gateway
ipfs.io resmi. Jika Anda beruntung, maka file tersebut akan ditemukan dalam beberapa detik. Dan jika tidak, itu tidak akan ditemukan dalam beberapa menit, yang sangat mempengaruhi kenyamanan kerja. Tapi kita tahu di mana file ini akan muncul pertama kali. Jadi mengapa kita tidak segera memberi tahu server lokal kami βLihat duluβ? Ternyata, ini bisa dilakukan.
1. Buka server jarak jauh dan cari ~ / .ipfs / config di konfigurasi
"Identity": { "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuxxxxxxxxxxxxxxxx",
2. Kami menjalankan status layanan sudo ipfs dan mencari entri Swarm di dalamnya, misalnya:
Swarm announcing /ip4/ip__/tcp/4001
3. Dari sini kita tambahkan alamat umum dari form "/ ip4 / ip_your_server / tcp / 4001 / ipfs / $ PeerID".
4. Untuk keandalan, melalui webui lokal kami, kami akan mencoba menambahkan alamat ini ke rekan-rekan.

5. Jika semuanya OK, buka config lokal ~ / .ipfs / config, cari "Bootstrap" di dalamnya: [...
dan tambahkan alamat yang diterima terlebih dahulu ke array.
Mulai ulang IPFS.
Sekarang tambahkan file ke server eksternal dan cobalah untuk memintanya di server lokal. Harus terbang cepat.
Tetapi fungsi ini masih tidak stabil. Sejauh yang saya mengerti, bahkan jika kita menentukan alamat rekan di Bootstrap, dalam pekerjaan ipfs mengubah daftar koneksi aktif dengan rekan-rekan. Dalam kasus apa pun, diskusi tentang ini dan berharap tentang kemungkinan menunjukkan rekan konstan sedang diadakan di
sini dan sepertinya
itu seharusnya menambahkan beberapa fungsionalitas ke ipfs@5.0+
Daftar teman sebaya saat ini dapat dilihat di webui dan di terminal.
ipfs swarm peers
Baik di sana maupun di sana Anda dapat menambahkan pesta Anda secara manual.
ipfs swarm connect "/ip4/ip__/tcp/4001/ipfs/$PeerID"
Sampai Anda telah meningkatkan fungsionalitas ini, Anda dapat menulis alat untuk memeriksa koneksi dengan rekan yang diinginkan, dan jika tidak, untuk menambahkan koneksi.
Alasan
Di antara mereka yang sudah akrab dengan IPFS, ada argumen untuk dan menentang IPFS. Pada prinsipnya, sehari sebelum
diskusi kemarin mendorong saya untuk menggali IPFS lagi. Dan sehubungan dengan diskusi yang disebutkan di atas: Saya tidak bisa mengatakan bahwa saya sangat menentang beberapa argumen di atas yang diungkapkan (saya tidak setuju hanya dengan fakta bahwa satu setengah programmer menggunakan IPFS). Secara umum, keduanya benar dengan caranya sendiri (terutama
komentar tentang cek membuat Anda berpikir). Tetapi jika Anda mengesampingkan penilaian moral dan hukum, siapa yang akan memberikan penilaian teknis dari teknologi ini? Secara pribadi, saya memiliki semacam perasaan batin bahwa "ini perlu, pasti memiliki prospek tertentu." Tapi mengapa tepatnya, tidak ada kata-kata yang jelas. Seperti jika Anda melihat alat terpusat yang ada, maka dalam banyak hal mereka sangat maju (stabilitas, kecepatan, pengelolaan, dll.). Namun demikian, saya punya satu pemikiran, yang tampaknya masuk akal dan yang hampir tidak dapat diimplementasikan tanpa sistem desentralisasi tersebut. Tentu saja, saya benar-benar melambaikan pikiran, tetapi saya akan merumuskannya dengan cara ini: prinsip penyebaran informasi di Internet perlu diubah.
Saya akan jelaskan. Jika Anda berpikir demikian, sekarang informasi kami disebarluaskan dengan prinsip "Saya harap orang yang saya pindahkan itu akan melindunginya dan tidak akan hilang atau diterima oleh orang-orang yang tidak dimaksudkan." Misalnya, mudah untuk mempertimbangkan berbagai layanan email, penyimpanan cloud, dll. Dan apa yang kita miliki pada akhirnya? Di HabrΓ© Hub,
Keamanan Informasi ada di baris pertama dan hampir setiap hari kami menerima berita tentang kebocoran global lainnya. Pada prinsipnya, semua yang paling menarik tercantum dalam artikel <irony> luar biasa </ irony>
Musim panas hampir berakhir. Hampir tidak ada data yang bocor . Artinya, raksasa internet utama menjadi lebih besar, mereka mengumpulkan semakin banyak informasi, dan kebocoran tersebut adalah semacam ledakan atom informasi. Ini tidak pernah terjadi, dan di sini lagi. Pada saat yang sama, meskipun banyak yang memahami bahwa ada risiko, mereka akan terus mempercayai data mereka dengan perusahaan pihak ketiga. Pertama, tidak ada banyak alternatif, dan kedua, mereka berjanji bahwa mereka telah menambal semua lubang dan ini tidak akan pernah terjadi lagi.
Pilihan apa yang saya lihat? Menurut saya, data awalnya harus didistribusikan secara terbuka. Tetapi keterbukaan dalam hal ini tidak berarti bahwa semuanya harus mudah dibaca. Saya berbicara tentang keterbukaan penyimpanan dan distribusi, tetapi bukan keterbukaan total dalam membaca. Saya berasumsi bahwa informasi harus didistribusikan dengan kunci publik. Lagi pula, prinsip kunci publik / pribadi sudah lama, hampir seperti Internet. Jika informasi tersebut tidak dirahasiakan dan dirancang untuk jangkauan yang luas, maka informasi tersebut langsung diletakkan dengan kunci publik (tetapi masih dalam bentuk terenkripsi, sembarang orang dapat mendekripsi dengan kunci yang ada). Dan jika tidak, maka itu diletakkan tanpa kunci publik, dan kunci itu sendiri dikirimkan ke apa yang harus memiliki akses ke informasi ini. Pada saat yang sama, orang yang perlu membacanya harus hanya memiliki kunci, dan di mana untuk mendapatkan informasi ini, itu tidak boleh melonjak - ia hanya menariknya dari jaringan (ini adalah prinsip baru distribusi ke konten, bukan ke alamat).
Jadi, untuk serangan massal, penyerang perlu mendapatkan sejumlah besar kunci privat, dan kecil kemungkinannya mereka dapat melakukan ini di satu tempat. Tugas ini, seperti yang saya lihat, lebih sulit daripada meretas layanan tertentu.
Dan di sini masalah lain ditutup: konfirmasi kepengarangan. Sekarang di Internet Anda dapat menemukan banyak kutipan yang ditulis oleh teman-teman kami. Tetapi di mana jaminan bahwa mereka menulisnya? Sekarang, jika setiap rekaman tersebut disertai dengan tanda tangan digital, itu akan jauh lebih sederhana. Dan di mana pun informasi ini berada, yang utama adalah tanda tangannya, yang jelas sulit dipalsukan.
Dan inilah yang menarik di sini: IPFS sudah membawa alat enkripsi (setelah semua, itu dibangun di atas teknologi blockchain). Kunci pribadi segera ditentukan dalam konfigurasi.
"Identity": { "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuMxxxxxxxxxxxxxx", "PrivKey": "CAASqAkwggSkAgEAAoIBAQClZedVmj8JkPvT92sGrNIQmofVF3ne8xSWZIGqkm+t9IHNN+/NDI51jA0MRzpBviM3o/c/Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m+JoEplHjtc4KS5 pUEDqamve+xAJO8BWt/LgeRKA70JN4hlsRSghRqNFFwjeuBkT1kB6tZsG3YmvAXJ0o2uye+y+7LMS7jKpwJNJBiFAa/Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj/Fb+GJMiciJUZaAjgHoaZrrf2b/Eii3z0i+QIVG7OypXT3Z9JUS60 KKLfjtJ0nVLjAgMBAAECggEAZqSR5sbdffNSxN2TtsXDa3hq+WwjPp/908M10QQleH/3mcKv98FmGz65zjfZyHjV5C7GPp24e6elgHr3RhGbM55vT5dQscJu7SGng0of2bnzQCEw8nGD18dZWmYJsE4rUsMT3wXxhUU4s8/Zijgq27oLyxKNr9T7 2gxqPCI06VTfMiCL1wBBUP1wHdFmD/YLJwOjV/sVzbsl9HxqzgzlDtfMn/bJodcURFI1sf1e6WO+MyTc3.................
+ / NDI51jA0MRzpBviM3o / c / Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m + JoEplHjtc4KS5 "Identity": { "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuMxxxxxxxxxxxxxx", "PrivKey": "CAASqAkwggSkAgEAAoIBAQClZedVmj8JkPvT92sGrNIQmofVF3ne8xSWZIGqkm+t9IHNN+/NDI51jA0MRzpBviM3o/c/Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m+JoEplHjtc4KS5 pUEDqamve+xAJO8BWt/LgeRKA70JN4hlsRSghRqNFFwjeuBkT1kB6tZsG3YmvAXJ0o2uye+y+7LMS7jKpwJNJBiFAa/Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj/Fb+GJMiciJUZaAjgHoaZrrf2b/Eii3z0i+QIVG7OypXT3Z9JUS60 KKLfjtJ0nVLjAgMBAAECggEAZqSR5sbdffNSxN2TtsXDa3hq+WwjPp/908M10QQleH/3mcKv98FmGz65zjfZyHjV5C7GPp24e6elgHr3RhGbM55vT5dQscJu7SGng0of2bnzQCEw8nGD18dZWmYJsE4rUsMT3wXxhUU4s8/Zijgq27oLyxKNr9T7 2gxqPCI06VTfMiCL1wBBUP1wHdFmD/YLJwOjV/sVzbsl9HxqzgzlDtfMn/bJodcURFI1sf1e6WO+MyTc3.................
7LMS7jKpwJNJBiFAa / Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj / Fb + GJMiciJUZaAjgHoaZrrf2b / Eii3z0i + QIVG7OypXT3Z9JUS60 "Identity": { "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuMxxxxxxxxxxxxxx", "PrivKey": "CAASqAkwggSkAgEAAoIBAQClZedVmj8JkPvT92sGrNIQmofVF3ne8xSWZIGqkm+t9IHNN+/NDI51jA0MRzpBviM3o/c/Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m+JoEplHjtc4KS5 pUEDqamve+xAJO8BWt/LgeRKA70JN4hlsRSghRqNFFwjeuBkT1kB6tZsG3YmvAXJ0o2uye+y+7LMS7jKpwJNJBiFAa/Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj/Fb+GJMiciJUZaAjgHoaZrrf2b/Eii3z0i+QIVG7OypXT3Z9JUS60 KKLfjtJ0nVLjAgMBAAECggEAZqSR5sbdffNSxN2TtsXDa3hq+WwjPp/908M10QQleH/3mcKv98FmGz65zjfZyHjV5C7GPp24e6elgHr3RhGbM55vT5dQscJu7SGng0of2bnzQCEw8nGD18dZWmYJsE4rUsMT3wXxhUU4s8/Zijgq27oLyxKNr9T7 2gxqPCI06VTfMiCL1wBBUP1wHdFmD/YLJwOjV/sVzbsl9HxqzgzlDtfMn/bJodcURFI1sf1e6WO+MyTc3.................
Zijgq27oLyxKNr9T7 "Identity": { "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuMxxxxxxxxxxxxxx", "PrivKey": "CAASqAkwggSkAgEAAoIBAQClZedVmj8JkPvT92sGrNIQmofVF3ne8xSWZIGqkm+t9IHNN+/NDI51jA0MRzpBviM3o/c/Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m+JoEplHjtc4KS5 pUEDqamve+xAJO8BWt/LgeRKA70JN4hlsRSghRqNFFwjeuBkT1kB6tZsG3YmvAXJ0o2uye+y+7LMS7jKpwJNJBiFAa/Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj/Fb+GJMiciJUZaAjgHoaZrrf2b/Eii3z0i+QIVG7OypXT3Z9JUS60 KKLfjtJ0nVLjAgMBAAECggEAZqSR5sbdffNSxN2TtsXDa3hq+WwjPp/908M10QQleH/3mcKv98FmGz65zjfZyHjV5C7GPp24e6elgHr3RhGbM55vT5dQscJu7SGng0of2bnzQCEw8nGD18dZWmYJsE4rUsMT3wXxhUU4s8/Zijgq27oLyxKNr9T7 2gxqPCI06VTfMiCL1wBBUP1wHdFmD/YLJwOjV/sVzbsl9HxqzgzlDtfMn/bJodcURFI1sf1e6WO+MyTc3.................
Saya bukan spesialis keamanan dan saya tidak tahu persis bagaimana menggunakannya dengan benar, tetapi bagi saya sepertinya kunci ini digunakan pada tingkat pertukaran antara node IPFS. Dan juga
js-ipfs dan contoh proyek-proyek seperti
orbit-db , di mana
orbit.chat bekerja. Artinya, secara teoritis, setiap perangkat (mobile dan tidak hanya) dapat dengan mudah dilengkapi dengan mesin enkripsi-dekripsi sendiri. Dalam hal ini, tetap hanya bagi semua orang untuk menjaga kunci pribadi mereka dan semua orang akan bertanggung jawab atas keamanan mereka sendiri, dan tidak menjadi sandera pada faktor manusia lain dalam raksasa internet yang sangat populer.