оорутпай 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 орнотулганын текшерүү

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 интерфейстерине киресиз жана бардыгы сизге жеткиликтүү болот (Мисалы, көрүү .xrf: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 (бирок бул так эмес)

Чындыгында, вебуи, менин оюмча, абдан түшүнүксүз иштейт. Биринчиден, интерфейси ачык болгон сервердин API'сине туташуу аракетин көрөт (албетте, браузердеги даректин негизинде). жана ал жерде иштебесе, ал жергиликтүү шлюз менен туташууга аракет кылат. Эгер сизде локалдуу IPFS болсо, анда webui сиз үчүн жакшы иштейт, сиз гана тышкы серверде webui ачканыңыз менен, тышкы эмес, жергиликтүү IPFS менен иштейсиз. Андан кийин сиз файлдарды жүктөйсүз, бирок кандайдыр бир себептерден улам сиз аларды тышкы серверде мындай көрбөйсүз ...

Ал эми жергиликтүү иштебесе, анда биз байланыш катасын алабыз. Биздин учурда, ката CORS менен байланыштуу болушу мүмкүн, ал вебуи тарабынан да көрсөтүлүп, конфигурацияны кошууну сунуш кылат.

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 папкалары учурдагы колдонуучуга гана жеткиликтүү (атүгүл root системадагы башка колдонуучуларды айтпаганда да, мындай папкадан окуй албайт). Эгер сиз бул папкаларды башка колдонуучуларга жеткиликтүү кылгыңыз келсе, анда конфигурацияда "FuseAllowOther": false дегенди "FuseAllowOther": чындыкка өзгөртүү керек. Бирок бул баары эмес. Эгер сиз IPFSди тамыр катары иштетсеңиз, анда баары жакшы болот. Ал эми кадимки колдонуучунун атынан болсо (судо болсо да), анда сиз ката аласыз

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 түйүндөрү тышкы серверде да, жергиликтүү түрдө да орнотулган жагдайды карап көрөлү. Тышкы серверде биз бир нече файлды кошуп, аны IPFS аркылуу жергиликтүү CID аркылуу алууга аракет кылабыз. Эмне болот? Албетте, локалдык сервер биздин тышкы серверибиз жөнүндө эч нерсе билбейт жана жөн гана ага жеткиликтүү болгон бардык 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 колдонот дегенге гана макул эмесмин). Жалпысынан алганда, экөө тең өз алдынча туура (айрыкча текшерүүлөр жөнүндө комментарий ойлонууга мажбурлайт). Бирок моралдык-укуктук бааны таштасак, бул технологияга ким техникалык баа берет? Жеке менде кандайдыр бир ички сезим бар, “бул сөзсүз түрдө аткарылышы керек, анын белгилүү бир келечеги бар” деген. Бирок эмне үчүн так, так формула жок. Мисалы, эгерде сиз иштеп жаткан борборлоштурулган куралдарды карасаңыз, анда алар көп жагынан алда канча алдыда (туруктуулук, ылдамдык, башкаруучулук ж.б.). Ошого карабастан, менде акылга сыярлык жана борбордон ажыратылган системаларсыз ишке ашыруу кыйынга турган бир ой бар. Албетте, мен өтө эле катуу селкинчек болуп жатам, бирок мен муну мындайча формулировкалайт элем: Интернетте маалымат таратуу принциби өзгөртүлүшү керек.

Мен түшүндүрүп берейин. Ойлоп көрсөңөр, азыр бизде «Мен аны кимге берсем, ошол коргойт жана ал жоголбойт, кимге арналбаган болсо, ошону алам деп ишенем» деген принцип менен таратылган маалымат бар. Мисал катары, ар кандай почта кызматтарын, булут сактагычтарын ж.б. карап чыгуу оңой. Анан эмне менен бүтөбүз? Habré борборунда Маалымат коопсуздугу биринчи сапта турат жана дээрлик күн сайын биз дагы бир глобалдык агып кетүү жөнүндө кабар алабыз. Негизи, эң кызыктуу нерселердин баары <ирония> сонунда келтирилген макала Жаз бүттү. Ачыкка чыкпаган маалыматтар дээрлик калган жок. Башкача айтканда, негизги интернет гиганттары чоңоюп баратат, алар барган сайын көбүрөөк маалымат топтоп жатышат жана мындай агып чыгуулар кандайдыр бир маалымат атомдук жарылуу болуп саналат. Буга чейин мындай болгон эмес, бул жерде дагы. Ошол эле учурда, көптөр тобокелчиликтер бар экенин түшүнсө да, алар өз маалыматтарын үчүнчү тараптын компанияларына ишене беришет. Биринчиден, көп альтернатива жок, экинчиден, алар бардык тешиктерди жамап койдук жана бул эч качан кайталанбайт деп убада беришет.

Мен кандай вариантты көрүп турам? Менимче, адегенде маалыматтар ачык таратылышы керек. Бирок бул учурда ачык-айкындык бардыгын окууга оңой болушу керек дегенди билдирбейт. Мен сактоонун жана бөлүштүрүүнүн ачыктыгы жөнүндө айтып жатам, бирок окуудагы толук ачыктык эмес. Мен маалымат ачык ачкычтар менен бөлүштүрүлүшү керек деп ойлойм. Анткени, ачык / купуя ачкычтардын принциби Интернет сыяктуу эле эски. Эгерде маалымат купуя эмес жана кеңири чөйрөгө арналган болсо, анда ал дароо ачык ачкыч менен жайгаштырылат (бирок дагы эле шифрленген түрдө, аны каалаган адам жеткиликтүү ачкыч менен чечмелей алат). Эгерде андай болбосо, анда ал ачык ачкычсыз жайгаштырылат жана ачкычтын өзү бул маалыматка жетүү мүмкүнчүлүгүнө ээ болгон нерсеге өткөрүлүп берилет. Ошол эле учурда, аны окуй турган адамдын ачкычы гана болушу керек жана бул маалыматты кайдан алса болот, ал чындап эле учуп кетпеши керек - аны жөн гана тармактан тартып алат (бул жаңы принцип боюнча эмес, мазмуну боюнча бөлүштүрүү. дареги).

Ошентип, массалык чабуул үчүн чабуулчулар көп сандагы жеке ачкычтарды алышы керек жана бул бир жерде жасалышы күмөн. Бул милдет, мен көрүп тургандай, белгилүү бир кызматты бузуп алуудан да кыйыныраак.

Бул жерде дагы бир көйгөй жабылды: автордукту ырастоо. Азыр интернетте досторубуз жазган көптөгөн цитаталарды таба аласыз. Бирок, аларды жазган ошолор экенине кепилдик кайда? Эми мындай жазуулардын ар бири цифралык кол тамга менен коштолсо, бир топ жеңил болмок. Бул маалымат кайда экени маанилүү эмес, эң негизгиси кол коюу, аны жасалмалоо кыйын.

Бул жерде кызыктуу нерсе: 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-dbанын үстүндө иштейт orbit.chat. Башкача айтканда, теориялык жактан алганда, ар бир аппарат (мобилдик жана гана эмес) өзүнүн шифрлөөчү-дешифрлөөчү машиналары менен оңой жабдылышы мүмкүн. Бул учурда, ар бир адам өзүнүн жеке ачкычтарын сактап калууга кам көрүү гана калат жана ар бир адам өзүнүн коопсуздугу үчүн жооп берет жана кандайдыр бир супер-популярдуу интернет гигантында башка адам факторунун барымтасы болбой калат.

Сурамжылоого катталган колдонуучулар гана катыша алышат. Кирүү, өтүнөмүн.

Сиз IPFS жөнүндө мурун уккан белеңиз?

  • Мен IPFS жөнүндө уккан эмесмин, бирок бул кызыктуу көрүнөт

  • Уккан жокмун жана уккусу да келбейт

  • Укту бирок кызыккан жок

  • Укту, бирок түшүнгөн жок, бирок азыр кызыктай сезилет

  • Мен көптөн бери IPFSди активдүү колдонуп келем.

69 колдонуучу добуш берди. 13 колдонуучу добуш берүүдөн баш тартты.

Source: www.habr.com

Комментарий кошуу