为什么直接将文件存储在区块链上不可行?
2024-12-10分类:区块链新闻资讯 阅读()
在区块链上存储文件是区块链爱好者和开发者讨论的一个重要话题。 虽然技术上可以将文件直接存储在区块链上,但由于成本高昂且存储容量有限,这并不是一种实用的方法。 让我们探索使用区块链技术以分散且经济高效的方式存储文件的替代解决方案。
为什么直接将文件存储在区块链上不可行
将文件直接存储在区块链上似乎是去中心化文件存储的逻辑解决方案,但它并不实用。 直接将文件存储在区块链上不可行的原因有多种。
首先,在区块链上存储文件可能非常昂贵。 区块链交易使用“gas”进行处理,“gas”是支付给网络以执行交易的费用。 在区块链上存储文件的成本与文件的大小成正比。 例如,在撰写本文时,在Ethereum区块链上存储一个 1 MB 文件将花费约 57,332.91 美元的 Gas 费,这对于大多数用户来说不是一个可行的选择。
在Ethereum中,区块大小不是由最大大小限制决定的,而是由gas限制决定的。 Gas 限额是用户完成交易所需的最大 Gas 量(或能量单位)。 较高的 Gas 限制意味着完成交易需要更多的工作。 该成本随着Ethereum网络上的交易工作负载而变化。
例如,在一个区块中存储 1 KB 数据大约需要 640,000 Gas(以 20,000 标准 Gas 价格计算)。 Ethereum当前的区块限制为 1500 万个 Gas,可以根据需求扩展到 3000 万个。 因此,Ethereum中的区块大小可达 46 KB,具体取决于 Gas 限制。
为了举例说明在区块链上存储文件的成本很高,我们以Ethereum链为例。
在Ethereum上存储 1kb 的成本
Ethereum将数据存储在槽中。 每个槽的大小为 256 位。
根据Ethereum的黄皮书,存储单个槽 256 位需要 20,000 Gas。
8 位构成 1 个字节,因此 1 个槽为 32 个字节(256/8= 32 个字节)。
1kb 等于 1024 字节,因此它有 32 个槽(1024 字节/32 字节 = 32 个槽)。
存储 1kb 所需的 Gas 量为 32 个槽*20,000 个 Gas = 640,000 个 Gas
要将文件包含在调用数据交易的字段中,将花费额外的天然气。
每个字节花费 16 个 Gas,因此总数为 32 个插槽 * 32 个字节 * 16 个 Gas = 16,384 个 Gas
任何交易的基本 Gas 费为 21,000 Gas
因此存储 1kb 所需的总 Gas = 640,000 + 16,384 + 21,000 = 677,384 Gas
1 Gas 等于 0.00000005 ETH
因此,存储 1kb 需要花费 677,384 个 Gas* 0.00000005 = 0.0338692 ETH
ETH 当前价格为 1,787.57 美元,因此存储 1kb 的成本将为 60.66 美元
在Ethereum上存储 1MB 的成本
1MB = 1,000,000 字节
1,000,000 字节 / 32 字节 = 31,250 个插槽
31,250 个插槽 * 20,000 个 Gas = 625,000,000 个 Gas
31,250 个插槽 * 32 字节 * 16 Gas = 16,000,000 Gas 用于调用数据
基础 Gas 成本为 21,000 Gas
总气体 = 625,000,000 + 16,000,000 + 21,000 = 641,021,000 气体
1 Gas 等于 0.00000005 ETH
因此,存储 1MB 需要花费 641,021,000 Gas * 0.00000005 ETH = 32.05105 ETH = $57,332.91
显然,这种成本对于大多数用户和企业来说是令人望而却步的,使得直接将文件存储在区块链上成为不切实际的选择。 然而,还有更实用且更具成本效益的去中心化文件存储替代方法,我们将在下一节中探讨。
以分散的方式存储文件
去中心化是区块链世界的一个基本概念,文件存储也是如此。 分散式文件存储可确保数据不会存储在一个中心位置,否则可能会出现单点故障。 在去中心化存储系统中,数据分布在多个节点或计算机上,使其更加安全且不易受到攻击或操纵。 这种分布式架构还确保没有任何一个实体能够完全控制数据,从而确保更大的透明度和问责制。
在去中心化文件存储系统中,元数据起着至关重要的作用。 元数据是描述其他数据并提供上下文的数据,使管理和定位特定文件变得更加容易。 在分散式文件存储的背景下,元数据通常包括有关文件位置、访问权限和其他属性的信息。 元数据存储在区块链上,不可变、透明,保证数据不可篡改。
虽然由于成本高昂和技术限制,将文件直接存储在区块链上是不可行的,但将文档的哈希存储在链上,同时将整个文档保留在其他地方是一个实用的解决方案。 该文档可以存储在集中式数据库或分布式文件存储系统中,而哈希值则存储在区块链上。 通过对文档进行 SHA-256 等安全哈希算法并将哈希值存储在块中,哈希值就成为文档的唯一数字指纹。 这种方法节省了大量的空间和成本,因为哈希值远小于整个文档。 此外,它确保了原始文档的完整性和真实性,因为输入的任何更改都会导致与原始文档不同的全新哈希值。
去中心化存储网络
去中心化存储网络提供了一种以分布式、安全的方式存储数据的方法。 与将数据存储在单个服务器或数据中心的传统集中式存储服务不同,去中心化存储网络将数据存储在全球节点网络上。 这使得它们不易受到数据泄露和数据丢失的影响,因为数据被冗余地存储在多个位置。
去中心化存储网络的例子包括 Arweave、Filecoin 和 Storj。 这些网络的工作原理是允许用户出租未使用的存储空间以换取代币或其他奖励。 当用户想要存储文件时,它会被分成多个部分并分布在节点网络上。 数据经过加密并跨多个节点复制,确保即使一个节点发生故障,数据仍然可用。 让我们在以下部分中更多地探讨 Arweave 和 Filecoin。
Arweave
Arweave 的去中心化存储创新方法称为 permaweb,这是一个建立在 Arweave 之上的永久去中心化网络。 permaweb 由一组模块化且可互换的协议组成。 它解决了传统网络的关键缺陷,即缺乏内存。 当文档从网络中的一台服务器上删除时,它们就会从知识库中丢失。 Arweave 上的 permaweb 允许开发人员和用户共享一个弹性知识库,该知识库在世界各地永久大量复制。
Permaweb 的基础协议是 Arweave,它由两个基本组件提供支持:一个可扩展的类似区块链的结构,它使用新的挖掘系统和可持续的捐赠来确保任意标记数据的可用性和持久性。 这种方法使得以分散的方式存储大量数据成为可能,而无需支付与区块链存储相关的高成本。 Arweave 协议之上是一个分散的网关服务器网络,使网络浏览器可以轻松访问数据,而无需修改或专业软件。
通过结合这些元素,Arweave 上的 permaweb 提供了一种安全且分散的存储解决方案,旨在持续几个世纪。 与容易受到黑客攻击和数据泄露的集中式存储解决方案不同,permaweb 提供了一个有弹性且不可变的存储系统,可以抵抗篡改和审查。 难怪 Arweave 迅速获得认可,成为当今市场上最有前途的去中心化存储网络之一。
Filecoin
Filecoin 是一种独特的去中心化存储网络,提供内置的经济激励和加密技术,以确保文件随着时间的推移可靠地存储。 该系统建立在星际文件系统(IPFS)协议之上,该协议使用内容寻址来允许永久引用数据,并避免依赖特定设备或云服务器来寻址内容。 Filecoin 通过在顶部添加激励层来扩展 IPFS 的功能,激励内容可靠地存储和访问。
Filecoin 通过点对点网络运行,用户付费将文件存储在存储提供商上,存储提供商是负责存储文件并随着时间的推移证明他们已正确存储文件的计算机。 可用存储和该存储的价格不受任何单一公司控制。 相反,Filecoin 促进了任何人都可以参与的存储和检索文件的开放市场。这确保了存储成本在整个网络中均匀分配,没有中央机构控制价格。
Filecoin 有多种用例,包括 Web3 原生NFT和元宇宙/游戏资产存储、激励性永久存储以及归档 Web2 数据集作为云存储的更便宜的替代方案。 例如,NFT。 存储使用 Filecoin 为 NFT 内容和元数据提供简单的去中心化存储解决方案,而 Shoah 基金会和互联网档案馆则利用 Filecoin 来备份其内容。 此外,Filecoin 支持多种数据格式,包括音频和视频文件,允许 Audius 和 Huddle01 等 Web3 平台利用 Filecoin 作为音乐流和视频会议的去中心化存储后端。
去中心化文件存储的最佳实践
当涉及去中心化文件存储时,应该遵循一些最佳实践来确保数据可靠性、隐私性和安全性。
首先,建议将元数据存储在区块链上,同时将实际文件存储在 Arweave 或 Filecoin 等去中心化存储网络中。 这样,元数据就可以在区块链上公开访问和验证,而实际文件则以安全和去中心化的方式存储。
其次,数据冗余对于确保数据始终可用且可靠至关重要。 通过在不同位置存储文件的多个副本,可以大大降低由于单点故障而丢失数据的风险。 去中心化存储网络通常具有内置的冗余机制,以确保数据始终可用。
第三,保护数据隐私和安全至关重要。 应使用加密来保护传输中和静态的数据。 还应控制对数据的访问,以确保只有授权方才能访问它。 去中心化存储网络通常提供内置加密和访问控制机制。
去中心化文件存储的最佳实践包括在区块链上存储元数据、利用去中心化存储网络存储实际文件、确保数据冗余以提高可靠性以及保护数据隐私和安全。 通过遵循这些最佳实践,用户可以确保其数据以安全可靠的方式存储。
结论
虽然可以将文件直接存储在区块链上,但高昂的成本和可存储数据量的限制使其成为一种不切实际的方法。 Arweave 和 Filecoin 等去中心化文件存储网络提供了一种更可靠且更具成本效益的去中心化文件存储方法。 通过利用区块链上存储元数据和去中心化存储网络上的实际文件的组合,可以确保数据冗余以提高可靠性。 在存储过程中优先考虑数据隐私和安全也很重要。
随着区块链行业的不断发展,去中心化文件存储变得越来越普遍。 了解传统文件存储方法的局限性并探索和利用可用于安全可靠的文件存储的各种去中心化存储网络非常重要。 通过正确的方法和工具,去中心化文件存储可以为个人和企业提供更强大、更安全的存储解决方案。
Tags: