使用社交账号登录
分布式账本的参与者发生交易,导致账本状态的改变。
区块是区块链中的基本单位,包含了一批已验证的交易数据。每个区块都有自己的唯一标识符和时间戳,并包含对前一个区块的引用,形成一个连续的链条
区块= 【块头】+【块体】
区块链是一个被设计用来记录和验证交易的分布式账本系统。它由多个区块组成,每个区块包含一批已验证的交易,并通过哈希链接在一起形成一个不可篡改的链式结构。区块按照时间顺序串联,账本状态变化的精确日志记录,最新区块代表账本的最新状态
共识算法是区块链网络中用于选择哪个节点可以创建新的区块,并决定交易的顺序的机制。常见的共识算法包括工作量证明(Proof of Work,PoW)和权益证明(Proof of Stake,PoS)等。
哈希是将任意长度的数据转换为固定长度字符串的算法。在区块链中,哈希算法被广泛应用于保证数据的完整性和安全性。
区块链的去中心化意味着没有一个中心权威机构控制整个系统。相反,权力和决策分散在网络的各个节点之间,增加了系统的抗攻击性和可信度。
智能合约是一种以数字形式编写的自动执行合约。它们是基于区块链技术的程序代码,可以定义和执行特定条件下的交易和操作。
加密货币是基于密码学技术构建的数字资产,在区块链上进行交易和传输。比特币(Bitcoin)是第一个成功的加密货币,其他常见的加密货币包括以太坊(Ethereum)和莱特币(Litecoin)等。
公钥 : 区块链世界里的账号 私钥 : 区块链世界里的密码
区块链体系:随机生成私钥,通过数学加密曲线(椭圆加密曲线函数)生成公钥,公钥与私钥存在数学关系,可以直接验证,外界知道你的公钥时,是无法反算出私钥。相当于通过一种密码学的方式来实现了私钥和公钥之间的映射,而不是传统体系中来吧这种人为给定的映射关系来存在数据库中来实现这种映射
交易发出过程== A: 发送交易单 B: 以A 的公钥验证签名
挖矿:竞争记账权
记账者(监听新的区块/监听交易广播/组装备选区块/找到一个有效的随机数/希望区块被全网接受获得工作报酬)
用工作量竞争记账权
任何人都可以读取,可发送交易且交易能获得有效确认,任何人都能 参与共识过程 采取工作量证明机制或者权益证明机制等方式,将经济奖励和加密数字验证结合起来
共识过程(数据写入)受到预选节点控制,或许允许每个人都可读取
例如,一个有15个金融机构组成的共同体,每个机构都运行着一个节点,而且为了使每个区块生效需要获得其中10个机制的确认(2/3确认)
写入权限仅在一个组织手里,读写权限或者对外开放,或者被任意程度的进行了限制。
数据库管理、审计,甚至一个公司
什么是共识?
3.1 三种安全模型
3.2 两个定理:FLP 和CAP 3.2.1 FLP: 在网络可靠、存在节点失效的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法 节点失效、异步分布式系统,无法完全一致
3.2.2 CAP: 一致性、可用性、分区容错性,三者不可兼得 【一致性】: 所有节点访问同一份最新的数据副本 【可用性】:每次请求都能获取到非错的响应、 【分区容错性】:因为网络故障导致的系统分区不影响系统正常运行
分布式系统共识机制 拜占庭容错-适用于分布式账本(区块链)
1.【随机性】 随机选择将军/记账者,提高作恶者成本(连续作恶/大比例作恶) 随机数不可被预测、不可被操控
2.【抗女巫攻击】 抗击刷小号来提高被选中概率的作恶手法 增加门槛:计算力(工作量证明)、资源(权益证明)
3.【激励机制】 奖励诚实的参与者 包括对不诚实的作恶者的反激励机制
以太坊是一种用于在不受中心化监管机构管控的环境下构建应用程序和组织、持有资产、进行交易和通信的技术。使用以太坊时无需提供任何个人详细信息,用户控制自己的数据以及共享内容。以太坊有自己的加密货币 — 以太币,用以支付在以太坊网络上进行特定活动的费用。

以太坊路线
1.0 非图灵完备:只能执行有限类型指令 2.0 图灵完备
1.0不支持智能合约 2.0支持只能合约
1.0 定位于支付网络 2.0 定位于平台,可实现各种应用

