#精通区块链开发技术

区块链入门到实战(23)之以太坊(Ethereum) – 虚拟机架构

以太坊(Ethereum)网络中,定义了一组通用协议用于支持智能合约的运行,其核心便是以太坊(Ethereum)虚拟机。下图解释了该架构:开发人员使用Solidity等开发语言开发智能合约源程序被编译成以太坊虚拟机支持的字节码可执行程序可执行程序被部署到网络中,即写入区块,并被分配一个账号(地址)外部账号或其他合约账号...

区块链入门到实战(22)之以太坊(Ethereum) – 账号(地址)

作用:外部账号 –用户使用的账号,账户余额。合约账号 –智能合约使用的账号,每个智能合约都有一个账号,内存和账户余额以太坊(Ethereum)网络中,有2种账号:外部账号 –用户使用的账号合约账号 –智能合约使用的账号,每个智能合约...

区块链入门到实战(21)之以太坊(Ethereum) – 分布式应用(DApp)

作用:用户交互分布式应用(DApp)是运行在区块链之上的应用程序,支持区块链网络中用户之间的交互。DApp(decentralizedapplication)的后端代码运行在区块链网络上,这个可以与普通互联网应用比较一下,普通互联网应用的后端代码运行在集中式的服务器上。DApp可以使用任何语言编写前端代码和用户界面(就...

区块链入门到实战(20)之以太坊(Ethereum) – 虚拟机(E.V.M.)

作用:执行智能合约代码的引擎以太坊(Ethereum)虚拟机是执行智能合约代码的引擎。可以用某种语言,例如Solidity语言,开发智能合约程序,编译成以太坊(Ethereum)虚拟机支持的字节码/bytecode,然后该程序就可以在虚拟机中执行了。以太坊(Ethereum)虚拟机可以被看做是一个大型的分布式计算机。以...

区块链入门到实战(19)之以太坊(Ethereum) – 以太币

以太币的作用:防范以太坊网络被滥用和激励矿工。与比特币网络有比特币类似,以太坊(Ethereum)也有自己的虚拟币— 以太币。以太币的主要作用有2个:应用程序执行任何操作都需要支付以太币,防范以太坊网络被滥用。与比特币类似,用于激励矿工。每次执行智能合约时,都需要消耗“汽油/gas&r...

区块链入门到实战(18)之以太坊(Ethereum) – 什么是智能合约

作用:提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。以太坊网络基石:以太坊虚拟币和智能合约。智能合约(Smartcontract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于1995年由NickSzabo首次...

区块链入门到实战(17)之以太坊(Ethereum) – 是什么

以太坊的作用:构建基于区块链的分布式应用。以太坊是什么:可编程的虚拟币。以太坊(Ethereum)是一个可编程的虚拟币,它是一个基于公共区块链的分布式计算平台,可用于构建基于区块链的分布式应用。在以太坊(Ethereum)出现之前,各种区块链应用的功能非常有限,例如,比特币和其他加密货币都只是纯粹的数字货币。以太坊(E...

区块链入门到实战(16)之区块链 – 防范攻击

接下来讨论比特币系统中,三种不同类型的可能攻击比特币交易,需要被写入区块链才有效。作为一个攻击者,你可以把相同的比特币发给不同的卖家,可能需要使用2台不同的机器。如果卖家没有等到付款被确认,就发货了,卖家就拿不到付款。防范这种攻击的方法是,卖家至少要等待一个块的确认后才发货,2个卖家都等到付款被确认,其中有一个付款交易...

区块链入门到实战(15)之区块链 – 用户隐私

如何保护用户隐私:将区块链匿名。为什么需要保护用户隐私:区块链的账本是公开的。区块链是一个公开的账本,为了保护用户隐私,区块链是匿名的,否则世界上任何人都能知道谁有多少钱,谁付钱给谁了。而传统的银行系统是通过对其记录保密来维护这种隐私。区块链中的账号用一个用户的公钥表示,这个公钥是匿名的,区块链网络中没有记录这个公钥与...

区块链入门到实战(14)之区块链 – 处理冲突

冲突产生的原因:多个不同的矿工同时完成了工作证明,随之生成的新区块添加到链中,导致区块链分叉。如何解决冲突:最长的分支会被保留,较短的分支则被废除比特币网络中,包含了多个矿工。有一种情况是可能的,2个不同的矿工同时完成了工作证明,同时将新区块添加到链中,区块链分叉了。如下图所示:现在,在Block103之后分叉了,有两...

区块链入门到实战(13)之区块链 – 付款确认

作为收款方,会想确认一笔交易有没有被写入区块链。由于本地节点(钱包)的区块链,只包含了区块链头,没有交易信息,这笔交易在本地是找不到的。但是,区块链是一个网络,你可以向包含全部区块信息的节点(例如矿工节点)发请求(GetData),查找指定的交易,找到对应的区块,获取默克尔树。如下图所示如上图所示,假设你正在寻找Tx1...

区块链入门到实战(12)之区块链 – 默克尔树(Merkle Tree)

目的:解决由于区块链过长,导致节点硬盘存不下的问题。方法:只需保留交易的哈希值。区块链作为分布式账本,原则上网络中的每个节点都应包含整个区块链中全部区块,随着区块链越来越长,节点的硬盘有可能放不下。区块链中引入了默克尔树解决这个问题。区块链中,为节省空间,只保存交易的哈希值,不保存交易本身的信息,哈希值对于校验来说足够...

区块链入门到实战(11)之区块链 – 矿工的激励

目的:解决量大,效率低下做出区块大小限制的问题一个矿工短时间内有可能会接收到大量交易,导致处理不过来,所以必须对区块大小作出限制。区块大小的上限,已经在系统中预先定义,所以区块中只能包含一定数量的交易。一个区块中的交易数,由预定义的块大小和每个块的平均长度决定。这表明,发送者应该使消息尽量简短,矿工优先选择简短的交易打...

区块链入门到实战(10)之区块链 – 交易流程与挖矿

我们总结一下前面章节介绍的交易步骤:区块链网络中,任何想支付的人,需创建一个交易,里面的内容大致是,买家付给卖家多少钱。在一定时间内,网络中可能会发生多笔交易。所有交易,都会通过网络广播,但交易不一定要到达网络中的每个节点。接收到新交易的矿工,将多个新交易组装成一个块。注意,多个矿工之间新建区块中的交易集有可能是不一样...

区块链入门到实战(9)之区块链 – 工作量证明

目的:解决艰难的任务,获取记账能力。区块链中,每个人手上都有账本,每个人都可以记账,但怎么能让这些账本的内容保持一致,让大家都认这个账,就需要共识机制。人类社会中,通常的共识机制是,如果某个人能完成某项艰难的任务,他就可以做某些事。要推翻这个共识,就也要完成这些艰难的任务,所以共识不是那么容易被推翻。孙悟空当上美猴王,...
首页上一页...56789...下一页尾页