Ağrısız IPFS (lakin bu dəqiq deyil)

Ağrısız IPFS (lakin bu dəqiq deyil)

Baxmayaraq ki, Habré artıq idi IPFS haqqında birdən çox məqalə.

Dərhal aydınlaşdıracağam ki, mən bu sahədə mütəxəssis deyiləm, amma bu texnologiyaya bir dəfədən çox maraq göstərmişəm, lakin onunla oynamaq cəhdləri çox vaxt bəzi ağrılara səbəb olur. Bu gün yenidən təcrübə aparmağa başladım və bölüşmək istədiyim bəzi nəticələr əldə etdim. Bir sözlə, IPFS quraşdırma prosesi və bəzi funksiyalar təsvir olunacaq (hər şey ubuntu-da edilib, başqa platformalarda sınamamışam).

IPFS-in nə olduğunu qaçırdınızsa, burada bir qədər təfərrüatlı şəkildə yazılmışdır: habr.com/en/post/314768

Quraşdırma

Təcrübənin təmizliyi üçün onu dərhal bəzi xarici serverə quraşdırmağı təklif edirəm, çünki yerli rejimdə və uzaqdan işləmək üçün bəzi tələləri nəzərdən keçirəcəyik. Sonra istəsə, uzun müddət sökülməyəcək, çox deyil.

Quraşdırın gedin

Rəsmi sənədlər
Cari versiyaya baxın golang.org/dl

Qeyd: IPFS-i ən çox istifadə etməli olan istifadəçinin adından quraşdırmaq daha yaxşıdır. Fakt budur ki, aşağıda vasitəsilə montaj variantını nəzərdən keçirəcəyik FUSE və incəlikləri var.

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

Sonra mühiti yeniləməlisiniz (daha ətraflı burada: 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

Go quraşdırılıb yoxlanılır

go version

IPFS quraşdırın

Ən çox quraşdırma üsulunu bəyəndim ipfs yeniləməsi.

Komanda ilə quraşdırın

go get -v -u github.com/ipfs/ipfs-update

Bundan sonra aşağıdakı əmrləri yerinə yetirə bilərsiniz:

ipfs yeniləmə versiyaları - yükləmək üçün bütün mövcud versiyaları görmək.
ipfs yeniləmə versiyası - hazırda quraşdırılmış versiyanı görmək üçün (bizdə IPFS quraşdırılana qədər o, heç biri olmayacaq).
ipfs-update ən son quraşdırma - IPFS-in ən son versiyasını quraşdırın. Ən son əvəzinə, mövcud olanlar siyahısından istədiyiniz versiyanı təyin edə bilərsiniz.

ipfs quraşdırılması

ipfs-update install latest

Yoxlayın

ipfs --version

Birbaşa quraşdırma ilə ümumi mənada hər şey.

IPFS-i işə salın

Başlanğıc

Əvvəlcə işə salmağı yerinə yetirməlisiniz.

ipfs init

Cavab olaraq, belə bir şey alacaqsınız:

 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

Təklif olunan əmri işlədə bilərsiniz

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Nəticə

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

Məncə, maraqlısı burada başlayır. Quraşdırma mərhələsində olan uşaqlar artıq öz texnologiyalarından istifadə etməyə başlayırlar. Təklif olunan hash QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv sizin üçün xüsusi olaraq yaradılmayıb, lakin buraxılışa tikilib. Yəni buraxılışdan əvvəl onlar salamlama mətni hazırladılar, onu IPFS-ə tökdülər və ünvanı quraşdırıcıya əlavə etdilər. Məncə çox gözəldir. Və bu fayla (daha doğrusu, bütün qovluğa) indi təkcə yerli deyil, həm də rəsmi şlüzdə baxmaq olar ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv. Eyni zamanda, qovluğun məzmununun heç bir şəkildə dəyişmədiyinə əmin ola bilərsiniz, çünki dəyişsəydi, hash da dəyişəcəkdi.

Yeri gəlmişkən, bu halda IPFS-in versiyaya nəzarət serveri ilə bəzi oxşarlıqları var. Qovluğun mənbə fayllarına dəyişiklik etsəniz və qovluğu yenidən IPFS-ə töksəniz, o, yeni ünvan alacaq. Eyni zamanda, köhnə qovluq heç yerə getməyəcək və əvvəlki ünvanda mövcud olacaq.

Birbaşa işə salma

ipfs daemon

Bu kimi bir cavab almalısınız:

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/x.x.x.x/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

Qapıların internetə açılması

Bu iki xəttə diqqət yetirin:

WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080

İndi, əgər IPFS-ni yerli olaraq quraşdırmısınızsa, o zaman yerli ünvanlarda IPFS interfeyslərinə daxil olacaqsınız və hər şey sizin üçün əlçatan olacaq (Məsələn, localhost:5001/webui/). Ancaq xarici serverə quraşdırıldıqda, standart olaraq, şlüzlər İnternetə bağlıdır. İki şlüz:

  1. webui admin (GitHub) 5001 portunda.
  2. 8080 portunda xarici API (yalnız oxumaq üçün).

İndiyə qədər hər iki port (5001 və 8080) eksperimentlər üçün açıla bilər, lakin döyüş serverində təbii ki, 5001 portu firewall ilə bağlanmalıdır. Digər həmyaşıdların sizi tapa bilməsi üçün lazım olan 4001 portu da var. Xarici istəklərə açıq qalmalıdır.

Redaktə etmək üçün ~/.ipfs/config proqramını açın və orada bu sətirləri tapın:

"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"
}

