IPFS бе дард (аммо ин дақиқ нест)

IPFS бе дард (аммо ин дақиқ нест)

Сарфи назар аз он, ки он аллакай дар Habré буд зиёда аз як мақола дар бораи IPFS.

Иҷозат диҳед фавран фаҳмонам, ки ман мутахассиси ин соҳа нестам, аммо ман ба ин технология бештар аз як маротиба таваҷҷӯҳ зоҳир кардаам, аммо кӯшиши бозӣ кардан бо он аксар вақт каме дард меовардам. Имрӯз ман бори дигар таҷрибаҳоро оғоз кардам ва баъзе натиҷаҳоро гирифтам, ки мехостам мубодила кунам. Хулоса, раванди насби IPFS ва баъзе ҳиллаҳо тавсиф карда мешаванд (ҳама чиз дар ubuntu анҷом дода шудааст, ман онро дар платформаҳои дигар санҷидаам).

Агар шумо нафаҳмида бошед, ки IPFS чист, он дар ин ҷо ба таври муфассал навишта шудааст: habr.com/en/post/314768

параметр

Барои тозагии таҷриба, ман пешниҳод мекунам, ки онро фавран дар сервери беруна насб кунед, зеро мо баъзе домҳоро ҳангоми кор дар реҷаи маҳаллӣ ва дурдаст баррасӣ хоҳем кард. Пас, агар шумо хоҳед, барои вайрон кардани он вақти зиёд лозим нест; он ҷо бисёр нест.

Гузаштан насб кунед

Ҳуҷҷатҳои расмӣ
Барои версияи ҷорӣ нигаред golang.org/dl

Эзоҳ: Беҳтар аст, ки IPFS-ро аз номи корбаре насб кунед, ки интизор меравад онро бештар истифода кунад. Далели он аст, ки дар зер мо варианти васлкуниро тавассути баррасӣ хоҳем кард ФУТБОЛ ва дар он ҷо нозукиҳо вуҷуд доранд.

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

