Login
欢迎来到未来世界

您现在的位置是: 首页 > 计算机 > 区块链

区块链

以太坊教程:如何学习以太坊Dapp应用开发(以太坊开发教程)

区块链 加入收藏
想必现在有很多小伙伴对于以太坊教程:如何学习以太坊Dapp应用开发方面的信息都比较想要了解,那么今天小好小编就为大家收集了一些分享给大家,希望大家会喜欢哦。一、区块链1.分布式去中心化比特币设计的初衷就是要避免依赖中心化的机构,没有发行机构,也不可能操纵发行数量。既然没有中心化的信

想必现在有很多小伙伴对于以太坊教程:如何学习以太坊Dapp应用开发方面的信息都比较想要了解,那么今天小好小编就为大家收集了一些分享给大家,希望大家会喜欢哦。

一、区块链1. 分布式去中心化比特币设计的初衷就是要避免依赖中心化的机构,没有发行机构,也不可能操纵发行数量。

既然没有中心化的信用机构,在电子货币运行的过程中,也势必需要一种机制来认可运行在区块链上的行为(包括比特币的运营,亦或是运行在区块链上的其他业务),这种机制就是共识机制。

在完全去中心化的区块链上运行的比特币,采用的是PoW(Proof of Work,工作量证明),该机制完美的解决了拜占庭将军问题(存在异常的情况下仍能达成一致)。

因为基础网络架构为分布式,对单独一个节点是无法控制或破坏整个网络,掌握网内51%的运算能力(非节点数)才有可能操作交易,而这个代价大概要超过270亿美元。

2. 无须信任整个区块链网络中的数据是公开透明的,每个节点(参与者)都可自由加入该网络中,下载到所有的数据。

任意两个节点间的数据交换无需互相信任,完全依靠区块链中的交易历史和数据的可追溯,以及共识机制来保证数据交换的正确且不可逆的执行。

3. 不可篡改和加密安全性跟当前银行网银系统(特别是公司网银系统)的加密机制类似,区块链的数据结构和交易流程中大量的使用了公私钥来加解密,保证数据的安全性。

基于该技术基础,甚至可以应用群组签名来保证共有数据的安全性。

任何事物既然有优点,也同时会存在不足之处。

根源于分布式网络架构和共识机制,在区块链上运行的交易确认时间会比较长(比特币的确认时间大概是15分钟),交易并发数受限(比特币的每秒交易数为7笔,而淘宝的每秒并发数能达到10万左右),区块的容量限制(当前为1M,区块链的扩容一直在讨论中),监管难以介入,基于工作量证明的共识机制存在浪费系统资源和带宽的问题。

4. 区块链技术a. 区块区块是一个包含在区块链(公开账簿)里的聚合了交易信息的容器。

它由一个包含元数据的区块头和紧跟其后的构成区块主体的一长串交易组成。

区块头是80字节,而平均每个交易至少是250字节,而且平均每个区块至少包含超过500个交易。

区块结构如下图交易(Tx)详情中的结构如下图b. 区块链当一个节点从网络接受到传入的区块时,它会验证这些区块,然后链接到现有的区块链上,链接的形态如下图:由于每个区块包含前一个区块的HASH值,这就使得从创世块到当前块形成了一条块链,每个区块必定按时间顺序跟随在前一个区块之后,因为如果不知道前一块区块的HASH值就没法生成当前区块。

要改变一个已经在块链中存在一段时间的区块,从计算上来说是不可行的,因为如果它被改变,它之后的每个区块必须随之改变。

这些特性使得双花比特币非常困难,区块链是比特币的最大创新。

5. 比特币钱包a. 比特币钱包的生成首先使用随机数发生器生成一个 私钥 。

一般来说这是一个256bits的数,拥有了这串数字就可以对相应 钱包地址 中的比特币进行操作,所以必须被安全地保存起来。

私钥经过SECP256K1算法处理生成了公钥。

SECP256K1是一种椭圆曲线算法,通过一个已知私钥时可以算得公钥,而公钥已知时却无法反向计算出私钥。

这是保障比特币安全的算法基础。

同SHA256一样,RIPEMD160也是一种Hash算法,由公钥可以计算得到公钥哈希,而反过来是行不通的。

将一个字节的地址版本号连接到公钥哈希头部(对于比特币网络的pubkey地址,这一字节为“0”),然后对其进行两次SHA256运算,将结果的前4字节作为公钥哈希的校验值,连接在其尾部。

将上一步结果使用BASE58进行编码(比特币定制版本),就得到了钱包地址。

流程图如下b .转账比特币钱包间的转账是通过交易(Transaction)实现的。

交易数据是由转出钱包私钥的所有者生成,也就是说有了私钥就可以花费该钱包的比特币余额。

生成交易的过程如下:交易的原始数据包括“转账数额”和“转入钱包地址”,但是仅有这些是不够的,因为无法证明交易的生成者对“转出钱包地址”余额有动用的权利。

所以需要用私钥对原始数据进行签名。

生成“转出钱包公钥”,这一过程与生成钱包地址的第2步是一样的。

将“转出签名”和“转出公钥”添加到原始交易数据中,生成了正式的交易数据,这样它就可以被广播到比特币网络进行转账了。

二、以太坊Ethereum1. 概念a. 什么是以太坊简单来说,以太坊是一种新的法律形式。

现行法律的本质是一种合约。

它是由(生活于某一社群的)人和他们的领导者之间所缔结的,一种关于彼此该如何行动的共识。

个体之间也存在着一些合约,这些合约可以理解为一种私法,相应的,这种私法仅对合约的参与者生效。

例如,你和一个人订立合约,借给他一笔钱,但他最后毁约了,不打算还这笔钱。

此时你多半会将对方告上法庭。

在现实生活中,打官司这种事情常常混乱不堪并且充满了不确定性。

将对方告上法庭,也通常意味着你需要支付高昂的费用聘请律师,来帮你在法庭上针对法律条文展开辩论,而且这一过程一般都旷日持久。

而且,即使你最终赢了官司,你依然可能会遇到问题(比如,对方拒不执行法庭判决)。

令人欣慰的是,当初你和借款人把条款写了下来,订立了合约。

但法律的制定者和合约的起草者们都必须面对一个不容忽视的挑战:那就是,理想情况下,法律或者合约的内容应该是明确而没有歧义的,但现行的法律和合约都是由语句构成的,而语句,则是出了名的充满歧义。

因此,一直以来,现行的法律体系都存在着两个巨大的问题:首先,合约或法律是由充满歧义的语句定义的,第二,强制执行合约或法律的代价非常大。

而以太坊,通过数字货币和编程语言的结合,解决了现行法律体系的这两大问题。

以太坊系统自身带有一种叫做以太币(Ether)的数字货币。

本文到此结束,希望对大家有所帮助。

图集详情底部广告位