Ауырсынусыз IPFS (бірақ бұл дәл емес)

Ауырсынусыз IPFS (бірақ бұл дәл емес)

Хабре бұрыннан болғанына қарамастан IPFS туралы бірнеше мақала.

Мен бұл саланың маманы емес екенімді бірден түсіндіремін, бірақ мен бұл технологияға бірнеше рет қызығушылық таныттым, бірақ онымен ойнауға тырысу жиі ауырсынуды тудырды. Бүгін мен қайтадан тәжірибе бастадым және бөліскім келетін кейбір нәтижелерге қол жеткіздім. Қысқасы, IPFS орнату процесі және кейбір мүмкіндіктер сипатталады (бәрі ubuntu-да жасалды, мен оны басқа платформаларда сынамадым).

Егер сіз IPFS дегенді өткізіп алсаңыз, ол мұнда егжей-тегжейлі жазылған: habr.com/en/post/314768

параметр

Эксперименттің тазалығы үшін мен оны дереу сыртқы серверге орнатуды ұсынамын, өйткені біз жергілікті және қашықтан басқару режимінде жұмыс істеудің кейбір қателерін қарастырамыз. Содан кейін, егер қаласаңыз, оны бұзу көп уақытты қажет етпейді; онда көп нәрсе жоқ.

Go орнатыңыз

Ресми құжаттама
Ағымдағы нұсқаны мына жерден қараңыз golang.org/dl

Ескерту: IPFS-ті оны жиі пайдаланатын пайдаланушының атынан орнатқан дұрыс. Шындығында, төменде біз арқылы орнату нұсқасын қарастырамыз FUSE және онда нәзіктіктер бар.

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 орнатылғанын тексеру

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 интерфейстеріне қол жеткізесіз және бәрі сізге қолжетімді болады (Мысалы, жергілікті:5001/webui/). Бірақ сыртқы серверде орнатылған кезде, әдепкі бойынша шлюздер Интернетке жабық. Екінші шлюз:

  1. webui әкімшісі (GitHub) 5001 портында.
  2. 8080 портындағы сыртқы API (тек оқуға арналған).

Әзірге эксперименттер үшін екі портты да (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 (бірақ бұл дәл емес)

Менің ойымша, webui өте екіұшты жұмыс істейді. Біріншіден, интерфейс ашық сервердің API интерфейсіне қосылуға тырысады (әрине браузердегі мекенжай негізінде). және ол жерде жұмыс істемесе, ол жергілікті шлюзге қосылуға тырысады. Егер сізде жергілікті жерде IPFS жұмыс істейтін болса, webui сіз үшін жақсы жұмыс істейді, тек сіз сыртқы серверде webui ашқаныңызға қарамастан, сыртқы емес, жергілікті IPFS-пен жұмыс істейсіз. Содан кейін сіз файлдарды жүктейсіз, бірақ қандай да бір себептермен сіз оларды сыртқы серверде дәл осылай көрмейсіз ...

Ал егер ол жергілікті түрде іске қосылмаса, біз қосылу қатесін аламыз. Біздің жағдайда қате 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

және --mount жалауымен ipfs қайта іске қосыңыз

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 қалталарына тек ағымдағы пайдаланушы қол жеткізе алады (тіпті жүйедегі басқа пайдаланушыларды айтпағанда, мұндай қалтадан түбірлік файлды оқи алмайды) . Егер сіз бұл қалталарды басқа пайдаланушыларға қолжетімді еткіңіз келсе, конфигурацияда «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

Бұл жағдайда #user_allow_other жолына түсініктеме беру арқылы /etc/fuse.conf файлын өңдеу керек.

Осыдан кейін 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

USERNAME, әрине, пайдаланушымен ауыстырылуы керек (және, мүмкін, сіз үшін ipfs бағдарламасының толық жолы әртүрлі болуы мүмкін (толық жолды көрсетуіңіз керек)).

Біз қызметті қосамыз.

sudo systemctl enable ipfs.service

Біз қызметті бастаймыз.

sudo service ipfs start

Қызмет күйін тексеру.

sudo service ipfs status

Эксперименттің тазалығы үшін ipfs автоматты түрде сәтті іске қосылатынын тексеру үшін болашақта серверді қайта жүктеуге болады.

Бізге белгілі мерекелерді қосу

Сыртқы серверде де, жергілікті түрде де орнатылған IPFS түйіндері бар жағдайды қарастырайық. Сыртқы серверде біз кейбір файлды қосамыз және оны CID арқылы жергілікті IPFS арқылы алуға тырысамыз. Не болады? Әрине, жергілікті сервер біздің сыртқы серверіміз туралы ештеңе білмейді және оған қол жетімді барлық IPFS құрдастарынан «сұрау» арқылы CID файлын табуға тырысады (ол онымен «танысуға» үлгерді). Олар өз кезегінде басқалардан сұрайды. Файл табылмайынша. Шындығында, ресми шлюз арқылы файлды алуға тырысқанда да солай болады ipfs.io. Егер сәттілік болса, файл бірнеше секундта табылады. Ал егер жоқ болса, ол тіпті бірнеше минут ішінде табылмайды, бұл жұмыстың ыңғайлылығына қатты әсер етеді. Бірақ біз бұл файлдың қай жерде пайда болатынын білеміз. Неліктен біз жергілікті серверімізге «Алдымен сол жерден ізде» деп бірден айтпаймыз? Шамасы, мұны істеуге болады.

1. Қашықтағы серверге өтіп, конфигурацияда ~/.ipfs/config іздеңіз

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

2. Sudo сервисінің ipfs күйін іске қосыңыз және одан Swarm жазбаларын іздеңіз, мысалы:

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

3. Бұдан "/ip4/ip_your_server/tcp/4001/ipfs/$PeerID" пішінінің жалпы мекенжайын қосамыз.

4. Сенімділік үшін біз бұл мекенжайды жергілікті webui арқылы әріптестерге қосуға тырысамыз.

Ауырсынусыз 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 пайдаланады дегенмен келіспеймін). Жалпы, екеуі де өзінше дұрыс (әсіресе чектер туралы түсініктеме ойландырады). Бірақ моральдық-құқықтық бағаны алып тастасақ, бұл технологияға техникалық бағаны кім береді? Өз басым, «бұл сөзсіз жасалуы керек, оның белгілі бір болашағы бар» деген ішкі сезім бар. Бірақ неге дәл, нақты тұжырымы жоқ. Мысалы, егер сіз бұрыннан бар орталықтандырылған құралдарды қарасаңыз, онда олар көп жағынан алда (тұрақтылық, жылдамдық, басқарушылық және т.б.). Соған қарамастан, менде мағынасы бар және орталықтандырылмаған жүйелерсіз жүзеге асырылуы мүмкін бір ой бар. Әрине, мен тым қатты тербеліп жатырмын, бірақ мен оны былай тұжырымдар едім: Интернетте ақпаратты тарату принципін өзгерту керек.

