IPFS pa dhimbje (por kjo nuk është e sigurt)

IPFS pa dhimbje (por kjo nuk është e sigurt)

Megjithëse në Habr kishte tashmë jo një artikull mbi IPFS.

Menjëherë po e sqaroj që nuk jam ekspert në këtë fushë, por kam shfaqur interes për këtë teknologji, megjithatë përpjekjet për ta shqyrtuar atë shpesh kanë shkaktuar dhimbje të caktuara. Sot po e filloj përsëri eksperimentimin dhe kam marrë disa rezultate, të cilat do të doja t'i ndaja. Nëse do ta shohim shkurt, do të përshkruhet procesi i instalimit të IPFS dhe disa nga tiparet (gjithçka është bërë në ubuntu, nuk kam provuar në platforma të tjera).

Nëse e keni humbur se çfarë është IPFS, është shkruar mjaft hollësisht këtu: habr.com/ru/post/314768

Instalimi

Për pastërtinë e eksperimentit, sugjeroj që ta instaloni menjëherë në ndonjë server të jashtëm, pasi do të shqyrtojmë disa nga pengesat me punën në modin lokal dhe atë të largët. Më vonë, nëse dëshironi, do të jetë e lehtë ta hiqni, pasi nuk është shumë.

Instaloni go

Dokumentacioni zyrtar
Shikoni versionin aktual në golang.org/dl

Vërejtje: është më mirë të instaloni IPFS nga emri i përdoruesit, të cilin e parashikoni ta përdorni më shpesh. Kjo sepse më poshtë do të shqyrtojmë mundësinë e montimit përmes FUSE dhe atje ka ndihmësit.

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

