#区块

区块链入门到实战(8)之区块链 – 链接区块

由不同矿工创建的区块被连接在一起,形成了所谓的真正分布式公共账本。链中的每个块包含多个消息(事务),如上图所示。链条上的一个区块可能来自任何矿工。在创建区块链时,可以看到会把前一个区块的哈希值添加到当前区块中。因此,矿工在创建新区块时,获取链中最顶端区块的哈希值,将它与自己的消息集组合起来,并为新区块创建哈希值。这个新...
代码星球 ·2020-09-19

区块链入门到实战(7)之区块链 – 挖矿

区块链中,当Bob付款给Alice时,创建了一个转账交易,但他不会将其单独发送给Alice。相反,交易消息将在他所连接的整个网络上广播。Bob的网络如图所示。消息传递到所有连接的节点(机器),图中的一些节点被标记为矿工。这些机器运行着挖掘比特币的软件。接下来,我们将解释这种挖掘的含义。由于整个网络是广泛分布的,网络中的...
代码星球 ·2020-09-19

区块链入门到实战(6)之区块链 – 哈希(Hash)

密码学中,最重要的函数之一是哈希函数。哈希函数将任意大小的数据(内容)映射到固定大小的数据(哈希值)。哈希函数是单向的,从内容生成哈希值很容易,但从哈希值映射到内容很难。比特币使用SHA-256哈希函数,该函数生成一个大小为256位(32字节)的哈希值(输出)。如图所示Bob在向Alice下订单时,创建了一条类似于上面...

区块链入门到实战(5)之区块链 – 非对称加密

非对称加密技术也被称为公钥密码技术(简称PKI)。它使用2个成对的密钥:公钥 对外公开私钥 必须严格保密,保管好不能弄丢密钥本质上是一个数值,使用数学算法产生。可以用公钥加密消息,然后使用私钥解密;反过来也可以使用私钥加密,用公钥解密,这也被称为签名,相当于用私章盖印,对方就可以使用你的公钥来验证签...

区块链入门到实战(4)之区块链 – 应用发展阶段

区块链的应用发展,大致可分为3个阶段:区块链1.0:虚拟币区块链2.0:智能合约区块链3.0:DApp下面将简要描述区块链应用发展的3个阶段。通过解决计算数学难题,来创造虚拟货币的想法,最初是由哈尔•芬尼(HalFinney)在2005年提出的,他首次提出了加密货币概念(分布式账本技术的实现)。该分布式账本允...

区块链入门到实战(3)之区块链 – 比特币

中本聪在2008年推出了比特币。比特币是一种加密货币(虚拟货币),或者说是数字货币,使用加密技术来管理和生成货币单位。比特币目前是加密币中最有价值的一种。比特币是一种数字资产,可以通过互联网,在交易双方之间安全地买卖和转移。比特币可以用来储存价值,就像黄金、白银和其他类型的投资一样。我们还可以使用比特币购买产品和服务,...
代码星球 ·2020-09-19

区块链入门到实战(2)之区块链 – 发展历史

区块链技术是最早由计算机科学家斯图尔特·哈伯(StuartHaber)和w·斯科特·斯托内塔(W.ScottStornetta)于1991年提出。他们介绍了一种方案,用于在数字文档上加盖时间戳,防止文档被篡改。他们开发了一个系统,使用加密的安全区块链来存储有时间戳的文档。199...

区块链入门到实战(1)之区块链 – 介绍

区块链是一个分布式账本。银行系统可以理解为一个中心化的账本,账本中记录了每个人有多少钱,但每个人手上是没有这个账本的,只有银行有。区块链也是一个账本,账本中记录了每个人拥有什么,但每个人手上都有这个账本。这个账本是公开的,所有人都可以查看。区块链技术把先进的密码学与计算机科学相结合,确保没有人可以在不知情的情况下更改这...
代码星球 ·2020-09-19

区块链入门到实战(28)之Solidity – 介绍

Solidity语言是一种面向合约的高级编程语言,用于在以太坊区块链网络上实现智能合约。Solidity语言深受c++、Python和JavaScript的影响,针对以太坊(Ethereum)虚拟机(EVM)设计。Solidity语言是静态类型语言,支持继承、库和复杂的用户定义类型。可以使用Solidity语言创建区块...

区块链入门到实战(27)之以太坊(Ethereum) – 智能合约开发

与传统合同相比,智能合约有一些显著优点:不需要中间人费用低代码就是规则区块链网络中有多个备份,不用担心丢失避免人工错误无需信任,就可履行协议匿名履行协议虽然以太坊(Ethereum)是最流行支持智能合约的区块链平台,但它并不是唯一支持智能合约的平台。超级账本(Hyperledger) 是Linux基金会于20...

区块链入门到实战(26)之以太坊(Ethereum) – 挖矿

以太坊(Ethereum)与其他公共区块链一样,使用工作量证明机制确保区块链网络正常运行。矿工进行工作量证明计算,即挖矿,来选择区块,写入区块链,确认交易。交易过程如下图所示:从技术角度来看,以太坊使用的工作量证明算法称为Ethash,这是一种哈希算法,灵感来自Dagger-Hashimoto算法。...

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

以太币的主要单位是以太/Ether,即一个以太币,以太币的最小单位是wei。以太币最小单位wei是以虚拟币先驱人物:戴伟WeiDai命名,戴伟WDai是一位兴趣广泛的密码学专家,他在1998年发明了B-money匿名的、分布式的电子加密货币系统,强调点对点的交易和不可更改的交易记录。中本聪发明比特币的时候,借鉴了很多戴...

区块链入门到实战(24)之以太坊(Ethereum) – 网络节点

用途:全节点:用于区块和交易的校验轻节点:电子钱包以太坊(Ethereum)网络是一个公共的区块链网络,网络中包含2种网络节点:全节点轻节点全节点 包含了从初始区块开始的全部区块,这些区块中包含了所有的交易历史记录,这些信息是区块链完整性的证据,可用于区块和交易的校验。通常矿工节点应该是全节点。轻节点&nbs...

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

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

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

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