127.0.0.1-i serverinizin ip-ə dəyişin və faylı yadda saxlayın, sonra ipfs-i yenidən başladın (Ctrl+C ilə işləyən əmri dayandırın və yenidən başladın).

Almalıdır

...
WebUI: http://ip_вашего_сервера:5001/webui
Gateway (readonly) server listening on /ip4/ip_вашего_сервера/tcp/8080

İndi xarici interfeyslər mövcud olmalıdır.

Yoxlayın

http://домен_или_ip_сервера:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Yuxarıdakı readme faylı açılmalıdır.

http://домен_или_ip_сервера:5001/webui/

Veb interfeysi açılmalıdır.

Əgər webui sizin üçün işləyirsə, onda IPFS parametrləri statistikaya baxmaq da daxil olmaqla birbaşa dəyişdirilə bilər, lakin aşağıda konfiqurasiya seçimlərini birbaşa konfiqurasiya faylı vasitəsilə nəzərdən keçirəcəyəm, bu ümumiyyətlə kritik deyil. Konfiqurasiyanın harada olduğunu və onunla nə edəcəyini dəqiq xatırlamaq daha yaxşıdır, əks halda veb üzü işləmirsə, daha çətin olacaq.

Serverinizlə işləmək üçün veb interfeysinin qurulması

Budur, təxminən üç saat çəkən ilk tələ.

Əgər IPFS-i xarici serverdə quraşdırmısınızsa, lakin IPFS-ni yerli olaraq quraşdırmamısınızsa və ya işə salmamısınızsa, o zaman veb-interfeysdə /webui-ə keçdiyiniz zaman qoşulma xətası görməlisiniz:

Ağrısız IPFS (lakin bu dəqiq deyil)

Fakt budur ki, webui, mənim fikrimcə, çox qeyri-müəyyən işləyir. Əvvəlcə interfeysin açıq olduğu serverin API-yə qoşulmağa çalışır (əlbəttə ki, brauzerdəki ünvana əsasən). və orada işləmirsə, yerli şlüzlə əlaqə yaratmağa çalışır. Yerli olaraq işləyən IPFS varsa, webui sizin üçün yaxşı işləyəcək, yalnız siz xarici serverdə webui açsanız da, xarici deyil, yerli IPFS ilə işləyəcəksiniz. Sonra faylları yükləyirsiniz, lakin nədənsə onları xarici serverdə belə görmürsünüz...

