……

随笔分类 -  区块链

入门到实战
区块链入门到实战(18)之以太坊(Ethereum) – 什么是智能合约
摘要:作用:提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。 以太坊网络基石:以太坊虚拟币和智能合约。 智能合约(Smart contract )是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于199 阅读全文
posted @ 2020-06-22 14:56 大码王 阅读(348) 评论(0) 推荐(0) 编辑
区块链入门到实战(17)之以太坊(Ethereum) – 是什么
摘要:以太坊的作用:构建基于区块链的分布式应用。 以太坊是什么:可编程的虚拟币。 以太坊(Ethereum)是一个可编程的虚拟币,它是一个基于公共区块链的分布式计算平台,可用于构建基于区块链的分布式应用。 在以太坊(Ethereum)出现之前,各种区块链应用的功能非常有限,例如,比特币和其他加密货币都只是 阅读全文
posted @ 2020-06-22 14:35 大码王 阅读(381) 评论(0) 推荐(0) 编辑
区块链入门到实战(16)之区块链 – 防范攻击
摘要:接下来讨论比特币系统中,三种不同类型的可能攻击 竞态攻击 比特币交易,需要被写入区块链才有效。作为一个攻击者,你可以把相同的比特币发给不同的卖家,可能需要使用2台不同的机器。如果卖家没有等到付款被确认,就发货了,卖家就拿不到付款。防范这种攻击的方法是,卖家至少要等待一个块的确认后才发货,2个卖家都等 阅读全文
posted @ 2020-06-22 14:32 大码王 阅读(400) 评论(0) 推荐(0) 编辑
区块链入门到实战(15)之区块链 – 用户隐私
摘要:如何保护用户隐私:将区块链匿名。 为什么需要保护用户隐私:区块链的账本是公开的。 区块链是一个公开的账本,为了保护用户隐私,区块链是匿名的,否则世界上任何人都能知道谁有多少钱,谁付钱给谁了。而传统的银行系统是通过对其记录保密来维护这种隐私。 区块链中的账号用一个用户的公钥表示,这个公钥是匿名的,区块 阅读全文
posted @ 2020-06-22 14:31 大码王 阅读(269) 评论(0) 推荐(0) 编辑
区块链入门到实战(14)之区块链 – 处理冲突
摘要:冲突产生的原因:多个不同的矿工同时完成了工作证明,随之生成的新区块添加到链中,导致区块链分叉。 如何解决冲突:最长的分支会被保留,较短的分支则被废除 比特币网络中,包含了多个矿工。有一种情况是可能的,2个不同的矿工同时完成了工作证明,同时将新区块添加到链中,区块链分叉了。如下图所示: 现在,在Blo 阅读全文
posted @ 2020-06-22 14:29 大码王 阅读(406) 评论(0) 推荐(0) 编辑
区块链入门到实战(13)之区块链 – 付款确认
摘要:作为收款方,会想确认一笔交易有没有被写入区块链。 由于本地节点(钱包)的区块链,只包含了区块链头,没有交易信息,这笔交易在本地是找不到的。 但是,区块链是一个网络,你可以向包含全部区块信息的节点(例如矿工节点)发请求(GetData),查找指定的交易,找到对应的区块,获取默克尔树。如下图所示 如上图 阅读全文
posted @ 2020-06-22 14:25 大码王 阅读(477) 评论(0) 推荐(0) 编辑
区块链入门到实战(12)之区块链 – 默克尔树(Merkle Tree)
摘要:目的:解决由于区块链过长,导致节点硬盘存不下的问题。 方法:只需保留交易的哈希值。 区块链作为分布式账本,原则上网络中的每个节点都应包含整个区块链中全部区块,随着区块链越来越长,节点的硬盘有可能放不下。区块链中引入了默克尔树解决这个问题。 区块链中,为节省空间,只保存交易的哈希值,不保存交易本身的信 阅读全文
posted @ 2020-06-22 14:22 大码王 阅读(676) 评论(0) 推荐(0) 编辑
区块链入门到实战(11)之区块链 – 矿工的激励
摘要:目的:解决量大,效率低下做出区块大小限制的问题 一个矿工短时间内有可能会接收到大量交易,导致处理不过来,所以必须对区块大小作出限制。区块大小的上限,已经在系统中预先定义,所以区块中只能包含一定数量的交易。 一个区块中的交易数,由预定义的块大小和每个块的平均长度决定。这表明,发送者应该使消息尽量简短, 阅读全文
posted @ 2020-06-22 14:18 大码王 阅读(297) 评论(0) 推荐(0) 编辑
区块链入门到实战(10)之区块链 – 交易流程与挖矿
摘要:我们总结一下前面章节介绍的交易步骤: 区块链网络中,任何想支付的人,需创建一个交易,里面的内容大致是,买家付给卖家多少钱。 在一定时间内,网络中可能会发生多笔交易。 所有交易,都会通过网络广播,但交易不一定要到达网络中的每个节点。 接收到新交易的矿工,将多个新交易组装成一个块。注意,多个矿工之间新建 阅读全文
posted @ 2020-06-22 14:15 大码王 阅读(445) 评论(0) 推荐(0) 编辑
区块链入门到实战(9)之区块链 – 工作量证明
摘要:目的:解决艰难的任务,获取记账能力。 区块链中,每个人手上都有账本,每个人都可以记账,但怎么能让这些账本的内容保持一致,让大家都认这个账,就需要共识机制。 人类社会中,通常的共识机制是,如果某个人能完成某项艰难的任务,他就可以做某些事。要推翻这个共识,就也要完成这些艰难的任务,所以共识不是那么容易被 阅读全文
posted @ 2020-06-22 14:10 大码王 阅读(310) 评论(0) 推荐(0) 编辑
区块链入门到实战(8)之区块链 – 链接区块
摘要:由不同矿工创建的区块被连接在一起,形成了所谓的真正分布式公共账本。 链中的每个块包含多个消息(事务),如上图所示。链条上的一个区块可能来自任何矿工。在创建区块链时,可以看到会把前一个区块的哈希值添加到当前区块中。 因此,矿工在创建新区块时,获取链中最顶端区块的哈希值,将它与自己的消息集组合起来,并为 阅读全文
posted @ 2020-06-22 14:07 大码王 阅读(336) 评论(0) 推荐(0) 编辑
区块链入门到实战(7)之区块链 – 挖矿
摘要:区块链中,当Bob付款给Alice时,创建了一个转账交易,但他不会将其单独发送给Alice。相反,交易消息将在他所连接的整个网络上广播。Bob的网络如图所示。 消息传递到所有连接的节点(机器),图中的一些节点被标记为矿工。这些机器运行着挖掘比特币的软件。接下来,我们将解释这种挖掘的含义。 挖矿过程 阅读全文
posted @ 2020-06-22 14:06 大码王 阅读(304) 评论(0) 推荐(0) 编辑
区块链入门到实战(6)之区块链 – 哈希(Hash)
摘要:密码学中,最重要的函数之一是哈希函数。哈希函数将任意大小的数据(内容)映射到固定大小的数据(哈希值)。 哈希函数是单向的,从内容生成哈希值很容易,但从哈希值映射到内容很难。 比特币使用SHA-256哈希函数,该函数生成一个大小为256位(32字节)的哈希值(输出)。如图所示 Bob在向Alice下订 阅读全文
posted @ 2020-06-22 14:05 大码王 阅读(563) 评论(0) 推荐(0) 编辑
区块链入门到实战(5)之区块链 – 非对称加密
摘要:非对称加密技术也被称为公钥密码技术(简称PKI)。它使用2个成对的密钥: 公钥 对外公开 私钥 必须严格保密,保管好不能弄丢 密钥本质上是一个数值,使用数学算法产生。可以用公钥加密消息,然后使用私钥解密;反过来也可以使用私钥加密,用公钥解密,这也被称为签名,相当于用私章盖印,对方就可以使用你的公钥来 阅读全文
posted @ 2020-06-22 14:03 大码王 阅读(290) 评论(0) 推荐(0) 编辑
区块链入门到实战(4)之区块链 – 应用发展阶段
摘要:区块链的应用发展,大致可分为3个阶段: 区块链1.0:虚拟币 区块链2.0: 智能合约 区块链3.0: DApp 下面将简要描述区块链应用发展的3个阶段。 区块链1.0:虚拟币 通过解决计算数学难题,来创造虚拟货币的想法,最初是由哈尔•芬尼(Hal Finney)在2005年提出的,他首次提出了加密 阅读全文
posted @ 2020-06-22 11:39 大码王 阅读(311) 评论(0) 推荐(0) 编辑
区块链入门到实战(3)之区块链 – 比特币
摘要:中本聪在2008年推出了比特币。比特币是一种加密货币(虚拟货币),或者说是数字货币,使用加密技术来管理和生成货币单位。比特币目前是加密币中最有价值的一种。 比特币是一种数字资产,可以通过互联网,在交易双方之间安全地买卖和转移。 比特币可以用来储存价值,就像黄金、白银和其他类型的投资一样。我们还可以使 阅读全文
posted @ 2020-06-22 11:38 大码王 阅读(285) 评论(0) 推荐(0) 编辑
区块链入门到实战(2)之区块链 – 发展历史
摘要:区块链的提出 区块链技术是最早由计算机科学家斯图尔特·哈伯(Stuart Haber)和w·斯科特·斯托内塔(W. Scott Stornetta)于1991年提出。他们介绍了一种方案,用于在数字文档上加盖时间戳,防止文档被篡改。他们开发了一个系统,使用加密的安全区块链来存储有时间戳的文档。 默克尔 阅读全文
posted @ 2020-06-22 11:37 大码王 阅读(282) 评论(0) 推荐(0) 编辑
区块链入门到实战(1)之区块链 – 介绍
摘要:什么是区块链? 区块链是一个分布式账本。银行系统可以理解为一个中心化的账本,账本中记录了每个人有多少钱,但每个人手上是没有这个账本的,只有银行有。 区块链也是一个账本,账本中记录了每个人拥有什么,但每个人手上都有这个账本。这个账本是公开的,所有人都可以查看。 区块链技术把先进的密码学与计算机科学相结 阅读全文
posted @ 2020-06-22 11:31 大码王 阅读(368) 评论(0) 推荐(0) 编辑

复制代码