区块链技术是为加密货币和许多去中心化应用提供动力的协议。区块链是一种交易的数字记录,在链上的计算机网络中分布和复制。区块链中的单个交易被称为区块,所有区块都以类似于链的结构连接起来,因此被称为区块链。
区块链领域的最新创新是通过NFTs(不可伪造的代币)来表现和交易艺术品和收藏品。区块链交易是由哈希值记录的,哈希值是一个不可改变的、以密码学方式生成的ID。每当网络上的某个区块发生交易时,新交易的记录就会传遍整个区块链,使任何人都难以篡改系统。
在本教程中,我们将了解区块链,讨论NFT,最后,比较Ethereum和Flow开发NFT的情况。让我们开始吧!
区块链属性
要跟上这篇文章,你应该熟悉区块链网络的以下属性,这些属性结合在一起,使其成为一种安全和可信的技术:
- 匿名:区块链上的所有参与者都是匿名的,或者用假名来识别
- 安全性。区块链上的所有记录都是加密的,增加了一个额外的安全层
- 去中心化和透明。所有网络参与者都有每笔交易的记录
- 不变性。区块链网络上的交易是不可逆的,不能被改变。
- 时间戳。每笔交易都有交易发生时间的记录
- 分布式。每个参与者都同意网络上每个记录的有效性
- 可编程。所有区块链都是可编程的。以太坊使用Solidity,Flow使用Cadence,比特币使用Bitcoin Script来构建智能合约。
了解NFTs
NFT是一种独特的、不可替代的、不可交换的代币,像以太坊或比特币一样,作为一种加密资产发挥作用,并存储在区块链网络中。
NFTs和加密货币的主要区别是,加密货币可以交易或交换等价物,而NFTs不能。由于加密货币彼此相同,它们可以用于金融交易,而NFTs则不能,因为它们是独一无二的。
实际上,NFTs可以用来以数字方式代表实物资产,如房地产和艺术品。NFTs可以用于身份管理,创造一个新的市场和不同的投资形式。你也可能从游戏、数字艺术或互联网备忘录中认识到NFTs。
基本上,你应该了解以下几点:
- NFTs是在区块链上具有独特身份的加密资产
- NFTs是不可互换的,即不可相互替换的
- NFTs是现实世界物体的数字代表,如艺术品或房地产
- NFTs也被用来代表产权
- 现实世界资产的代币化使其可以交易并减少欺诈行为
Ethereum区块链
Ethereum是一个开源的、去中心化的区块链,具有智能合约功能。它是第二大区块链网络,以太币(ETH)作为其加密货币。在撰写本文时,许多NFT都在以太坊网络上。
一旦开发者意识到区块链可以用于加密货币交易以外的目的,Ethereum就被创造出来,以满足广泛的使用案例。
Ethereum使用Solidity,一种面向对象的编程语言,来构建智能合约和去中心化的应用程序。Solidity是一种只为以太坊虚拟机开发的编程语言。
与比特币不同,Ethereum可用于资产的数字化和作为点对点的货币交换。以太坊正在不断发展,看起来是许多区块链项目的理想解决方案。
当流行的、基于Ethereum的CryptoKitties游戏拖累了网络时,以太坊经历了一次挫折。因此,一种被称为Flow Blockchain的替代方案开始流行起来。
流动区块链
虽然Flow区块链是在2020年推出的,但许多人认为它是Ethereum的继任者。
由流行的CryptoKitties游戏的创造者在Dapper Labs创建,Flow是在CryptoKitties堵塞以太坊网络时推出的,其用户基础只有约1万个。Flow的目的是创建一个区块链平台,可以在其去中心化的应用程序上容纳数十亿的用户。
Flow是一个快速的、去中心化的区块链,加强了去中心化应用和NFT的开发。与其他区块链一样,Flow有自己的原生货币,被称为FLOW。FLOW是用于支付交易成本和网络上的赌注的储备资产。
与大多数区块链一样,Flow推出了自己的面向资源的编程语言Cadence,具有一些独特的功能,使其适用于智能合约的开发。
一些功能包括内置的函数和交易的前后条件,强大的静态类型系统,以及基于能力的安全性。目前,Flow是NBA Top Shot DApp的首选区块链。
现在我们了解了Flow和NFT的一些基本原理,让我们回顾一下在NFT开发时各自的优点和缺点。
交易费用
在决定使用哪种区块链进行NFT开发时,应该考虑相关的交易费用。
Ethereum用户支付气体费用作为成功执行智能合约的交易费。该费用取决于智能合约的复杂性和网络上的负载。在以太坊区块链上,气体费用是用(ETH)支付的,以太坊原生加密货币。有些时候,平均费用可以上升到20美元以上。
Flow引入了两项费用,一项是账户创建费,起价约为0.001 FLOW,约合0.008美元,而交易费起价约为0.000001 FLOW。账户创建费只在创建新账户时收取。它涵盖了存储价值100kB的数据的成本。交易费是每笔交易收取一次,发生在执行时间。
可扩展性
在建立任何类型的应用程序时,可扩展性是一个需要考虑的重要因素。Flow区块链的多节点架构使其比以太坊网络更有优势,Ethereum网络使用分片,这是一种将单个数据集存储在多个数据库中的方法。以下是Flow多节点架构中存在的各种节点。
- 执行节点。处理网络上每笔交易的所有计算工作
- 收集节点。改善网络连接,使数据可用于分散的应用程序
- 共识节点。决定网络上交易的顺序
- 验证节点。验证执行节点所做的工作
在Flow区块链网络上,执行节点和收集节点都是为了提高吞吐时间和网络可扩展性而实施的,而验证节点和共识节点则负责网络责任和安全。
Ethereum网络的日平均吞吐时间 约为每秒13至15笔交易,这对于大规模使用来说是不够的。Flow的意图是改善这一指标,在真正保持去中心化的同时,建立具有高安全性的可扩展DApps。
智能合约
Ethereum区块链是创建智能合约的最流行的区块链,以太坊智能合约以其不可更改性而闻名。执行后,在以太坊智能合约上进行的交易不能被改变,增加了安全性,提高了信任度。
你可能想知道如果交易有缺陷会怎样。Flow允许用户在其主网上发布处于测试状态的智能合约,因此智能合约的原作者可以逐步更新代码。用户可以决定是在任何时候使用该代码,还是等待它被完全更新。
当作者确定代码是安全的,不需要再控制代码时,智能合约就成为不可改变的。在Flow区块链网络上更新智能合约的能力使其变得灵活,并为终端用户更好地优化。
共识机制
Ethereum使用工作证明(PoW)机制,矿工们竞争看谁能创造更多的区块。能够比其他矿工更快地解决加密问题,在区块之间建立加密连接,并与网络分享新区块的矿工,会因此而获得以太币(ETH)。
使用PoW的一个紧迫问题是它的高能量要求。一个看似更好的替代方案是 "赌注证明"(PoS)机制,协议验证者用ETH来参与交易验证。验证者是随机选择的,创造新的区块,与网络共享,并赚取ETH。PoS将有可能减少PoW中的能源使用和气体费用。
虽然Flow已经在PoS共识协议上运行,但Ethereum还没有实现它。
账户模式
Ethereum区块链账户是基于256比特或32字节的四个十六进制数的私钥。当对私钥进行数学运算时,就会产生一个公钥。公钥经过一系列的数学运算,得到一个有效的地址。这是一个单向的过程,所以不能从一个有效的地址创建私钥。
在福禄区块链中,账户的创建是自动发生的,可以支持多个公钥。首先,公钥和私钥必须通过椭圆曲线数字签名算法(ECDSA)生成,这是数字签名算法的一个变种,它使用椭圆曲线加密法,或Secp256k1曲线,它是比特币公钥加密法中使用的椭圆曲线的参数。
然后,该交易被发送到区块链上。通过这个过程,新的账户存储被初始化,生成的密钥被分配给账户。在Flow区块链上,每个账户都有1 to n ,一对多的公钥映射到它。对于每个公钥,都有一个由账户持有人拥有的相应的私钥。
另一个需要考虑的差异在于智能合约的部署。在以太坊区块链上,智能合约被部署到个人账户,而在Flow区块链上,账户可以同时部署多个智能合约。
此外,在Ethereum区块链上,一个以太坊账户有能力通过以太坊事件日志跟踪它所互动的所有代币和智能合约。以太坊并没有为智能合约中的账户资产提供一个单一的存储。另一方面,由于Flow区块链的资源导向编程范式,用户可以有效地跟踪他们的资源与之互动过的智能合约。
工作理念
Ethereum背后的基本原则主要取决于敏捷性、通用性、简单性、模块化和非歧视性。
由于Ethereum的简单性,一个普通的软件工程师应该能够在Ethereum上成功开发一个DApp。
Ethereum开发者认为Ethereum区块链是一个通用的基础平台,可用于开发各种用途的应用程序,如NFT等真实资产的代币化,开发金融工具,以及开发货币。
Ethereum开发者正在寻找提高Ethereum区块链的安全性和可扩展性的手段。智能合约的开发需要一个复杂的过程,需要考虑大量的情况,因为每一个不必要的行动都有成本。智能合约开发者的一个主要任务是在应用架构和Solidity的特殊性之间找到一个平衡。
Flow的创造者是在与其他区块链,特别是Ethereum合作时收集到的经验而提出的理念。有了Flow区块链,开发者不再专注于复杂的具体细节,现在他们更专注于编写商业逻辑。
总结
在这篇文章中,我们了解了区块链技术的一些基础知识,NFT的基本原理,最后是Flow和Ethereum的主要区别。
如果你不打算在区块链上进行拍卖,那么Ethereum将是一个更好的选择。但是,如果你关心的是灵活性和实现逻辑,而且你不害怕承担风险和尝试新事物,那么Flow区块链是开发NFT的最佳选择。
我希望你喜欢这篇文章。如果你有任何问题,请留下评论。编码愉快!