以太坊-智能合约

本文介绍了以太坊智能合约的基本概念及其运作机制。智能合约是在区块链上运行的程序,确保在每个节点中执行结果一致,以实现去中心化的验证。为消除不确定性,智能合约有诸多限制,如不支持浮点运算和随机数等。智能合约通过Solidity语言编写并编译成EVM字节码,在部署时获得一个地址,该地址可接收Ether且存储状态数据。合约只能被动调用,但能调用其他已部署合约的公共函数,这扩展了其功能但也增加了因代码漏洞导致的安全风险。

liujie Published on 2024-09-02

以太坊-交易

本文介绍了以太坊中交易的手续费机制,即Gas费用。与比特币不同,以太坊不仅支持基本的转账操作,还支持执行智能合约代码。为了确保合约代码可靠执行,每个虚拟机指令都有一个Gas基本费用(gasUsed),用户还需提供一个Gas价格(gasPrice)。交易前需设定gasPrice和gasLimit,如果执行过程中Gas耗尽,则交易失败但已消耗的Gas不退还。文章通过示例详细说明了如何计算交易费用,并解释了标准转账交易和合约交易的不同之处。最后强调,合约交易的实际Gas消耗难以精确预估,只能预先设定Gas Limit。

liujie Published on 2024-09-02

以太坊-区块结构

https://liaoxuefeng.com/books/blockchain/ethereum/block/index.html 比特币的区块链是由PoW保证每个区块都指向前一个区块,而在每一个区块内部,由一个独立的Merkle Tree来保证所有交易的不可篡改。用户的比特币是以UTXO的方式存

liujie Published on 2024-09-02

以太坊-账户

以太坊账户分为外部账户和合约账户,本文主要讨论普通用户使用的外部账户。一个以太坊账户由私钥推导出公钥,再通过keccak256哈希算法计算得到地址,采用非压缩公钥和十六进制编码。与比特币不同的是,以太坊使用keccak256而非SHA3-256。为防止地址抄写错误,以太坊引入了EIP-55校验机制,通过将部分字母大写实现简单校验。此外,以太坊可以复用比特币的HD钱包助记词生成多个地址,派生路径为`m/44'/60'/0'/0/0`等。

liujie Published on 2024-09-02

比特币的可编程支付原理

本文介绍了比特币支付机制及其背后的脚本系统。在比特币网络中,所有交易记录都存储于区块链上,并可通过公钥查询。用户通过私钥对交易签名来发起支付请求,矿工验证签名有效后将交易打包进区块。值得注意的是,比特币支付并非直接转账至目标地址,而是通过执行特定脚本来实现资产转移。这些脚本分为锁定脚本与解锁脚本两部分,前者定义了花费输出所需满足的条件,后者则提供了解锁所需的证明(如签名)。文章还探讨了P2PKH(Pay to Public Key Hash)标准脚本类型以及更复杂的多重签名脚本如何增强安全性并减少私钥丢失风险。最后指出,基于这种可编程特性,智能合约得以发展,能够自动执行预设条件下的数字资产转移,降低了传统金融活动中的信任成本。

liujie Published on 2024-09-02

比特币的UTXO模型

https://liaoxuefeng.com/books/blockchain/bitcoin/utxo/index.html 比特币的区块链由一个个区块串联构成,而每个区块又包含一个或多个交易。 如果我们观察任何一个交易,它总是由若干个输入(Input)和若干个输出(Output)构成,一个In

liujie Published on 2024-09-02

以太坊

以太坊是由Vitalik Buterin(V神)在2013年提出并于2015年正式启动的区块链平台,其主要特色在于支持智能合约。与比特币不同,以太坊通过EVM(以太坊虚拟机)实现图灵完备的编程环境,允许开发者创建和执行各种复杂的逻辑。以太坊采用账户余额模型而非比特币的UTXO模型,更符合用户的直观理解。最初,以太坊使用PoW共识机制进行挖矿,后转为PoS机制。以太币(Ether)作为平台代币,每个区块奖励为2 Ether,大约每13至15秒产生一个新区块。以太坊的设计使得它可以应用于更多场景,如发行新代币或构建去中心化应用等。

liujie Published on 2024-09-02

什么是ASIC芯片?与CPU、GPU、FPGA相比如何?

什么是ASIC芯片? ASIC(Application-Specific Integrated Circuit,应用专用集成电路)是一种专门为特定应用或用途设计和制造的集成电路。与通用处理器不同,ASIC仅在特定任务上表现优异,因此可以实现更高的性能和效率。 ASIC芯片的特点 • 高效能:由于是为

liujie Published on 2024-08-02

以太坊区块数据结构及以太坊的4棵数

本文介绍了以太坊区块链的基本知识,主要包括区块数据结构、数据结构基础以及以太坊的四种树(状态树、交易树、收据树和账户存储树)。每个区块由区块头、交易列表和叔区块组成,其中区块头包含块区号、块哈希等信息。数据结构基础部分详细讲解了Merkle树和Trie树的工作原理及其在以太坊中的应用。状态树采用Merkle-Patricia树来记录整个系统的所有账户状态,并且支持高效更新;交易树和收据树则使用普通的Merkle树来分别记录区块内的交易和交易收据。此外,文章还讨论了账户存储树,这是一种仅存在于合约账户中的数据结构,用于保存与智能合约相关的数据。通过这些树状结构,以太坊能够有效地管理和验证其分布式账本上的所有信息。

liujie Published on 2024-08-01

BlockChain 相关概念知识

本文介绍了区块链中“铭文”的概念及其在Web3中的应用,包括不可变数据存储、数字艺术和NFT以及信息验证等。文章重点讨论了比特币生态系统中几个热门协议,如Ordinals、BRC-20、STAMPS (SRC-20)、Atomcial (ARC-20) 和Runes等,它们各自具有独特的功能与特点。此外,还区分了铭文(Inscription)和符文(Rune),并列举了一些代表性的代币及相关的钱包和市场平台工具。最后,简要分析了比特币生态中的Layer2协议和其他项目,为读者提供了对比特币生态系统的全面了解。

liujie Published on 2024-06-26
Previous Next