Yerli olaraq işləmirsə, onda bir əlaqə xətası alırıq. Bizim vəziyyətimizdə səhv çox güman ki, CORS ilə bağlıdır, bu da webui tərəfindən göstərilib, konfiqurasiya əlavə etməyi təklif edir.

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"]'

Mən indicə wildcard qeydiyyatdan keçirdim

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

Əlavə edilmiş başlıqları eyni ~/.ipfs/config-də tapmaq olar. Mənim vəziyyətimdə belədir

  "API": {
    "HTTPHeaders": {
      "Access-Control-Allow-Origin": [
        "*"
      ]
    }
  },

Biz ipfs-i yenidən işə salırıq və görürük ki, webui uğurla qoşulub (hər halda, yuxarıda göstərildiyi kimi kənardan gələn sorğular üçün şlüzləri açsanız, bu lazımdır).

İndi siz qovluqları və faylları birbaşa veb interfeysi vasitəsilə yükləyə, həmçinin öz qovluqlarınızı yarada bilərsiniz.

FUSE fayl sisteminin quraşdırılması

Burada olduqca maraqlı bir xüsusiyyət var.

Faylları (həmçinin qovluqları) yalnız veb interfeysi vasitəsilə deyil, həm də birbaşa terminalda əlavə edə bilərik, məsələn

ipfs add test -r
added QmfYuz2gegRZNkDUDVLNa5DXzKmxxxxxxxxxx test/test.txt
added QmbnzgRVAP4fL814h5mQttyqk1aURxxxxxxxxxxxx test

Son hash kök qovluğun hashıdır.

Bu hash-dən istifadə edərək biz istənilən ipfs node-da qovluğu aça bilərik (bu, bizim qovşağımızı tapıb məzmunu əldə edə bilər), 5001 və ya 8080 portunda veb-interfeysdə və ya yerli olaraq ipfs vasitəsilə aça bilərik.

ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx
QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt

Ancaq yenə də onu adi bir qovluq kimi aça bilərsiniz.

Gəlin kökdə iki qovluq yaradaq və istifadəçimizə onlara hüquqlar verək.

sudo mkdir /ipfs /ipns
sudo chown USERNAME /ipfs /ipns

və --mount bayrağı ilə ipfs-i yenidən başladın

ipfs daemon --mount

Siz başqa yerlərdə qovluqlar yarada və onlara gedən yolu ipfs demon parametrləri -mount -mount-ipfs /ipfs_path -mount-ipns /ipns_path vasitəsilə təyin edə bilərsiniz.

İndi bu qovluqdan oxumaq bir qədər qeyri-adidir.

ls -la /ipfs
ls: reading directory '/ipfs': Operation not permitted
total 0

Yəni bu qovluğun kökünə birbaşa çıxış yoxdur. Ancaq hashı bilməklə məzmunu əldə edə bilərsiniz.

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

Eyni zamanda, yol müəyyən edildikdə, hətta avtomatik tamamlama qovluq daxilində işləyir.

Yuxarıda dediyim kimi, belə montajın incəlikləri var: standart olaraq, quraşdırılmış FUSE qovluqları yalnız cari istifadəçi üçün mövcuddur (hətta root belə bir qovluqdan oxuya bilməyəcək, sistemdəki digər istifadəçiləri qeyd etməmək). Bu qovluqları digər istifadəçilər üçün əlçatan etmək istəyirsinizsə, konfiqurasiyada "FuseAllowOther": false-i "FuseAllowOther": true olaraq dəyişdirməlisiniz. Ancaq bu, hamısı deyil. Əgər siz IPFS-i kök kimi işlədirsinizsə, onda hər şey qaydasındadır. Və adi bir istifadəçi adından (hətta sudo), onda bir səhv alacaqsınız

mount helper error: fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf

Bu halda, #user_allow_other sətrini şərhdən çıxararaq /etc/fuse.conf-u redaktə etməlisiniz.

Bundan sonra ipfs-i yenidən başladın.

FUSE ilə bağlı məlum problemlər