以太坊目标
图灵完备(Turing complete)是指一种计算系统或编程语言的能力,即能够模拟图灵机(Turing machine)。图灵机是由英国数学家阿兰·图灵提出的一种理论计算模型,被视为通用计算模型的基础。
一个系统或语言被称为图灵完备,意味着它具备了执行任何可以通过算法描述的计算任务的能力。换句话说,通过适当的算法和程序设计,图灵完备系统能够处理和计算任何可行的问题。
一个语言或系统是否是图灵完备的,取决于它是否具备以下几个关键元素:
如果一个系统或语言具备上述特征,那么它就被认为是图灵完备的。图灵完备性是计算理论中的一个重要概念,它使得我们能够用一种统一的方式来讨论计算问题和编程语言的能力。
EVM指的是以太坊虚拟机(Ethereum Virtual Machine)。它是基于栈和堆的虚拟机,这个栈堆是在节点上运行的,不是运行主机。
3.1 执行环境: EVM是一个沙箱执行环境,意味着代码在隔离的容器中运行,不会对主网络或其他合约产生影响。这提供了安全性和可靠性,确保合约在预期的环境中执行。
3.2 指令集: EVM使用基于堆栈的指令集来执行智能合约。指令集包含各种操作符,如数学运算、逻辑运算、存储、读取等,使得智能合约能够执行各种功能和计算。
3.3Gas 概念: 以太坊中引入了 Gas 的概念来衡量智能合约的执行成本。每个指令和操作都消耗一定数量的 Gas,合约的执行费用由消耗的 Gas 数量决定。这有助于限制合约的计算复杂度和防止恶意行为。
3.4 状态转换: EVM通过状态转换模型来改变合约和账户的状态。当智能合约执行时,它可以修改自己的内部状态,还可以与其他合约进行交互或修改账户状态。这些状态变化会被记录在区块链上。
3.5 跨合约调用: EVM允许智能合约与其他合约进行交互,即跨合约调用。通过调用其他合约的函数,合约可以获取外部数据、执行其他合约的逻辑等。
3.6 字节码和编译器: 以太坊智能合约使用一种称为字节码的低级编程语言编写。开发者将高级语言(如Solidity)编写的合约代码编译成字节码,然后在EVM上执行。
4.1 Pow共识机制 工作量证明(Proof of Work,PoW)。开始以太坊也采用了Pow共识机制,靠工作证明来进行验证挖矿,简单来说你机器的运算能力越强工作的越多,越容易挖。基本原理是,你的节点经过大量的运算,来计算区块链给你出的一个数学问题,大家抢着做答,谁先答对就有奖励(不考虑叔块等其他奖励),所以大家都尽可能提高自己的算力,来提高运算能力,提高产出率。总结Pow是需要大量运算能力来进行的挖矿,是极大消耗能源的。
4.2 Pos共识机制 权益证明(Proof of Stake,PoS)。现在ETH采用的是权益证明,与Pow最大的不同是他不要大量的运算能力即可参与挖矿。它只需要通过质押ETH代币的方式来参与挖矿,影响选举参与者(奖励者)通过质押权重来计算,也就是质押的越多则越容易挖,和Pow中算力类似。运行过程:只需要在电脑上安装相对应的软件,通过质押,即可参与挖矿。
5.1 智能合约是什么? 一种基于区块链技术的自动化合约。它是一段以编程方式定义的、具有自动执行能力的计算机代码,旨在管理、验证或执行合约中设定的条款和条件。
5.2 智能合约具有以下特点:
智能合约可以应用于各种场景,例如金融交易、供应链管理、去中心化应用(DApp)的开发等。它们可以实现自动化的交易和业务逻辑,减少人为干预和中介机构,提高效率和安全性。然而,需要注意的是,智能合约的执行结果完全依赖于其在区块链上的编程代码,因此安全审计和正确性非常重要。由于智能合约执行后不可更改,一旦存在漏洞或错误,可能会对系统造成不可逆的损失。

智能合约
6.1 DApp(去中心化应用)是什么? DApp(去中心化应用)是基于区块链技术和智能合约构建的应用程序。DApp 的特点是具有去中心化的架构、开放的协议和透明的操作。智能合约是DApp的核心组成部分。它是一段以编程方式定义的、自动执行的计算机代码,用于管理和执行DApp中的业务逻辑和交易规则。智能合约通过区块链网络上的节点来验证和执行,确保安全性和可靠性。
6.2 DApp特点:
智能合约为DApp提供了执行逻辑和交易规则的能力。DApp可以利用智能合约实现各种功能,如数字货币交易、电子投票、去中心化的身份验证、游戏逻辑等。智能合约的代码被部署到区块链上后,具有不可更改性,确保了DApp的安全性和可靠性。
ICO的过程通常如下:
Ether(ETH)以太币是以太坊用来构建和维护其网络运行的加密货币。它的工作方式与比特币类似,矿工通过创建区块和解决难题来创建ETH,这种行为被称为"挖矿"。
大约每隔15秒,以太坊区块链就会增加一个新区块,解决区块核心难题的矿工将获得ETH奖励。以太坊目前使用与比特币相同的工作量证明(PoW)挖矿技术,但它计划被称为"以太坊2.0"的升级中转向一种称为持有量证明(PoS)的技术
作用: