核心内容摘要
CogVideoX-2b在医疗科普的应用:疾病原理动态演示生成
早上例会CEO 突然拍着桌子说“如果亚马逊把我们封了我们的 NFT 就全都变成白板了这太中心化了Henry这周把所有的图片和前端网站都迁移到IPFS去。
我们要做到永不消失Unstoppable”我心里咯噔一下。
我知道这一周我又别想睡好觉了。
因为我知道 IPFS 的那个鬼脾气东西传上去容易想让别人看见难想改那更是难于上青天。
HTTP vs IPFS —— 找“位置”还是找“内容”为了搞懂怎么迁我得先给 Alex 讲明白这俩的区别。
HTTP (Web
是基于位置的。
逻辑https://aws.com/server-1/cat.jpg意思去aws.com这台服务器在server-1文件夹下找cat.jpg。
弱点如果服务器炸了或者管理员把图删了链接就失效了404。
IPFS (Web
是基于内容的。
逻辑ipfs://QmXyz
..(CID)意思全网谁有“哈希值为QmXyz...”的那张图请传给我。
特点我不关心图在哪台电脑上我只关心图的内容。
只要全网还有一个人存着这张图我就能下载下来。
️♂️
第一起事故 —— 薛定谔的文件Alex 很兴奋用自己的笔记本运行了一个 IPFS 节点把公司的 Logo 图片传了上去拿到了一个哈希值CID。
他在自己的浏览器里能打开非常高兴“搞定去中心化了”第二天早上事故来了。
Alex 合上了他的笔记本电脑下线了。
我在公司的服务器上试图访问那个 CID结果转圈转了一万年最后显示Time Out。
Alex 懵了“不是说 IPFS 是永久存储吗怎么我一下线就没了”Henry 的运维课堂“AlexIPFS 不是云盘它更像是一个BitTorrentBT下载网络。
你上传了文件只是表示‘你拥有这个文件并愿意分享’。
如果全网只有你一个人有这个文件Seeder而你下线了那就没人能供种了。
文件就暂时‘消失’了。
”️
解决方案 —— 插上“大头针” (Pinning)为了让文件不消失我们需要找一台24小时在线的服务器专门负责存这些文件并告诉全网“我有货”这个动作叫Pin (钉住)。
只要文件被 Pin 住IPFS 的垃圾回收机制Garbage Collection就不会把它删掉。
我的架构方案自建节点 (IPFS Cluster)我在 AWS 上开了 3 台大硬盘机器专门运行 IPFS Daemon。
Alex 每次传完文件必须调用这 3 台机器的 API 执行ipfs pin add CID。
第三方服务 (Pinata/Infura)为了双保险我又买了个Pinata的会员。
把 CID 也在他们那里 Pin 一份。
这样即便 AWS 炸了Pinata 还在供种。
第二起事故 —— 无法修改的错别字解决了存储Alex 把前端网站HTML/JS都传到了 IPFS生成了一个 CIDQmNewSite...。
他把这个 CID 给了市场部推广。
十分钟后市场部尖叫“首页有个大错别字快改”Alex 习惯性地修改代码重新上传。
崩溃时刻来了因为文件内容变了哪怕只改了一个字计算出来的哈希值CID完全变了新 CIDQmFixedSite...旧 CIDQmNewSite...依然存在而且永远是那个有错别字的版本。
后果市场部发出去的链接旧 CID永远指向那个错误页面。
我们没法“覆盖”它。
️
解决方案 —— IPNS 与 DNSLink在 IPFS 的世界里文件不可变。
要实现“更新网站”必须用一层**“指针”**。
IPNS (InterPlanetary Name System)这是一个基于私钥的指针。
逻辑ipns://我的公钥ID-- 指向 --Qm最新版本的CID。
更新时我发布新版本用私钥签名告诉网络“我的公钥现在指向这个新 CID 了。
”缺点巨慢无比。
解析一次 IPNS 可能要 30 秒。
DNSLink (运维首选)还是用传统的DNS来救场。
操作我在 GoDaddy 买个域名app.myweb
com。
加一条TXT 记录dnslink/ipfs/QmFixedSite...用户访问app.myweb
com。
浏览器/网关检测到 TXT 记录自动去 IPFS 捞QmFixedSite...的内容。
更新流程 Alex 每次发版 - 拿到新 CID - 我调用脚本更新 DNS 的 TXT 记录。
效果用户域名不变看到的内容变了。
附录Henry 的去中心化运维笔记
CID (Content ID)那串Qm...开头的乱码。
它是文件的指纹。
文件内容变 1 个比特CID 就面目全非。
这保证了防篡改。
Gateway (网关)普通浏览器Chrome打不开ipfs://协议。
我们需要一个HTTP 网关比如https://ipfs.io/ipfs/CID作为桥梁。
运维技巧别用公共网关太慢、限流。
要自建网关或者用 Cloudflare 的 IPFS 网关配上 CDN速度才像 Web2。
第 12 天的感悟“我对 CEO 说‘老板去中心化是好但它意味着我们失去了对文件的绝对控制权。
我们删不掉旧文件也快不过中心化 CDN。
我们现在做的其实是用最复杂的架构IPFS Pinning DNSLink CDN去模拟一个最简单的 Web2 体验。
这就是 Web3 现在的代价为了‘永不消失’我们必须忍受‘难以改变’。
’”