Problem bir neçə dəfə qeyd olundu ki, ipfs-i quraşdırma ilə yenidən başlatdıqdan sonra (və bəlkə də digər hallarda) /ipfs və /ipns quraşdırma nöqtələri əlçatan olmur. Onlara giriş yoxdur və ls -la /ipfs göstərir ???? hüquqlar siyahısında.

Bu həlli tapdı:

fusermount -z -u /ipfs
fusermount -z -u /ipns

Sonra ipfs-i yenidən başladın.

Xidmətin əlavə edilməsi

Əlbəttə ki, terminalda işləmək yalnız ilkin sınaqlar üçün uyğundur. Döyüş rejimində, sistem işə salındıqda demon avtomatik olaraq başlamalıdır.

Sudo adından /etc/systemd/system/ipfs.service faylını yaradın və ona yazın:

[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

İSTİFADƏÇİ ADI, əlbəttə ki, istifadəçinizlə əvəz edilməlidir (və bəlkə də ipfs proqramının tam yolu sizin üçün fərqli olacaq (tam yolu göstərməlisiniz)).

Xidməti aktivləşdiririk.

sudo systemctl enable ipfs.service

Xidmətə başlayırıq.

sudo service ipfs start

Xidmətin vəziyyətinin yoxlanılması.

sudo service ipfs status

Təcrübənin təmizliyi üçün gələcəkdə ipfs-in avtomatik olaraq uğurla başladığını yoxlamaq üçün serveri yenidən yükləmək mümkün olacaq.

Bizə məlum olan bayramları əlavə edirik

Həm xarici serverdə, həm də yerli olaraq quraşdırılmış IPFS qovşaqlarımızın olduğu bir vəziyyəti nəzərdən keçirək. Xarici serverdə biz bəzi faylları əlavə edirik və onu CID ilə yerli olaraq IPFS vasitəsilə əldə etməyə çalışırıq. Nə olacaq? Əlbətdə ki, yerli server çox güman ki, xarici serverimiz haqqında heç nə bilmir və sadəcə olaraq onun üçün mövcud olan bütün IPFS həmyaşıdlarından (artıq “tanışmağa” nail olub) “soruşmaqla” faylı CID ilə tapmağa çalışacaq. Onlar da öz növbəsində başqalarından soruşacaqlar. Və s., fayl tapılana qədər. Əslində, rəsmi şlüz vasitəsilə faylı əldə etməyə çalışdığımız zaman da eyni şey olur ipfs.io. Əgər şanslısınızsa, fayl bir neçə saniyə ərzində tapılacaq. Və əgər olmasa, bir neçə dəqiqədə belə tapılmayacaq, bu da işin rahatlığına çox təsir edir. Ancaq bu faylın ilk olaraq harada görünəcəyini bilirik. Bəs niyə biz dərhal yerli serverimizə “Əvvəlcə orada axtarın” deməyək? Görünür, bunu etmək olar.

1. Uzaq serverə gedirik və ~/.ipfs/config konfiqurasiyasına baxırıq

"Identity": {
    "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuxxxxxxxxxxxxxxxx",

2. Sudo xidmətinin ipfs statusunu işə salın və orada Swarm girişlərini axtarın, məsələn:

Swarm announcing /ip4/ip_вашего_сервера/tcp/4001

3. Bundan "/ip4/ip_your_server/tcp/4001/ipfs/$PeerID" formasının ümumi ünvanını əlavə edirik.

4. Etibarlılıq üçün biz yerli webui vasitəsilə bu ünvanı həmyaşıdlarımıza əlavə etməyə çalışacağıq.

Ağrısız IPFS (lakin bu dəqiq deyil)

5. Hər şey qaydasındadırsa, yerli konfiqurasiya ~ / .ipfs / config açın, orada “Bootstrap” tapın: [...
və alınan ünvanı əvvəlcə massivə əlavə edin.

IPFS-i yenidən başladın.

İndi faylı xarici serverə əlavə edək və onu yerli serverdə tələb etməyə çalışaq. Sürətlə uçmalıdır.

Lakin bu funksionallıq hələ stabil deyil. Anladığım qədər, Bootstrap-da peer-in ünvanını göstərsək də, ipfs əməliyyat zamanı peer-lərlə aktiv əlaqələrin siyahısını dəyişir. İstənilən halda bu və daimi ziyafətlərin konkretləşdirilməsinin mümkünlüyü ilə bağlı istəklərin müzakirəsi davam edir. burada və deyəsən gözləniləndir bəzi funksionallıq əlavə edin [e-poçt qorunur]+

Cari həmyaşıdların siyahısına həm webui-də, həm də terminalda baxmaq olar.

ipfs swarm peers

Və burada və orada bayramınızı əl ilə əlavə edə bilərsiniz.

ipfs swarm connect "/ip4/ip_вашего_сервера/tcp/4001/ipfs/$PeerID"

Bu funksionallıq təkmilləşdirilənə qədər, istədiyiniz həmyaşıdla əlaqəni yoxlamaq və əgər yoxsa, əlaqə əlavə etmək üçün alət yaza bilərsiniz.

Mülahizə

IPFS ilə artıq tanış olanlar arasında IPFS-in həm lehinə, həm də əleyhinə olan arqumentlər var. Əsasən, dünən müzakirə və məni yenidən IPFS-i qazmağa sövq etdi. Yuxarıda qeyd olunan müzakirəyə gəlincə: Mən deyə bilmərəm ki, danışanların hər hansı arqumentinə qəti şəkildə qarşıyam (yalnız bir yarım proqramçının IPFS-dən istifadə etməsi ilə razı deyiləm). Ümumiyyətlə, hər ikisi özünəməxsus şəkildə haqlıdır (xüsusilə çeklər haqqında şərh düşünməyə vadar edir). Bəs mənəvi-hüquqi qiymətdən imtina etsək, bu texnologiyanın texniki qiymətini kim verəcək? Şəxsən məndə bir növ daxili hiss var ki, “bunu birmənalı şəkildə etmək lazımdır, bunun müəyyən perspektivləri var”. Ancaq niyə dəqiq olaraq, dəqiq bir formula yoxdur. Məsələn, mövcud mərkəzləşdirilmiş alətlərə baxsanız, bir çox cəhətdən onlar çox irəlidədirlər (sabitlik, sürət, idarəolunma və s.). Buna baxmayaraq, məntiqli görünən və belə mərkəzləşdirilməmiş sistemlər olmadan həyata keçirilə bilməyən bir fikrim var. Əlbəttə, mən çox yellənirəm, amma bunu belə ifadə edərdim: İnternetdə məlumatların yayılması prinsipi dəyişdirilməlidir.

İcazə ver izah edim. Fikir versəniz, indi bizdə “Ümid edirəm ki, onu kimlərə verdimsə, o qoruyacaq və o, nə itiriləcək, nə də nəzərdə tutulmayanlar tərəfindən alınmayacaq” prinsipi ilə yayılan məlumatlarımız var. Nümunə olaraq, müxtəlif poçt xidmətlərini, bulud anbarlarını və s. Və nə ilə yekunlaşacağıq? Habré mərkəzində İnformasiya təhlükəsizliyi birinci sıradadır və demək olar ki, hər gün başqa bir qlobal sızma haqqında xəbər alırıq. Prinsipcə, bütün ən maraqlı şeylər <irony> gözəl olaraq verilmişdir məqalə Yay bitmək üzrədir. Demək olar ki, heç bir sızmamış məlumat qalmayıb. Yəni əsas internet nəhəngləri böyüyür, onlar getdikcə daha çox məlumat toplayırlar və belə sızmalar bir növ informasiya atom partlayışıdır. Bu, əvvəllər heç vaxt olmamışdı və yenə də belədir. Eyni zamanda, bir çoxları risklərin olduğunu başa düşsələr də, öz məlumatlarını üçüncü tərəf şirkətlərinə etibar etməyə davam edəcəklər. Birincisi, çox alternativ yoxdur, ikincisi, bütün dəlikləri düzəltdiklərini və bunun bir daha təkrarlanmayacağına söz verirlər.

Mən hansı variantı görürəm? Mənə elə gəlir ki, məlumatlar əvvəlcə açıq şəkildə paylanmalıdır. Ancaq bu vəziyyətdə açıqlıq o demək deyil ki, hər şey oxumaq üçün asan olmalıdır. Mən saxlama və paylamanın açıqlığından danışıram, oxumaqda tam açıqlıqdan yox. Hesab edirəm ki, məlumat açıq açarlarla paylanmalıdır. Axı, açıq / şəxsi açarlar prinsipi artıq köhnədir, demək olar ki, İnternet kimi. Məlumat məxfi deyilsə və geniş dairə üçün nəzərdə tutulubsa, o, dərhal açıq açarla yerləşdirilir (lakin hələ də şifrələnmiş formada, sadəcə hər kəs mövcud açarla onu deşifrə edə bilər). Yoxdursa, o, açıq açar olmadan qoyulur və açarın özü bu məlumatlara çıxışı olmalıdır nəyə ötürülür. Eyni zamanda, onu oxumalı olanın yalnız açarı olmalıdır və bu məlumatı haradan əldə etmək olar, o, həqiqətən uçmamalıdır - sadəcə onu şəbəkədən çıxarır (bu, məzmuna görə deyil, yeni paylama prinsipidir. ünvanı).

Beləliklə, kütləvi hücum üçün təcavüzkarlar çox sayda şəxsi açar əldə etməli olacaqlar və bunun bir yerdə edilməsi çətin deyil. Bu vəzifə, mənim gördüyüm kimi, müəyyən bir xidməti sındırmaqdan daha çətindir.

Və burada başqa bir problem bağlandı: müəllifliyin təsdiqi. İndi İnternetdə dostlarımız tərəfindən yazılmış bir çox sitat tapa bilərsiniz. Bəs onları yazanların olduğuna zəmanət haradadır? İndi hər bir belə qeyd rəqəmsal imza ilə müşayiət olunsaydı, bu, çox asan olardı. Bu məlumatın harada olmasının əhəmiyyəti yoxdur, əsas odur ki, imzadır, onu saxtalaşdırmaq çətindir.

Və burada maraqlı olan budur: IPFS artıq şifrələmə alətlərini daşıyır (hər şeydən sonra blokçeyn texnologiyası üzərində qurulub). Şəxsi açar dərhal konfiqurasiyada göstərilir.

  "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.................

Mən təhlükəsizlik mütəxəssisi deyiləm və ondan necə düzgün istifadə edəcəyimi dəqiq bilmirəm, amma mənə elə gəlir ki, bu açarlar IPFS qovşaqları arasında mübadilə səviyyəsində istifadə olunur. Və həmçinin js-ipfs kimi nümunəvi layihələr orbit-dbüzərində işləyir orbit.chat. Yəni nəzəri olaraq, hər bir cihaz (mobil və təkcə deyil) asanlıqla öz şifrələmə-şifrləmə maşınları ilə təchiz oluna bilər. Bu vəziyyətdə, yalnız hər kəsin şəxsi açarlarını saxlamaqla məşğul olması qalır və hər kəs öz təhlükəsizliyinə cavabdeh olacaq və hansısa super-populyar internet nəhəngində başqa insan amilinin girovu olmayacaq.

Sorğuda yalnız qeydiyyatdan keçmiş istifadəçilər iştirak edə bilər. Daxil olunxahiş edirəm.

Daha əvvəl IPFS haqqında eşitmisiniz?

  • IPFS haqqında heç vaxt eşitməmişəm, amma maraqlı görünür

  • Eşitməmişəm və eşitmək də istəmirəm

  • Eşitdim amma maraqlanmadım

  • Eşitdim, amma başa düşmədim, amma indi maraqlı görünür

  • Mən uzun müddətdir ki, IPFS-dən fəal şəkildə istifadə edirəm.

69 istifadəçi səs verib. 13 istifadəçi bitərəf qalıb.

Mənbə: www.habr.com

Добавить комментарий