Түсіндірейін. Ойлап қарасаңыз, қазір бізде «Мен оны кімге берсем, соны қорғайды деп үміттенемін және ол жоғалып кетпейді немесе арналмағандар қабылдамайды» деген қағида бойынша таратылатын ақпарат бар. Мысал ретінде әртүрлі пошта қызметтерін, бұлттық қоймаларды және т.б. қарастыру оңай. Ал біз немен бітеміз? Хабре хабында Ақпараттық қауіпсіздік бірінші қатарда және біз күн сайын дерлік тағы бір жаһандық ағып кету туралы жаңалықтар аламыз. Негізінде, ең қызықты нәрселердің барлығы <irony> тамаша тізімінде берілген мақала Жаз аяқталуға жақын. Ашықпаған деректер қалмады десе де болады. Яғни, негізгі интернет алпауыттары кеңейіп, оларда көбірек ақпарат жинақталады және мұндай ағып кетулер ақпараттық атомдық жарылыстардың бір түрі болып табылады. Бұл бұрын-соңды болмаған, міне, тағы да. Сонымен қатар, көптеген адамдар тәуекелдердің бар екенін түсінсе де, олар өз деректерін үшінші тарап компанияларына сенуді жалғастырады. Біріншіден, балама көп емес, екіншіден, олар барлық саңылауларды жамап тастадық және бұл ешқашан қайталанбайды деп уәде береді.

Мен қандай опцияны көріп тұрмын? Менің ойымша, бастапқыда деректер ашық түрде таратылуы керек. Бірақ бұл жағдайда ашықтық бәрі оңай оқылатын болуы керек дегенді білдірмейді. Мен сақтау мен таратудың ашықтығы туралы айтып отырмын, бірақ оқудағы толық ашықтық емес. Ақпаратты ашық кілттермен тарату керек деп ойлаймын. Ақыр соңында, ашық / жабық кілттер принципі Интернет сияқты ескі. Егер ақпарат құпия болмаса және кең шеңберге арналған болса, онда ол бірден ашық кілтпен орналастырылады (бірақ шифрланған түрде, оны кез келген адам қол жетімді кілтпен шеше алады). Ал егер олай болмаса, онда ол ашық кілтсіз орналастырылады және кілттің өзі осы ақпаратқа қол жеткізуге болатын нәрсеге беріледі. Сонымен қатар, оны оқуы керек адамның тек кілті болуы керек, ал бұл ақпаратты қайдан алу керек, ол шынымен ұшып кетпеуі керек - ол оны желіден тартып алады (бұл мазмұн бойынша емес, таратудың жаңа принципі. мекенжай).

Осылайша, жаппай шабуыл үшін шабуылдаушыларға көптеген жеке кілттерді алу қажет болады және мұны бір жерде жасау екіталай. Бұл тапсырма, менің ойымша, белгілі бір қызметті бұзудан гөрі қиынырақ.

Бұл жерде тағы бір мәселе жабылды: авторлықты растау. Қазір Интернетте достарымыз жазған көптеген дәйексөздерді таба аласыз. Бірақ оларды жазған солар екеніне кепілдік қайда? Енді әрбір осындай жазбаға электрондық цифрлық қолтаңба қойылса, әлдеқайда жеңіл болар еді. Бұл ақпараттың қай жерде екені маңызды емес, ең бастысы - қолтаңба, оны жасау қиын.

Мұнда қызықтысы мынада: IPFS шифрлау құралдарын алып жүреді (ақыр соңында ол блокчейн технологиясына негізделген). Жеке кілт бірден конфигурацияда көрсетіледі.

  "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 пайдаланушы қалыс қалды.

Ақпарат көзі: www.habr.com

пікір қалдыру