前言
通信技术让世界具备了更多的连接,我们每个人都在这样的连接中被影响和受益着。同时这种连接也产生了更多对于监视需求的便利。许多人的隐私或自由可能会在不经意间受到影响,而这也催生了对于隐私保护的需求。通常,由于中心化服务器的存在,我们很难实现完整的隐私保护,而分布式的存储等技术,则让其成为了可能。
无数的开发者加入了Web3的开发实现中,陆续构建一个又一个伟大的Dapp,他们在普通用户与区块链底层技术中扮演着重要的中间人角色。与此同时,对于普通人接触的最多的web-ui与IPFS,它们之间的安全也值得被探索。
知道创宇区块链安全实验室将对此进行详细解读。
Web3.0中,分布式的公链技术设施提供了各种接口供给使用者调用,但这些接口无法直接被普通用户直接去使用。对用户来说,Web-interface是用户和运行在Web服务器上的软件之间的桥梁。用户使用浏览器连接Web-interfacce后进行展示与交互,同时通过钱包进行身份识别。对底层区块链基础设施来说,Web-interface是公链/智能合约的一层封装,将其包装成为友好的页面可直接可用的功能展示给用户。其结构功能类似如下的图片:
2.IPFS是什么
星际文件系统是分布式存储和共享文件的网络传输协议,它将现有的成功系统分布式哈希表、版本控制系统Git、BitTorrent、自认证文件系统与区块链相结合。正是这些系统的综合优势,给IPFS带来了以下显著特性:
1.永久的、去中心化保存和共享文件
2.点对点超媒体:P2P保存各种各样类型的数据
3.版本化:可追溯文件修改历史
4.内容可寻址:通过文件内容生成独立哈希值来标识文件,而不是通过文件保存位置来标识
美联储5月加息25个基点的概率升至45.1%:金色财经报道,据CME“美联储观察”:美联储5月维持利率不变的概率为54.9%,加息25个基点至5.00%-5.25%区间的概率为45.1%;到6月降息25个基点的概率为7.8%,维持利率不变的概率为53.5%,累计加息25个基点的概率为38.7%。[2023/3/28 13:30:06]
当用户将文件添加到IPFS时,该文件会被拆分为更小的块,经过加密哈希处理并赋予内容标识符CID作为唯一指纹;当其他节点查找该文件时,节点会询问对等节点谁存储了该文件CID引用的内容,当查看、下载这份文件时,他们将缓存一份副本——同时成为该内容的另一个提供者,直到他们的缓存被清除。
IPFS使用实例
网站?https://ipfs.io?提供一个带UI界面的客户端,安装运行后会启动IPFS的服务,显示当前的节点ID、网关和API地址:
我们导入想上传的文件,上传文件成功后会生成该文件的CID信息,通过QmHash我们也能查找到指定的文件:
由于IPFS是分布式存储和共享文件的网络传输协议,因此上传成功的文件被拷贝到其他节点上后,即使我们本地节点主动删除,依然可以在IPFS网络查询到该文件:
IPFS中的传统安全问题
根据使用实例,我们知道IPFS允许上传任意类型的文件,由于允许Web访问下载文件的特性,导致攻击者可以像传统安全一样使用HTML或SVG文件实现钓鱼:
以?https://IPFS.io?网关为例,上传一个Metamask钓鱼网站,由于存储在受信域名里,受害者访问该文件很可能攻击成功:
但由于IPFS只能通过CID查询文件,使得钓鱼攻击的利用面很窄,没办法定向的实施攻击。既然CID是发起定向攻击的关键,那我们回头研究下CID。
ETH 2.0总质押数已超1708.18万:金色财经报道,数据显示,ETH 2.0总质押数已超1708.18万,为17081815个,按当前市场价格,价值约273.85亿美元。此外,目前ETH 2.0质押总地址数已超54.71万,为547062个。[2023/2/27 12:30:52]
IPLD是构建IPFS的数据层,它定义了默克尔链接、默克尔有向无环图(Merkle-DAG)和默克尔路径三种数据类型,通过IPLD发送到IPFS的数据保存在链上,使用者会收到一个CID来访问该数据。
CID是一个由Version、Codec和Multihash三部分组成的字符串,目前分成V0和V1两个版本。V0版采用Base58编码生成CID,V1版包含表明内容的编号种类Codec、哈希算法MhType和哈希长度MhLength共同构成:
`CID::=`
我们以go-cid生成一组CID测试:
packagemain
import(
"fmt"
mc"github.com/multiformats/go-multicodec"
mh"github.com/multiformats/go-multihash"
cid"github.com/ipfs/go-cid"
)
const(
File="./go.sum"
)
funcmain(){
pref:=cid.Prefix{
Version:?0,
Web3风投机构Coinsilium 2022年部署57.5万美元的加密货币、元宇宙和DeFi投资:2月2日消息,英国上市Web3风投机构Coinsilium Group Ltd于2022年向DeFi、元宇宙、交易、玩赚和时尚领域几家Pre-Seed和种子阶段Web3项目注资57.5万美元,投资项目包括Yellow Network(20万美元)、Silta Finance(7.5万美元)、GGs.io(10万美元)、Metalinq Labs(20万美元)。
Coinsilium还宣布,它已被任命为时尚品牌Blvck Paris的顾问,负责其“Blvck Genesis”NFT系列的发布。(Proactive Investors)[2023/2/2 11:43:37]
Codec:??mc.Raw,
MhType:??mh.Base58,
MhLength:-1,
}
c,err:=pref.Sum(byte("CIDTest"))
iferr!=nil{...}
fmt.Println("CID:",c)
}
可以看到在生成CID的过程中,无法实现结果的预测和更换,我们再往上分析上传文件的部分。将文件上传到IPFS,通过块的方式保存到本地blockstore的过程位于/go-ipfs-master/core/commands/add.go:
typeAddEventstruct{
Name?string
Hash?string`json:",omitempty"`
DEX平台Dexalot上线Avalanche子网:金色财经报道,去中心化交易平台Dexalot宣布上线Avalanche子网(Subnet)。
子网是Dexalot双链应用程序的关键支柱。用户通过Avalanche C-Chain上的Dexalot应用程序存入和提取资产,然后在Dexalot子网上进行交易。主网和子网之间的通信,通过使用高端跨链通信协议的通用消息传递进行。简单来说,Dexalot子网旨在复制CEX的用户体验,而不影响去中心化和透明度。
此前消息,Dexalot完成700万美元融资,Blizzard、Avalaunch、Colony、Benqi、AVentures、Avascan、Republic Capital、GSR、Muhabbit Capital、Woodstock Capital、Maven Capital、IPC等参投。[2023/2/2 11:41:49]
Bytesint64?`json:",omitempty"`
Size?string`json:",omitempty"`
}
const(
quietOptionName????="quiet"
quieterOptionName???="quieter"
silentOptionName???="silent"
progressOptionName??="progress"
trickleOptionName???="trickle"
wrapOptionName????="wrap-with-directory"
美联储提名人:加密货币有潜力也有风险 需要进行监管:金色财经消息,前Ripple顾问、被拜登提名为美联储监管副主席的Michael Barr在周四的参议院听证会上表示,他认为加密货币技术提供了“一些上行潜力,也有一些重大风险”。
他表示,“在稳定币等问题上,可能存在金融稳定风险,我认为国会和监管机构面对这些金融稳定风险并进行监管是非常重要的。”至于人们视为投资的加密货币,主要需要关注的是投资者保护,“这实际上是其他机构的责任。”
据悉,如果获得参议院批准,这位前美国财政部高级官员将成为美联储下一任监管副主席,并将在稳定币的未来发展中发挥关键作用。他还将参与美联储是否推出数字美元的决定。Barr称,在美联储做出决定之前,这需要得到国会和政府的批准。(CoinDesk)[2022/5/20 3:28:58]
onlyHashOptionName??="only-hash"
chunkerOptionName???="chunker"
pinOptionName?????="pin"
rawLeavesOptionName??="raw-leaves"
noCopyOptionName???="nocopy"
fstoreCacheOptionName="fscache"
cidVersionOptionName?="cid-version"
hashOptionName????="hash"
inlineOptionName???="inline"
inlineLimitOptionName="inline-limit"
)
把上传文件信息保存到AddEvent对象中,再通过/go-ipfs-master/core/coreunix/add.go里的addALLAndPin和fileAdder.AddFile方法遍历文件路径,读取文件内容,将数据送入块中:
func(adder*Adder)AddAllAndPin(ctxcontext.Context,filefiles.Node)(ipld.Node,error){
ctx,span:=tracing.Span(ctx,"CoreUnix.Adder","AddAllAndPin")
deferspan.End()
ifadder.Pin{//knownsec如果被锁定
adder.unlocker=adder.gcLocker.PinLock(ctx)
}
deferfunc(){
ifadder.unlocker!=nil{
adder.unlocker.Unlock(ctx)
}
}()
iferr:=adder.addFileNode(ctx,"",file,true);err!=nil{
returnnil,err
}
mr,err:=adder.mfsRoot()
iferr!=nil{
returnnil,err
}
varrootmfs.FSNode
rootdir:=mr.GetDirectory()//knownsec获取路径
root=rootdir
err=root.Flush()
iferr!=nil{
returnnil,err
}
_,dir:=file.(files.Directory)
varnamestring
if!dir{
children,err:=rootdir.ListNames(adder.ctx)//knownsec展示当前路径文件名
iferr!=nil{
returnnil,err
}
iflen(children)==0{
returnnil,fmt.Errorf("expectedatleastonechilddir,gotnone")
}
name=children
root,err=rootdir.Child(name)
iferr!=nil{
returnnil,err
}
}
err=mr.Close()
iferr!=nil{
returnnil,err
}
nd,err:=root.GetNode()
iferr!=nil{
returnnil,err
}
err=adder.outputDirs(name,root)
iferr!=nil{
returnnil,err
}
ifasyncDagService,ok:=adder.dagService.(syncer);ok{
err=asyncDagService.Sync()
iferr!=nil{
returnnil,err
}
}
if!adder.Pin{
returnnd,nil
}
returnnd,adder.PinRoot(ctx,nd)
}
最后再利用addFile函数完成文件的上传:
func(adder*Adder)addFile(pathstring,filefiles.File)error{
varreaderio.Reader=file
ifadder.Progress{
rdr:=&progressReader{file:reader,path:path,out:adder.Out}//knonwsec按字节读取文件
iffi,ok:=file.(files.FileInfo);ok{
reader=&progressReader2{rdr,fi}
}else{
reader=rdr
}
}
dagnode,err:=adder.add(reader)//knownsec添加上传文件
iferr!=nil{
returnerr
}
returnadder.addNode(dagnode,path)
}
分析代码发现,IPFS在打包文件上传返回CID的整个过程,都没实现劫持的可能,而成功上传的文件无法实现修改其内容,同样无法实现篡改:
后记
Web3建立在区块链技术之上,无需中央机构即可维护。其允许用户在互联网上保护他们的数据,并允许网络平台的去中心化。而IPFS技术对他来说就如同一台电脑的硬盘,web-ui就如同主机的显示器一样不可或缺,其间亦存在着复杂而多样的安全风险可能给予不法分子可乘之机,理解其风险并避免发生问题是每一位Web3从业人员的责任与义务。
親愛的用戶:幣安合約將推遲原定於2022年05月26日17:00AKROU本位永續合約的自動清算和交易對下架,至2022年05月27日15:00.
1900/1/1 0:00:00更专注一级市场、公募、二级市场潜力币推荐,项目孵化的探究、暴涨山寨币,优质币种的挑选和做到更专业,提供海内外一级市场优质项目----区块链阿生公链的潜力未来依然是无限大的,特别是一些创新的公链.
1900/1/1 0:00:00经Odaily星球日报不完全统计,5月23日-5月29日当周公布的海内外区块链融资事件共47起,较前一周有一定减少;已披露融资总额约为6.2亿美元,较前一周有一定下降.
1900/1/1 0:00:00尊敬的欧易用户:欧易上线Terra(LUNA),具体时间如下:LUNA充值:已经开放LUNA/USDT、LUNA/USDC的开盘时间:平台在用户充值数量符合开通交易的情况下,第一时间上线交易.
1900/1/1 0:00:00进入2022年,投资者放弃了风险较高的投资,加密货币在2022年急剧下跌。但摩根大通表示,在抛售后,它普遍认为比特币和加密市场有“上行空间”,使数字资产成为首选的另类投资.
1900/1/1 0:00:00DearValuedUsers,CandyDropislaunchingBWOonMay28,2022.Registrationperiod:?BWO:11:00(UTC)May28.
1900/1/1 0:00:00