![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读书笔记
区块链原理、设计与应用
科学发展观
科技改变世界
展开
-
solidity编程-合约结构
合约由多个结构组成:状态变量结构定义修改器定义事件声明枚举定义函数定义状态变量编程中的变量是指可以包含值的存储单元。值可以在运行时更改。可以在代码中的多个位置使用变量,并且它们都将引用存储的值。solidity提供两种类型的变量——状态变量和内存变量。在合约中,没有在任何函数内声明的变量成为状态变量。状态变量存储合约的当前值。状态变量的内存是静态分配的,并且在合约生命周期内不能改变(分配的内存大小)。必须静态定义每个状态变量的类型。状态类型的限定符:internal:默认情况下原创 2020-10-10 17:00:23 · 411 阅读 · 0 评论 -
读书笔记——区块链原理、设计与应用(五)——以太坊
以太坊项目最初目标是打造一个智能合约的平台,该平台支持图灵完备的应用,按照智能合约的约定逻辑自动执行,理想状态下将不存在故障停机、审查、欺诈,以及第三方干预等问题。与比特币相比。以太坊主要具有以下特点: 支持图灵完备的智能合约,设计了编程语言Solidity和虚拟机EVM; 选用了内存需求较高的哈希函数,避免出现强算力矿机、矿池攻击; 叔块(uncle block)激励机制,降低矿池的优势,并减少了区块产生间隔(10分钟降低到15秒左右); 采用账户系统和世界状态,而不是UTXO,容易支持更复杂原创 2020-08-19 16:39:42 · 239 阅读 · 0 评论 -
读书笔记——区块链原理、设计与应用(三)——密码学与安全技术
密码学与安全技术Hash算法与数字摘要加解密算法Hash算法与数字摘要Hash算法hash算法:将任意长度的二进制明文串映射为较短的(固定长度)二进制串(hash值)。常见hash算法包括MD5和SHA系列算法。MD4,输出为128位,已被证明不够安全。MD5。输出为128位,已被证明不具备“强抗碰撞性”。SHA-1,输出为160位,已被证明不具备“强抗碰撞性”。目前MD5和SHA-1已被破解,一般推荐至少使用SHA-2-256或更安全的算法。注:弱抗碰撞是指在给定字符串和散列值的前提下找原创 2020-08-04 14:21:27 · 475 阅读 · 0 评论 -
读书笔记——区块链原理、设计与应用(二)——Paxos、Raft、PBFT
Paxos问题指分布式系统中存在故障,但不存在恶意节点的场景(即消息可能丢失或重复,但无错误消息)下的共识达成问题。解决Paxos问题的算法主要有Paxos系列算法和Raft算法。Paxos算法算法的基本原理是将节点分为三种逻辑角色,在实现上同一个节点可以担任多个角色:proposer(提案者):提交一个提案,等待大家批准为结案。系统中提案都拥有一个自增的唯一提案号。往往由客户端担任。acceptor(接受者):负责对提案进行投票,接受提案。往往由服务器担任。提议超过半数的接受者投票及被选中。le原创 2020-07-30 09:53:55 · 264 阅读 · 0 评论 -
读书笔记——区块链原理、设计与应用(一)——区块链基本概念问题
读书笔记——区块链原理、设计与应用(一)第二章 核心技术概览交易性能认识误区第三章 典型应用场景第四章 分布式系统核心问题一致性问题共识算法FLP不可能原理CAP原理ACID原则第二章 核心技术概览交易性能高性能、安全、稳定性、硬件辅助加解密能力,是考察节点性能的核心要素。提高性能:提升单节点性能——硬件、策略、算法链下交易,链上记录——闪电网络、侧链认识误区区块链不等于比特币。区块链不等于数据库。区块链不是一门万能的巅峰性技术。第三章 典型应用场景区块链自身维护着一个按时间原创 2020-07-29 16:02:53 · 399 阅读 · 0 评论