Пас шумо бояд муҳити атрофро навсозӣ кунед (тафсилоти бештар дар ин ҷо: 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 version

Насб кардани IPFS

Ба ман усули насб бештар писанд омад: ipfs-навсозӣ.

Мо онро бо фармон насб мекунем

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

Пас аз ин шумо метавонед фармонҳои зеринро иҷро кунед:

версияҳои ipfs-навсозӣ — барои дидани ҳамаи версияҳои дастрас барои зеркашӣ.
версияи навсозии ipfs — барои дидани версияи ҷории насбшуда (то даме ки мо IPFS насб накунем, он ҳеҷ чиз нахоҳад буд).
ipfs-навсозии охирин насб кунед — версияи охирини IPFS-ро насб кунед. Ба ҷои охирин, шумо метавонед мувофиқан ягон версияи дилхоҳро аз рӯйхати версияҳои дастрас муайян кунед.

Насб кардани ipfs

ipfs-update install latest

Санҷиш

ipfs --version

Ҳама чиз бевосита бо насб дар маҷмӯъ.

Оғози IPFS

Ибтидоӣ

Аввал шумо бояд оғозкуниро иҷро кунед.

ipfs init

Дар ҷавоб шумо чунин чизе хоҳед гирифт:

 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

Шумо метавонед фармони пешниҳодшударо иҷро кунед

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Дар натиҷа

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

Дар ин ҷо, ба назари ман, чизҳо ҷолиб мешаванд. Ҳатто дар марҳилаи насб, бачаҳо аллакай ба истифодаи технологияҳои худ шурӯъ мекунанд. Хэши пешниҳодшудаи QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv махсус барои шумо тавлид нашудааст, балки дар барориши худ ҷойгир карда шудааст. Яъне пеш аз баровардан онҳо матни истиқбол омода карда, онро ба IPFS рехтанд ва суроғаро ба насбкунанда илова карданд. Ман фикр мекунам, ки ин хеле аҷиб аст. Ва ин файлро (аниқтараш, тамоми ҷузвдон) акнун на танҳо ба таври маҳаллӣ, балки дар шлюзи расмӣ дидан мумкин аст. ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv. Дар ин ҳолат, шумо метавонед боварӣ ҳосил кунед, ки мундариҷаи ҷузвдон ба ҳеҷ ваҷҳ тағир наёфтааст, зеро агар онҳо тағир меёфтанд, ҳаш низ тағир меёфт.

Дар омади гап, дар ин ҳолат, IPFS бо сервери идоракунии версия якчанд шабоҳат дорад. Агар шумо ба файлҳои сарчашмаи ҷузвдон тағирот ворид кунед ва папкаро дубора ба IPFS бор кунед, он суроғаи нав мегирад. Дар айни замон, папкаи кӯҳна ҳамон тавр ба ҳеҷ куҷо намеравад ва дар суроғаи қаблии худ дастрас хоҳад буд.

Оғози мустақим

ipfs daemon

Шумо бояд чунин посух гиред:

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

Кушодани дарҳои интернет

Ба ин ду сатр диққат диҳед:

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

Ҳоло, агар шумо IPFS-ро ба таври маҳаллӣ насб карда бошед, пас шумо ба интерфейсҳои IPFS бо истифода аз суроғаҳои маҳаллӣ дастрасӣ пайдо мекунед ва ҳама чиз барои шумо дастрас хоҳад буд (Масалан, localhost:5001/webui/). Аммо вақте ки дар сервери беруна насб карда мешавад, ба таври нобаёнӣ шлюзҳо ба Интернет баста мешаванд. Ду дарвоза вуҷуд дорад:

  1. администратори вебуи (Гитуб) дар порти 5001.
  2. API-и беруна дар порти 8080 (танҳо барои хондан).

Дар айни замон, ҳарду портро (5001 ва 8080) барои таҷрибаҳо кушодан мумкин аст, аммо дар сервери истеҳсолӣ, албатта, порти 5001 бояд бо девори девор баста шавад. Инчунин бандари 4001 мавҷуд аст, он лозим аст, то ҳамсолони дигар шуморо пайдо кунанд. Он бояд барои дархостҳои берунӣ кушода бошад.

~/.ipfs/config-ро барои таҳрир кушоед ва ин сатрҳоро дар он пайдо кунед:

"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-ро ба IP-и сервери худ иваз мекунем ва файлро захира мекунем ва пас аз он мо ipfs-ро бозоғоз мекунем (фармони иҷрошаванда бо Ctrl+C қатъ карда, онро дубора иҷро кунед).

Бояд гирифт

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

Акнун интерфейсҳои беруна бояд дастрас бошанд.

Санҷед

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

Файли Readme дар боло бояд кушода шавад.

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

Интерфейси веб бояд кушода шавад.

Агар шумо webui кор карда бошед, пас танзимоти IPFS-ро мустақиман дар он тағир додан мумкин аст, аз ҷумла дидани омор, аммо дар зер ман имконоти конфигуратсияро мустақиман тавассути файли конфигуратсия баррасӣ мекунам, ки ин умуман муҳим нест. Дар хотир доштан беҳтар аст, ки конфигуратсия дар куҷост ва бо он чӣ кор кардан лозим аст, вагарна агар интерфейси веб кор накунад, он душвортар хоҳад буд.

Танзими интерфейси веб барои кор бо сервери шумо

Ана дамаи аввалин, ки барои он се соат сарф шуд.

Агар шумо IPFS-ро дар сервери беруна насб карда бошед, аммо IPFS-ро ба таври маҳаллӣ насб накардаед ё иҷро накардаед, пас вақте ки шумо ба /webui дар интерфейси веб меравед, шумо бояд хатогии пайвастшавиро бинед:

IPFS бе дард (аммо ин дақиқ нест)

Гап дар сари он аст, ки вебуи, ба назари ман, хеле дигар кор мекунад. Аввалан, он кӯшиш мекунад, ки ба API-и сервере, ки интерфейс кушода аст, пайваст шавад (албатта дар асоси суроғаи браузер). ва агар он дар он ҷо кор накунад, он гоҳ кӯшиш мекунад, ки ба дарвозаи маҳаллӣ пайваст шавад. Ва агар шумо IPFS-ро ба таври маҳаллӣ иҷро кунед, пас webui барои шумо хуб кор мекунад, танҳо шумо бо IPFS маҳаллӣ кор хоҳед кард, на берунӣ, гарчанде ки шумо webui дар сервери беруна кушодаед. Пас шумо файлҳоро бор мекунед, аммо бо баъзе сабабҳо шумо онҳоро дар сервери беруна намебинед...

Ва агар он ба таври маҳаллӣ оғоз нашавад, мо хатои пайвастшавӣ мегирем. Дар ҳолати мо, хатогӣ эҳтимолан ба CORS вобаста аст, ки онро webui низ нишон медиҳад, ки илова кардани конфигуратсияро пешниҳод мекунад.

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

Ман танҳо як аломати ваҳшӣ барои худ ба қайд гирифтам

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

Сарлавҳаҳои иловашударо дар ҳамон ~/.ipfs/config пайдо кардан мумкин аст. Дар ҳолати ман он аст

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

Мо ipfs-ро бозоғоз мекунем ва мебинем, ки webui бомуваффақият пайваст шудааст (ҳадди аққал он бояд агар шумо шлюзҳоро барои дархостҳо аз берун кушода бошед, тавре ки дар боло тавсиф шудааст).

Акнун шумо метавонед ҷузвдонҳо ва файлҳоро мустақиман тавассути интерфейси веб бор кунед ва инчунин ҷузвдонҳои шахсии худро эҷод кунед.

Насб кардани системаи файлии FUSE

Ин як хусусияти хеле ҷолиб аст.

Мо метавонем файлҳоро (ба монанди ҷузвдонҳо) на танҳо тавассути интерфейси веб, балки бевосита дар терминал, масалан, илова кунем

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

Хеши охирин хэши папкаи реша аст.

Бо истифода аз ин хэш, мо метавонем папкаро дар ҳама гиреҳи ipfs кушоем (ки метавонад гиреҳи моро пайдо кунад ва мундариҷаро гирад), мо метавонем онро дар интерфейси веб дар порти 5001 ё 8080 иҷро кунем ё мо метавонем онро тавассути ipfs ба таври маҳаллӣ иҷро кунем.

ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx
QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt

Аммо шумо метавонед онро ҳамчун ҷузвдони муқаррарӣ кушоед.

Биёед дар реша ду ҷузвдон эҷод кунем ва ба онҳо ба корбари худ ҳуқуқ диҳем.

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

ва ipfs-ро бо парчами --mount аз нав оғоз кунед

ipfs daemon --mount

Шумо метавонед бо истифода аз параметрҳои демони ipfs -mount -mount-ipfs /ipfs_path -mount-ipns /ipns_path шумо метавонед дар ҷойҳои дигар ҷузвдонҳо эҷод кунед ва роҳро ба онҳо муайян кунед

Ҳоло аз ин папка хондан каме ғайриоддӣ аст.

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

Яъне, дастрасии мустақим ба решаи ин ҷузвдон вуҷуд надорад. Аммо шумо метавонед мундариҷаро гиред, агар шумо ҳашро медонед.

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

Ғайр аз он, дар дохили ҷузвдон, ҳатто ҳангоми муайян кардани роҳ, пурракунии худкор кор мекунад.

Тавре ки ман дар боло гуфтам, нозукиҳои ин гуна васлкунӣ мавҷуданд: ба таври нобаёнӣ, ҷузвдонҳои насбшудаи FUSE танҳо ба корбари ҷорӣ дастрасанд (ҳатто root наметавонад аз чунин ҷузвдон хонда шавад, ба истиснои корбарони дигари система) . Агар шумо хоҳед, ки ин ҷузвдонҳоро барои корбарони дигар дастрас кунед, пас дар танзимот шумо бояд "FuseAllowOther" -ро тағир диҳед: false ба "FuseAllowOther": true. Аммо ин ҳама нест. Агар шумо IPFS-ро ҳамчун реша иҷро кунед, ҳама чиз хуб аст. Ва агар аз номи корбари муқаррарӣ (ҳатто sudo), шумо хатогӣ хоҳед гирифт

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

Дар ин ҳолат, ба шумо лозим аст, ки /etc/fuse.conf-ро бо шарҳи хати #user_allow_other таҳрир кунед.

Пас аз ин мо ipfs-ро бозоғоз мекунем.

Масъалаҳои маълум бо FUSE

Мушкилоте беш аз як маротиба мушоҳида шудааст, ки пас аз бозоғоз кардани ipfs бо васлкунӣ (ва шояд дар ҳолатҳои дигар), нуқтаҳои васлкунии /ipfs ва /ipns дастнорас мешаванд. Ба онҳо дастрасӣ нест, аммо ls -la /ipfs нишон медиҳад ???? дар рӯйхати ҳуқуқҳо.

Ман ин ҳалли худро ёфтам:

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

Пас мо ipfs-ро аз нав оғоз мекунем.

Илова кардани хидмат

Албатта, кор дар терминал танҳо барои санҷишҳои ибтидоӣ мувофиқ аст. Дар ҳолати ҷанг, демон бояд ҳангоми оғоз шудани система ба таври худкор оғоз шавад.

Аз номи sudo, файли /etc/systemd/system/ipfs.service-ро эҷод кунед ва ба он нависед:

[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

Истифодабаранда, албатта, бояд бо корбари шумо иваз карда шавад (ва шояд роҳи пурраи барномаи ipfs барои шумо гуногун бошад (шумо бояд роҳи пурраро муайян кунед)).

Биёед хидматро фаъол кунем.

sudo systemctl enable ipfs.service

Биёед хидматро оғоз кунем.

sudo service ipfs start

Санҷиши ҳолати хидмат.

sudo service ipfs status

Барои тозагии таҷриба, дар оянда серверро бозоғоз кардан мумкин аст, то тафтиш кунед, ки ipfs ба таври худкор бомуваффақият оғоз мешавад.

Илова кардани ҳамсолони ба мо маълум

Биёед вазъиятеро дида бароем, ки мо гиреҳҳои IPFS ҳам дар сервери беруна ва ҳам ба таври маҳаллӣ насб кардаем. Дар сервери беруна мо якчанд файл илова мекунем ва кӯшиш мекунем, ки онро тавассути IPFS ба таври маҳаллӣ тавассути CID дастрас кунем. Чӣ мешавад? Албатта, сервери маҳаллӣ ба эҳтимоли зиёд дар бораи сервери берунии мо чизе намедонад ва танҳо кӯшиш мекунад, ки файлро тавассути CID тавассути "пурсидан" аз ҳама ҳамсолони IPFS дастраси он пайдо кунад (бо он аллакай тавонист "шинос шавад"). Онхо дар навбати худ аз дигарон мепурсанд. Ва ғайра то пайдо шудани файл. Воқеан, ҳамин чиз рӯй медиҳад, вақте ки мо кӯшиш мекунем, ки файлро тавассути шлюзи расмӣ қабул кунем ipfs.io. Агар шумо хушбахт бошед, файл пас аз чанд сония пайдо мешавад. Ва агар не, пас он ҳатто дар якчанд дақиқа пайдо намешавад, ки ин ба бароҳатии кор таъсир мерасонад. Аммо мо медонем, ки ин файл аввал дар куҷо пайдо мешавад. Пас, чаро мо фавран ба сервери маҳаллии худ намегӯем, ки "Аввал ба он ҷо нигаред"? Аз афташ, ин корро кардан мумкин аст.

1. Ба сервери дурдаст равед ва дар конфигуратсия ~/.ipfs/config -ро ҷустуҷӯ кунед

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

2. Ҳолати ipfs sudo service-ро иҷро кунед ва дар он вурудоти Swarm-ро ҷустуҷӯ кунед, масалан:

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

3. Аз ин мо суроғаи умумии шакли “/ip4/ip_of_your_server/tcp/4001/ipfs/$PeerID”-ро илова мекунем.

4. Барои эътимоднокӣ, биёед кӯшиш кунем, ки ин суроғаро тавассути вебуи маҳаллии худ ба ҳамсолон илова кунем.

IPFS бе дард (аммо ин дақиқ нест)

5. Агар ҳама чиз хуб бошад, конфигуратсияи маҳаллии ~/.ipfs/config -ро кушоед, дар он "Bootstrap" -ро пайдо кунед: [...
ва суроғаи қабулшударо аввал ба массив илова кунед.

IPFS-ро аз нав оғоз кунед.

Акнун биёед файлро ба сервери беруна илова кунем ва кӯшиш кунем, ки онро дар сервери маҳаллӣ дархост кунем. Бояд зуд парвоз кунад.

Аммо ин функсия ҳанӯз устувор нест. То ҷое ки ман мефаҳмам, ҳатто агар мо суроғаи ҳамсолро дар Bootstrap муайян кунем, дар вақти кор ipfs рӯйхати пайвастҳои фаъолро ба ҳамсолон иваз мекунад. Дар ҳар сурат, муҳокимаи ин ва хоҳишҳо дар бораи имкони муайян кардани ҳамсолони доимӣ идома дорад. дар ин ҷо ва ба назар чунин мерасад тахмин ба баъзе функсияҳо илова кунед [почтаи электронӣ ҳифз карда шудааст]+

Рӯйхати ҳамсолони кунуниро ҳам дар webui ва ҳам дар терминал дидан мумкин аст.

ipfs swarm peers

Дар ҳарду ҷой шумо метавонед ба таври дастӣ ҷашни худро илова кунед.

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

То он даме, ки ин функсия такмил дода нашавад, шумо метавонед асбоберо нависед, то пайвастшавӣ бо ҳамсолони дилхоҳро тафтиш кунед ва агар не, пайвастшавиро илова кунед.

Мулоҳиза

Дар байни онҳое, ки аллакай бо IPFS шиносанд, ҳам далелҳо барои ва ҳам муқобили IPFS мавҷуданд. Асосан, як рӯз пеш аз дирӯз муҳокима ва маро водор кард, ки боз ба IPFS кобед. Ва дар мавриди баҳси дар боло зикршуда: Ман наметавонам бигӯям, ки ман ба ҳеҷ як аз далелҳои зикршудаи онҳое, ки суханронӣ кардаанд, комилан муқобилам (ман танҳо бо он ки якуним барномасозон IPFS-ро истифода мебаранд, розӣ нестам). Умуман, ҳарду ба таври худ дурустанд (хусусан шарҳ дар бораи чекҳо шуморо ба андеша водор мекунад). Аммо агар баҳои маънавию ҳуқуқиро як сӯ гузорем, ба ин технология кӣ чӣ гуна баҳои фаннӣ медиҳад? Шахсан ман як навъ эҳсоси ботинӣ дорам, ки "ин бешубҳа зарур аст, он дурнамои муайян дорад". Аммо чаро маҳз, формулаи дақиқ вуҷуд надорад. Мисли, агар шумо ба асбобҳои мавҷудаи марказонидашуда назар андозед, пас онҳо аз бисёр ҷиҳатҳо хеле пешанд (устувории кор, суръати кор, идорашаванда ва ғайра). Бо вуҷуди ин, ман як идеяе дорам, ки ба назар маъно дорад ва онро бидуни чунин системаҳои ғайримарказӣ амалӣ кардан душвор аст. Албатта, ман аз ҳад зиёд фишор медиҳам, аммо ман инро чунин шарҳ медиҳам: принсипи паҳн кардани иттилоот дар Интернет бояд тағир дода шавад.

Биёед фаҳмонам. Агар шумо дар ин бора фикр кунед, ҳоло мо маълумотро аз рӯи принсипи «Умедворам, ки касе, ки ман онро ба ӯ додам, онро муҳофизат мекунад ва онро касе гум намекунад ва аз ҷониби касе, ки барои ӯ пешбинӣ нашудааст» паҳн мекунад. Мисол, баррасии хидматҳои гуногуни почтаи электронӣ, нигоҳдории абр ва ғайра осон аст. Ва дар ниҳоят мо чӣ дорем? Ҳуб дар Ҳабре Амнияти иттилоот дар сатри аввал аст ва қариб ҳар рӯз мо дар бораи боз як ихроҷи глобалӣ хабар мегирем. Аслан, ҳама чизҳои ҷолибтарин дар мақолаи аҷоиб оварда шудаанд Тобистон кариб ба охир мерасад. Қариб ягон маълумоти фошшуда боқӣ намондааст. Яъне бузургҷуссаҳои асосии интернетӣ рӯз то рӯз калон мешаванд, онҳо ҳарчи бештар маълумот ҷамъ мекунанд ва ин гуна ихроҷҳо як навъ таркишҳои атомии иттилоотӣ мебошанд. Ин пеш аз ин ҳеҷ гоҳ рӯй надода буд ва боз такрор мешавад. Дар айни замон, гарчанде ки бисёриҳо дарк мекунанд, ки хатарҳо вуҷуд доранд, онҳо минбаъд низ маълумоти худро ба ширкатҳои сеюм бовар мекунанд. Аввалан, алтернативаи зиёд вуҷуд надорад ва дуюм, онҳо ваъда медиҳанд, ки ҳама сӯрохиҳоро пӯшонидаанд ва дигар ҳеҷ гоҳ такрор нахоҳад шуд.

Кадом вариантро ман мебинам? Ба назари ман, маълумот дар аввал бояд ошкоро паҳн карда шавад. Аммо ошкорбаёнй дар ин маврид маънои онро надорад, ки ҳама чиз бояд осон хонда шавад. Ман дар бораи ошкорбаёнии нигоҳдорӣ ва тақсимот сухан меронам, аммо на ошкорбаёнии мутолиа. Ман фикр мекунам, ки маълумот бояд бо калидҳои ҷамъиятӣ паҳн карда шавад. Дар ниҳоят, принсипи калидҳои ҷамъиятӣ/хусусӣ аллакай мисли Интернет кӯҳна аст. Агар маълумот махфӣ набошад ва барои доираи васеъ пешбинӣ шуда бошад, он гоҳ он фавран бо калиди оммавӣ ҷойгир карда мешавад (аммо ба ҳар ҳол дар шакли рамзгузоришуда, танҳо ҳар кас метавонад онро бо калиди мавҷуда рамзкушоӣ кунад). Ва агар не, он бе калиди ҷамъиятӣ ҷойгир карда мешавад ва худи калид ба шахсе интиқол дода мешавад, ки бояд ба ин маълумот дастрасӣ дошта бошад. Дар айни замон, шахсе, ки онро бояд хонд, бояд танҳо калид дошта бошад ва аз куҷо гирифтани ин маълумот барои ӯ муҳим нест - вай танҳо онро аз шабака мекашад (ин принсипи нави тақсимот аз рӯи мундариҷа аст, на аз рӯи суроға).

Ҳамин тариқ, барои ҳамлаи азим, ҳамлагарон бояд миқдори зиёди калидҳои хусусиро ба даст оранд ва гумон аст, ки ин дар як ҷо анҷом дода шавад. Ин вазифа, тавре ки ман мебинам, аз ҳакерӣ кардани хидмати мушаххас душвортар аст.

Ва ин ҷо як мушкили дигар ба миён меояд: тасдиқи муаллифӣ. Акнун дар Интернет шумо метавонед иқтибосҳои зиёдеро, ки дӯстони мо навиштаанд, пайдо кунед. Аммо дар куҷо кафолати он аст, ки маҳз онҳо навиштаанд? Ҳоло, агар ҳар як чунин сабт бо имзои рақамӣ ҳамроҳ мешуд, он хеле соддатар мебуд. Ва муҳим нест, ки ин маълумот дар куҷо ҷойгир аст, чизи асосӣ ин имзо аст, ки баръало сохтан душвор аст.

Ва дар ин ҷо чизи ҷолиб ин аст: IPFS аллакай асбобҳои рамзгузориро дар бар мегирад (дар ниҳоят, он дар технологияи blockchain сохта шудааст). Калиди хусусӣ фавран дар конфигуратсия нишон дода мешавад.

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

Ман мутахассиси амният нестам ва ман аниқ намедонам, ки чӣ тавр онро дуруст истифода барам, аммо ба назарам ин калидҳо дар сатҳи мубодила байни гиреҳҳои IPFS истифода мешаванд. Ва инчунин js-ipfs ва чунин лоиҳаҳои намунавӣ ба монанди орбита-дб, ки дар он кор мекунад orbit.chat. Яъне, аз ҷиҳати назариявӣ, ҳар як дастгоҳ (мобилӣ ва на танҳо) метавонад ба осонӣ бо мошинҳои рамзгузорӣ ва рамзкушоии худ муҷаҳҳаз карда шавад. Дар ин ҳолат, ҳама чиз боқӣ мемонад, ки ҳама дар бораи ҳифзи калидҳои шахсии худ ғамхорӣ кунанд ва ҳама барои амнияти худ масъул хоҳанд буд ва гаравгони омили дигари инсонӣ дар кадом як бузургҷуссаи машҳури интернетӣ набошанд.

Танҳо корбарони сабтиномшуда метавонанд дар пурсиш иштирок кунанд. даромад, Лутфан.

Оё шумо қаблан дар бораи IPFS шунидаед?

  • Ман ҳеҷ гоҳ дар бораи IPFS нашунидаам, аммо ҷолиб ба назар мерасад

  • Ман нашунидам ва шунидан хам намехохам

  • Ман дар ин бора шунидам, аммо ман таваҷҷӯҳ надоштам

  • Ман инро шунидам, аммо нафаҳмидам, аммо ҳоло ҷолиб ба назар мерасад

  • Ман муддати тӯлонӣ IPFS-ро фаъолона истифода мебарам.

69 корбар овоз доданд. 13 корбар худдорӣ карданд.

Манбаъ: will.com

Илова Эзоҳ