Më pas duhet të përditësoni ambientin (më shumë këtu: 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

Kontrolloni që go të jetë instaluar

go version

Instaloni IPFS

Më së shumti më pëlqeu mënyra e instalimit përmes ipfs-update.

E instalojmë me komandën

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

Pas kësaj mund të ekzekutoni komandat e tilla:

ipfs-update versions — pĂ«r tĂ« parĂ« tĂ« gjitha versionet e disponueshme pĂ«r shkarkim.
ipfs-update version — pĂ«r tĂ« parĂ« versionin aktual tĂ« instaluar (deri tani, pasi nuk kemi instaluar IPFS, do tĂ« jetĂ« none).
ipfs-update install latest — pĂ«r tĂ« instaluar versionin mĂ« tĂ« ri tĂ« IPFS. NĂ« vend tĂ« latest mund tĂ« jepni çdo version tĂ« dĂ«shiruar nga lista e disponueshme.

Instaloni ipfs

ipfs-update install latest

Po kontrollojmë

ipfs --version

Në përgjithësi, me instalimin është kështu.

Nisja e IPFS

Inicimi

Për të filluar, duhet të bëni një inicializim.

ipfs init

Si përgjigje do të merrni diçka të tillë:

 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

Mund të ekzekutoni komandën e rekomanduar

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Rezultati

Përshëndetje dhe Mirë se vini në IPFS!

██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗  ███████╗
██║██╔═══╝ ██╔══╝  ╚════██║
██║██║     ██║     ███████║
╚═╝╚═╝     ╚═╝     ╚══════╝

Nëse po e shihni këtë, keni instaluar me sukses
IPFS dhe tani jeni duke komunikuar me ipfs merkledag!

 -------------------------------------------------------
| Paralajmërim:                                          |
|   Kjo është softuer alpha. Përdorni me përgjegjësi!   |
|   Shumë gjëra mungojnë ose janë të papërfunduara. Ka gabime. |
|   Ende nuk është i sigurt. Lexoni shënimet për sigurinë për më shumë.   |
 -------------------------------------------------------

Shikoni disa nga skedarët e tjerë në këtë direktor:

  .\/about
  .\/help
  .\/quick-start     <-- shembuj përdorimi
  .\/readme          <-- ky skedar
  .\/security-notes

KĂ«tu, sipas mendimit tim, fillon tĂ« bĂ«het interesante. DjemtĂ« nĂ« fazĂ«n e instalimit fillojnĂ« tĂ« pĂ«rdorin teknologjitĂ« e tyre. Hash-i i propozuar QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv — nuk Ă«shtĂ« gjeneruar veçanĂ«risht pĂ«r ju, por Ă«shtĂ« i integruar nĂ« version. KĂ«shtu qĂ« para lĂ«shimit ata pĂ«rgatitĂ«n tekstin pĂ«rshĂ«ndetĂ«s, e lĂ«shuan nĂ« IPFS dhe adresĂ«n e shtuan nĂ« instalues. MĂ« duket se Ă«shtĂ« shumĂ« e shkĂ«lqyer. Dhe ky skedar (nĂ« fakt, e gjithĂ« dosja) tani mund tĂ« shikohet jo vetĂ«m lokal, por edhe nĂ« portĂ«n zyrtare. ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv. NĂ« tĂ« njĂ«jtĂ«n kohĂ«, mund tĂ« jeni tĂ« sigurt se pĂ«rmbajtja e dosjes nuk ka ndryshuar, sepse nĂ«se do tĂ« kishte ndryshuar, atĂ«herĂ« hash-i do tĂ« kishte ndryshuar gjithashtu.

Për t'u thënë, në këtë rast, IPFS ka disa ngjashmëri me një server të kontrollit të versioneve. Nëse bëni ndryshime në skedarët burim të dosjes dhe e lëshoni përsëri dosjen në IPFS, ajo do të marrë një adresë të re. Në të njëjtën kohë, dosja e vjetër nuk do të zhduket dhe do të jetë e disponueshme në adresën e saj të mëparshme.

Nisja e drejtpërdrejtë

ipfs daemon

Duhet të marrim përgjigje si kjo:

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

Hapur dyert për Internetin

Keni parasysh këto dy rreshta:

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

Nëse e keni instaluar IPFS lokal, do t'i qaseni ndërfaqeve të IPFS me adresat lokale dhe do t'ju jenë të gjitha të disponueshme (për shembull, localhost:5001/webui/). Por default, quando instalado em um servidor externo, os gateways estão fechados para a internet. Existem dois gateways:

  1. Painel de controle webui (github) na porta 5001.
  2. API externo na porta 8080 (somente leitura).

Por enquanto, para experimentos, vocĂȘ pode abrir ambas as portas (5001 e 8080), mas em um servidor de produção, a porta 5001 deve ser fechada pelo firewall. AlĂ©m disso, hĂĄ a porta 4001, que Ă© necessĂĄria para permitir que outros peers o encontrem. Deve ser mantida aberta para solicitaçÔes externas.

Abra para edição ~/.ipfs/config e encontre estas linhas:

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

Substitua 127.0.0.1 pelo IP do seu servidor e salve o arquivo; depois, reinicie o ipfs (pare o comando em execução com Ctrl+C e inicie novamente).

Deve ser obtido

...
WebUI: http://ip_seu_servidor:5001/webui
Servidor Gateway (somente leitura) escutando em /ip4/ip_seu_servidor/tcp/8080

Agora, as interfaces externas devem estar acessĂ­veis.

Verifique

http://domĂ­nio_ou_ip_servidor:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

O arquivo README acima deve abrir.

http://domĂ­nio_ou_ip_servidor:5001/webui/

A interface web deve abrir.

Se a webui estiver funcionando, vocĂȘ poderĂĄ alterar as configuraçÔes do IPFS diretamente nela, incluindo a visualização das estatĂ­sticas; porĂ©m, abaixo, discutirei opçÔes de configuração diretamente pelo arquivo de configuração, o que nĂŁo Ă© crĂ­tico. É bom lembrar onde exatamente o config estĂĄ e o que fazer com ele, pois se a interface web nĂŁo funcionar, serĂĄ mais complicado.

Configure a interface web para trabalhar com seu servidor

Aqui estĂĄ a primeira armadilha, na qual foram gastos cerca de trĂȘs horas.

Se vocĂȘ instalou o IPFS em um servidor externo, mas nĂŁo instalou ou nĂŁo executou o IPFS localmente, ao acessar /webui na interface web, deve ver um erro de conexĂŁo:

IPFS pa dhimbje (por kjo nuk është e sigurt)

O fato Ă© que, na minha opiniĂŁo, a webui funciona de forma bastante ambĂ­gua. Primeiro, ela tenta se conectar Ă  API do servidor onde a interface estĂĄ aberta (Ă© claro, baseando-se no endereço do navegador). Se nĂŁo conseguir, tenta se conectar ao gateway local. E se vocĂȘ tiver IPFS sendo executado localmente, a webui funcionarĂĄ normalmente, mas vocĂȘ estarĂĄ trabalhando com o IPFS local e nĂŁo o externo, mesmo que tenha aberto a webui em um servidor externo. Depois, vocĂȘ faz o upload de arquivos, mas, por algum motivo, nĂŁo os vĂȘ simplesmente no servidor externo...

Nëse edhe lokal nuk është i ndezur, atëherë marrim një gabim lidhjeje. Në rastin tonë, gabimi është për shkak të CORS-it, siç tregon gjithashtu webui, duke propozuar të shtojmë konfigurimin.

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://ip_adresa_e_serverit_ton:5001", "http://127.0.0.1:5001", "https://webui.ipfs.io"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'

Unë thjesht kam vendosur wildcard

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

Të gjitha titujt e shtuar mund të gjenden në të njëjtin ~/.ipfs/config. Në rastin tim, kjo është

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

Rifillojmë ipfs dhe shohim që webui është lidhur me sukses (në çdo rast duhet, nëse keni hapur portat për kërkesa nga jashtë, siç përshkruhet më lart).

Tani mund të ngarkoni dosje dhe skedarë direkt përmes ndërfaqes në internet, si dhe të krijoni dosjet tuaja.

Montimi i sistemit të dosjeve FUSE

Kjo është një karakteristikë mjaft interesante.

Ne mund të shtojmë skedarë (si dhe dosje) jo vetëm përmes ndërfaqes në internet, por edhe direkt në terminal, për shembull

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

Hash-i i fundit është hash-i i dosjes kryesore.

Me këtë hash mund të hapim dosjen në çdo nod ipfs (i cili mund të gjejë nodin tonë dhe të marrë përmbajtjen), mundemi në ndërfaqen në internet në portin 5001 ose 8080, ose lokalisht përmes ipfs.

ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx
QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt

Por gjithashtu mund të hapet si një dosje e zakonshme.

Le të krijojmë dy dosje në rrënjë dhe të japim të drejtat për to për përdoruesin tonë.

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

dhe ta rifillojmĂ« ipfs me flagun —mount

ipfs daemon --mount

Mund tĂ« krijoni dosje edhe nĂ« vende tĂ« tjera dhe tĂ« tregoni rrugĂ«n pĂ«r to pĂ«rmes parametrave ipfs daemon —mount —mount-ipfs /ipfs_path —mount-ipns /ipns_path

Tani leximi nga kjo dosje është paksa e pazakontë.

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

Pra, nuk ka akses direkt në rrënjën e kësaj dosje. Por mund të merrni përmbajtjen, duke e ditur hash-in.

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

Në të njëjtën kohë, brenda dosjes funksionon edhe auto-përfundimi kur shënoni rrugën.

Si si e thënë më parë, ka nuanca të caktuara për këtë montim: sipas parazgjedhjes, dosjet e montuara FUSE janë të accesueshme vetëm për përdoruesin aktual (edhe root nuk do të jetë në gjendje të lexojë nga një dosje të tillë, për të mos përmendur përdoruesit e tjerë në sistem). Nëse dëshironi që këto dosje të jenë të accesueshme për përdorues të tjerë, atëherë në konfigurim duhet të ndryshoni «FuseAllowOther»: false në «FuseAllowOther»: true. Por kjo nuk është e gjitha. Nëse IPFS e nisni në emër të root, atëherë është në rregull. Nëse e nisni në emër të një përdoruesi normal (pavarësisht se e përdorni sudo), do të merrni një gabim.

gabim ndihmës për montimin: fusermount: opsioni allow_other lejohet vetëm nëse 'user_allow_other' është vendosur në /etc/fuse.conf

Në një rast të tillë, duhet të ndryshoni /etc/fuse.conf, duke hequr komentimin nga rreshti #user_allow_other.

Pas kësaj, ripërsahtim ipfs.

Problemet e njohura me FUSE

Problemi është vërejtur disa herë, që pas rinisjes së ipfs me montim (apo ndoshta edhe në raste të tjera), pikat e montimit /ipfs dhe /ipns bëhen të paarritshme. Nuk ka qasje për to, dhe ls -la /ipfs tregon ???? në listën e të drejtave.

Kam gjetur këtë zgjidhje:

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

Pas kësaj, ripërsahtim ipfs.

Shtojmë shërbimin

Sigurisht, ekzekutimi në terminal është i përshtatshëm vetëm për testet fillestare. Në modin prodhuese, demoni duhet të niset automatikisht kur sistemi nis.

Në emër të sudo krijojmë skedarin /etc/systemd/system/ipfs.service dhe shkruajmë në të:

[Njësia]
Përshkrimi=IPFS Daemon
Pas=syslog.target network.target remote-fs.target nss-lookup.target

[Shërbimi]
Tipi=simple
ExecStart=/home/USERNAME/work/bin/ipfs daemon --mount
Përdorues=USERNAME
Rifillim=always

[Instalimi]
Dëshirohet nga=multi-user.target

USERNAME natyrisht duhet të zëvendësohet me përdoruesin tuaj (dhe ndoshta rruga e plotë për programin ipfs do të jetë ndryshe (duhet të tregoni pikërisht rrugën e plotë)).

Aktivizojmë shërbimin.

sudo systemctl enable ipfs.service

Nisim shërbimin.

sudo service ipfs start

Kontrollojmë statusin e shërbimit.

sudo service ipfs status

Për pastërti eksperimentale mund ta riballoni serverin më vonë, për të kontrolluar se ipfs fillon automatikisht.

Shtojmë peer që i njohim

Le tĂ« shqyrtojmĂ« njĂ« situatĂ« ku kemi nodet IPFS tĂ« instaluara nĂ« njĂ« server tĂ« jashtĂ«m dhe lokal. NĂ« serverin e jashtĂ«m, ne shtojmĂ« njĂ« skedar dhe pĂ«rpiqemi ta marrim atĂ« pĂ«rmes IPFS lokal nĂ«pĂ«rmjet CID. ÇfarĂ« do tĂ« ndodhĂ«? Sigurisht, serveri lokal do tĂ« dijĂ« shumĂ« pak pĂ«r serverin tonĂ« tĂ« jashtĂ«m dhe do tĂ« pĂ«rpiqet thjesht ta gjejĂ« skedarin pĂ«rmes CID duke "pyetur" tĂ« gjitha IPFS peer-at nĂ« dispozicion (me tĂ« cilĂ«t ka arritur tashmĂ« tĂ« "njoftohet"). Ata nga ana e tyre do tĂ« pyesin tĂ« tjerĂ«t. Dhe kĂ«shtu, derisa skedari tĂ« gjendet. NĂ« thelb, kjo ndodh edhe kur pĂ«rpiqemi tĂ« marrim skedarin pĂ«rmes portit zyrtar. ipfs.io. NĂ«se kemi fat, skedari do tĂ« gjendet brenda disa sekondash. Por nĂ«se jo, nuk do tĂ« gjendet as brenda disa minutash, gjĂ« qĂ« ndikon shumĂ« nĂ« komoditetin e punĂ«s. Por ne e dimĂ« se ku do tĂ« shfaqet fillimisht ky skedar. Pse nuk i japim menjĂ«herĂ« serverit tonĂ« lokal "KĂ«rko fillimisht aty"? Duket se kjo mund tĂ« bĂ«het.

1. Hymë në serverin e largët dhe në konfigurim ~/.ipfs/config kërkojmë

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

2. Kryejmë sudo service ipfs status dhe kërkojmë në të shënimet Swarm, për shembull:

Swarm announcing /ip4/ip_është_serverit_t tuaj/tcp/4001

3. Ndërtojmë nga kjo një adresë të përbashkët të formatit "/ip4/ip_është_serverit_t tuaj/tcp/4001/ipfs/$PeerID".

4. Për të qenë të sigurt, përmes webui tonë lokal, do të përpiqemi ta shtojmë këtë adresë në peer-at.

IPFS pa dhimbje (por kjo nuk është e sigurt)

5. NĂ«se gjithçka Ă«shtĂ« nĂ« rregull, hapim konfigurimin lokal ~/.ipfs/config, gjejmĂ« nĂ« tĂ« "Bootstrap": [

dhe e shkruajmë shtesë e parë në array adresën e marrë.

Rivendosim IPFS.

Tani do të shtojmë një skedar në serverin e jashtëm dhe do të përpiqemi ta kërkojmë në lokal. Duhet të vijë shpejt.

Por ky funksionalitet ende nuk është stabil. Sa kuptoj, edhe nëse ne e specifikojmë adresën e peerit në Bootstrap, gjatë punës IPFS ndryshon listën e lidhjeve aktive me peer-at. Në çdo rast, diskutimi mbi këtë dhe dëshirat për mundësinë e caktimit të peer-ave të përhershëm vazhdojnë këtu dhe duket se supozohet do të shtohet ndonjë funksionalitet në ipfs@5.0+

Lista e peer-ave aktualë mund të shihet ashtu si në webui ashtu edhe në terminal.

ipfs swarm peers

Në të dyja mund të shtoni manualisht peer-in tuaj.

ipfs swarm connect "/ip4/ip_është_serverit_t tuaj/tcp/4001/ipfs/$PeerID"

Derisa të përmirësojnë këtë funksionalitet, mund të shkruajmë një mjet që kontrollon nëse ka lidhje me peer-in e nevojshëm dhe nëse nuk ka, të shtojë lidhjen.

Reflektime

Mes atyre që janë njohur me IPFS, ka si argumente pro IPFS ashtu edhe kundër. Në thelb, kjo më detyroi të shqyrtoj përsëri IPFS. diskutimi Dhe në lidhje me diskutimin e përmendur: nuk mund të them se jam shumë kundër ndonjë argumenti të shprehur (nuk bien dakord vetëm me ata që thonë se një e gjysmë programuesish përdorin IPFS). Në përgjithësi, të dyja palët kanë një pikëpamje të arsyeshme (veçanërisht komenti në lidhje me çeqet na bën të mendojmë). Por nëse heqim vlerësimin moral e juridik, kush do të jepte vlerësimin teknik të kësaj teknologjie? Personalish, kam një ndjenjë të brendshme që 'kjo duhet patjetër, ka disa perspektiva'. Por pse saktësisht, nuk kam një formulim të qartë. Shembujt e mjeteve të centralizuara janë përpara në shumë parametra (qëndrueshmëria e punës, shpejtësia e punës, menaxhueshmëria, etj.). Megjithatë, kam një mendim që duken se ka kuptim dhe që ndoshta nuk mund të realizohet pa këto sisteme decentralizuar. Sigurisht, po e angazhoj veten shumë, por do ta formulonja kështu: principi i shpërndarjes së informacionit në internet duhet të ndryshohet.

Do ta shpjegoj. Nëse e mendojmë, tani informacioni shpërndahet sipas parimit 'Shpresoj që personi të cilit ia kam dhënë ta mbrojë atë dhe nuk do të humbasë ose nuk do të merret nga ata që nuk janë të autorizuar'. Për shembull, është e lehtë të shqyrtojmë shërbime të ndryshme postare, ruajtje në re, etj. Dhe çfarë kemi si rezultat? Në Habr Siguria informacionit është në krye dhe praktikisht çdo ditë marrim lajme për një shpërthim të ri global. Në thelb, të gjitha ato që janë më interesante janë të renditura në <ironik>artikul të mrekullueshëm</ironik>. Vera është pothuajse përfunduar. Nuk ka mbetur pothuaj asnjë të dhënë të humburPra, gjigantët e internetit bëhen gjithnjë e më të mëdhenj, akumullojnë më shumë informacion dhe njëlloj shpërthimesh janë lloji i shpërthimeve atomike informative. Kurrë nuk ka ndodhur diçka e tillë, dhe ja përsëri. Ndërkohë, ndonëse shumë e kuptojnë se ka rreziqe, vazhdojnë të besojnë të dhënat e tyre tek kompanitë e treta. Së pari, nuk ka shumë alternativa, dhe së dyti, ata premtojnë se kanë mbyllur të gjitha ato vrima dhe se diçka e tillë nuk do të ndodhë më kurrë.

ÇfarĂ« mund tĂ« duket si njĂ« mundĂ«si? MĂ« duket se tĂ« dhĂ«nat duhet tĂ« shpĂ«rndahen fillimisht nĂ« njĂ« mĂ«nyrĂ« tĂ« hapur. Por hapĂ«sira kĂ«tu nuk do tĂ« thotĂ« se gjithçka duhet tĂ« jetĂ« lehtĂ«sisht e lexueshme. Po flas pĂ«r hapĂ«sirĂ«n e ruajtjes dhe shpĂ«rndarjes, por jo pĂ«r hapĂ«sirĂ«n totale nĂ« lexim. Supozoj se informatat duhet tĂ« shpĂ«rndahen me çelĂ«sa publikĂ«. NĂ« fund tĂ« fundit, principi i çelĂ«save tĂ« hapur/mbyllur Ă«shtĂ« tashmĂ« i vjetĂ«r, praktikisht aq sa Interneti. NĂ«se informata nuk Ă«shtĂ« konfidenciale dhe Ă«shtĂ« e destinuar pĂ«r njĂ« audiencĂ« tĂ« gjerĂ«, atĂ«herĂ« ajo do tĂ« publikohet menjĂ«herĂ« me njĂ« çelĂ«s tĂ« hapur (por gjithsesi nĂ« formĂ«n e enkriptuar, thjesht qĂ« çdo kush mund ta dekriptojĂ« me çelĂ«sin e tij). Dhe nĂ«se jo, atĂ«herĂ« ajo publikohĂ«t pa çelĂ«sin e hapur, dhe çelĂ«si vetĂ« i jepet atij qĂ« duhet tĂ« ketĂ« akses nĂ« kĂ«tĂ« informacion. NdĂ«rkohĂ«, ai qĂ« duhet ta lexojĂ«, duhet tĂ« ketĂ« vetĂ«m çelĂ«sin, dhe se nga t’i marrĂ« kĂ«tĂ« informacion, nuk duhet ta shqetĂ«sojĂ« shumĂ« — ai thjesht e tĂ«rheq nga rrjeti (kjo Ă«shtĂ« parimi i ri i shpĂ«rndarjes sipas pĂ«rmbajtjes dhe jo sipas adresĂ«s).

Në këtë mënyrë, për të sulmuar masivisht, kriminelët do të duhet të sigurojnë një sasi të madhe çelësash të mbyllur, dhe nuk është e lehtë të bëhet kjo në një vend të vetëm. Kjo detyrë, sipas mendimit tim, është më e komplikuar se sa të thyhet një shërbim i caktuar.

Dhe këtu mbyllet një tjetër problem: konfirmimi i autorësisë. Tani në internet, mund të gjejmë shumë citate të shkruara nga njohuritë tona. Por ku është garancia që ata i kanë shkruar ata? Nëse çdo shkrim i tillë do të shoqërohej me një nënshkrim digjital, do të ishte shumë më e lehtë. Dhe nuk ka rëndësi ku ndodhet kjo informacion, gjëja më e rëndësishme është nënshkrimi, i cili është, në parim, i vështirë për t'u falsifikuar.

Dhe kjo është ajo që është interesante: IPFS tashmë ka në vetvete mjete enkriptimi (sepse është ndërtuar mbi teknologjinë blockchain). Në konfigurim është menjëherë i specifikuar çelësi privat.

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

Nuk e kam specializimin në siguri dhe nuk mund ta di saktësisht se si të përdoret siç duhet, por më duket se në nivelin e shkëmbimit mes nodëve IPFS këto çelësa përdoren. E gjithashtu, js-ipfs dhe projekte të tilla si orbit-db, mbi të cilën funksionon orbit.chat. Pra, teoriisht çdo pajisje (mobile dhe jo vetëm) mund të pajiset lehtësisht me makineri kriptimi dhe dekodimi. Në këtë rast, çdo individ duhet të kujdeset për ruajtjen e çelësave të tij privatë dhe do të jetë përgjegjës për sigurinë e tij, dhe jo të jetë një rob i ndonjë faktori njerëzor në ndonjë super-popullor te internetit.

Vetëm përdoruesit e regjistruar mund të marrin pjesë në anketë. Hyni, ju lutem.

A keni dëgjuar ndonjëherë për IPFS?

  • KurrĂ« nuk kam dĂ«gjuar pĂ«r IPFS, por duket interesante

  • Nuk kam dĂ«gjuar dhe nuk dua tĂ« dĂ«gjoj

  • Kam dĂ«gjuar, por nuk mĂ« ka interesuar

  • Kam dĂ«gjuar, por nuk e kuptova, tani duket interesante

  • KohĂ« mĂ« parĂ« e kam shpĂ«rdoruar IPFS

Kryesuan 69 përdorues. U përmbajtën 13 përdorues.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster