区块链从 1.0 到 3.0 的技术分享锦集及讲解
文章平均质量分 94
从最开始的大众算法讲起,什么是区块,加密算法、哈希算法,共识算法(POW、POS、DPOS、及 PBFT 容错算法)、挖矿全方面解读。涉及从区块链1.0 (比特币的讲解)、2.0 的 以太坊、及 3.0 的 Eos 企业级区块链技术、并且从源代码的层面进行了细致的讲解。
smilejiasmile
这个作者很懒,什么都没留下…
展开
-
Sui Narwhal and Tusk 共识协议笔记
Narwhal与Tusk协议将交易传播的任务与对交易的排序分开,进而实现高性能的基于法定人数的BFT容错共识。Narwhal是一个mempool协议,用于高效的传播交易与将交易历史和因果进行存储,Narwal中每个validator还可以通过扩展worker实现性能扩展。Tusk协议的理论起点是 DAG-Rider,Tusk 是基于 DAG-Rider 的改进版本,在一些常见的情况下降低延迟。Tusk 中每个节点维护自己的 DAG,但是使用一个共享的rand coin 决定整体的交易提交顺序。原创 2024-09-08 23:25:14 · 483 阅读 · 0 评论 -
The Concepts and Elements of Sui
This traditional blockchain network architecture has a limitation in that such a linear mechanism of the system becomes the main bottleneck for achieving high transaction volume scalability.Sui blockchain pursues a rather parallel design for processing tra原创 2024-09-05 11:57:56 · 92 阅读 · 0 评论 -
VRF 算法流程及代码实现
Verifiable Random Functions (VRFs) 是一种密码学原语,能够为给定输入生成一个随机输出,并提供一个可以验证的证明,证明输出是由特定输入生成的。VRFs 具有许多应用,包括区块链、分布式系统和安全协议。使用secp256k1曲线可以产生确定性签名,适用于 VRF 实现。通过使用 HMAC-SHA256 生成确定性随机数k,可以确保签名过程对相同的输入始终产生相同的结果,从而满足 VRF 的要求。原创 2024-08-03 17:56:22 · 303 阅读 · 0 评论 -
可验证随机函数 vrf 概述
在传统的区块链中,常用的随机算法是基于伪随机数生成器(Pseudorandom Number Generator,PRNG)的。PRNG是一种确定性算法,它根据一个初始种子生成一个看似随机的序列。在区块链中,通常使用的是伪随机数序列来选择区块的创建者、确定验证节点的轮换顺序等。可预测性:传统的随机算法是基于确定性的计算,因此它们的输出序列是可以被预测的。如果攻击者能够推测或预测到随机数序列,他们可能会通过选择适当的时间点参与区块创建或验证,以获取不当的利益。原创 2024-08-03 17:52:40 · 281 阅读 · 0 评论 -
EigenLayer 生态解析-再质押与 AVS 崛起
EigenLayer 是一个基于以太坊的再质押协议,它允许以太坊网络上已经质押的 ETH 通过再质押的方式来增加网络的安全性。即质押 ETH 的用户可以选择加入 EigenLayer 智能合约以重新抵押他们的 ETH 并将加密经济安全性扩展到网络上的其他应用程序。同时将为网络参与者提供额外的收益。这一过程不仅提高了资本的利用效率,还增强了网络的整体安全。EigenLayer 通过利用已经在以太坊上质押的 ETH,支持其他区块链协议和应用的安全运行,这一过程称为再质押(Restaking)。原创 2024-06-26 13:58:34 · 238 阅读 · 0 评论 -
用 Anchor 合约开发框架构建 Solana 合约程序
XRAY 上的 Anchor IDL 示例XRAY 上的 IDL 示例[41]Anchor 通过有效的抽象简化了程序开发。也就是说,Anchor 简化了复杂的区块链编程概念,使其更易于访问和操作。例如,Anchor 使用接口定义语言(IDL)[42] 来定义程序的接口。在构建程序时,Anchor 将生成代表程序 IDL 的 JSON 文件。基本上,这种结构可以在客户端上使用,定义如何与程序的函数和数据结构进行交互。Anchor 还提供了更高级的抽象来处理状态管理。翻译 2024-03-23 17:13:41 · 345 阅读 · 0 评论 -
以太坊的扩容方案之二层网络 L2-Rollup & zkEVM
当前的 ETH POS 时代,当用户向以太坊提交新交易时,连接到网络的计算机(也称为节点)将交易存储在称为内存池的本地数据结构中。内存池负责维护未确认交易的列表,然后随机选择运行节点和抵押 32 ETH 的验证者,通过它们将内存池中的交易批量处理成块。选择将新区块添加到以太坊区块链的验证者有时被称为「提议者」。为了从最大可提取价值 MEV 中获得额外奖励,一些提议者在构建区块时将依赖第三方区块构建器而不是本地内存池。区块按顺序排列,并通过父块(前一个区块头)链接在一起。原创 2024-03-12 19:28:44 · 255 阅读 · 0 评论 -
DID 去中心化身份原理规范及实现方案
是一个全局键值对数据库,这个数据库要么是某个DID兼容的区块链,要么是某个DID兼容的分布式账本,或者是某个DID兼容的去中心化网络(其实这个数据库的位置就是DID标识符中的 example 字段,目前已经有非常多的。因为在这个应用层中,DID既可以用来标识个体的身份、也可以用来标识组织的身份,甚至标识物品的身份(言外之意是不仅可以改变当前的互联网,还可以改变物联网?身份不是由用户自己控制的。当然IV验证用户的方法也是如此:用Holder(即用户)的DID对应的DID文档里的公钥来验证其数字签名的合法性。原创 2023-05-15 15:47:03 · 990 阅读 · 1 评论 -
Solana全方位介绍——共识、钱包、生态、合约
Solana 的智能合约叫做链上程序(On-chain Program),Solana 官方推荐使用 Rust 和 C 来开发Solanan智能合约。开发者使用工具将合约编译成 Berkley Packet Filter (BPF) 字节码(文件以.so为扩展名),并部署到链上。Solana节点的runtime会加载 这个 BPF字节码并执行其逻辑。state是用来将内容存储到对应的文件时,存储格式的定义,类似一个ORM或者所谓的MVC中Model层。转载 2023-04-26 15:37:30 · 3288 阅读 · 0 评论 -
Solana 中文白皮书翻译
本文提出了一种新的区块链架构,其基础是一种能够验证链上事件发生的先后顺序及时间间隔的新共识算法,称作工作历史证明PoH算法能够将不可信任的时间间隔数据打包为区块链账本——一种只允许添加数据的数据结构。与工作量证明(Proof of Work,PoW)和权益证明(Proof of Stake,PoS)这些原有的共识算法。转载 2023-04-26 15:34:17 · 1003 阅读 · 0 评论 -
intel SGX Tee 可信执行环境概述
在云计算时代,云上数据按照数据所处状态被分为三大类。它们分别是:对于数据的安全,专家和业界在过去几十年的努力使得传输过程中的数据安全得到了保障,比如数据链路层加密,各种各样的传输协议加密的使用,对于存储中的数据安全,很多数据库,文件系统或者磁盘也是可以直接加密的,但是不管数据是在传输状态中还是在存储的时候加密,数据在最终使用的时候,在CPU和内存里的数据都是明文。对数据在使用状态中的保护,实现机密计算(Confidential Computing),硬件辅助是必要的。说到机密计算, 不得不先说可信执行环境(原创 2023-04-24 14:16:25 · 1131 阅读 · 0 评论 -
IOTex 区块链技术方案及其运行模式
身份认证管理的直接方式是将 IoTeX 区块链作为去中心化的公钥基础设施 (PKI),其中每一个实体都会分配到一个 TLS 证书形 式的加密身份验证,从而获得隐私保护。这个短生命期的证书由内嵌于设备中的长生命期的证书 签发,并在 IoTex 区块根链或子链上发布。用户或其他实体能够访问并且信任这个锚定在区块链 上的短生命期证书,进而鉴真连接到线上的实物,确保设备、服务与用户间的安全沟通,并且保 证其完整性。子链可定制化,具有图灵完备虚拟机的计算层可以支持复杂的控制。子链通过质押根链,参与整个网络。原创 2023-03-29 17:11:44 · 889 阅读 · 0 评论 -
IPFS 和 Filecoin 的联系和区别
复制证明是一个时间和计算密集型的过程,涉及到将每个扇区复制多次,并生成一个证明,证明这些副本是独立的,并且存储在不同的介质上。在Filecoin中,扇区是存储提供商存储的数据的最小单位。在Filecoin中,有效数据是指存储提供商(storage provider)实际存储的数据,而无效数据则是指存储提供商没有成功地存储的数据。Filecoin是一个去中心化的数据存储和文件共享网络,它使用一种称为Proof of Storage的共识算法来创建一个安全的、可靠的、弹性的数据存储市场。原创 2023-02-28 14:56:28 · 1578 阅读 · 0 评论 -
DHT 分布式哈希表 (Kademlia) 和一致性哈希
S/Kademlia 提出以上切实可行的解决方案,使得原有的 Kademlia 更具弹性。首先,通过结合公钥密码术使用加密谜题来限制 nodeId 生成。此外,我们通过兄弟列表扩展 Kademlia 路由表。这降低了桶分裂算法的复杂性,并允许 DHT 以安全复制的方式存储数据。最后,提出了一种查找算法,该算法使用多条不相交路径来提高查找成功率。转载 2023-02-16 14:50:27 · 828 阅读 · 1 评论 -
IPFS 简介及概述
星际文件系统(InterPlanetary File System). IPFS 是一个分布式的网络文件系统, 点到点超媒体协议. 可以让我们的互联网速度更快, 更加安全, 并且更加开放. IPFS协议的目标是取代传统的互联网协议 HTTP。中心化低效, 成本高 (IPFS 将文件分割为小的块, 从多个服务器同时下载, 速度快)Web文件经常被删除 (IPFS 提供了类似 git 的文件历史版本回溯功能)中心化限制了web的成长, 互联网封锁, 管制, 监控 (IPFS可以克服这些web的缺点)原创 2023-02-11 22:20:18 · 1271 阅读 · 0 评论 -
区块链安全-以太坊智能合约静态分析
Gao Feng of Qihoo 360 IceSword LabHuang Shao Mang of Qihoo 360 IceSword Lab概述目前,以太坊智能合约的安全事件频发,从The DAO事件到最近的Fomo3D奖池被盗,每次安全问题的破坏力都是巨大的,如何正确防范智能合约的安全漏洞成了当务之急。本文主要讲解了如何通过对智能合约的静态分析进而发现智能合约中的漏洞。由于智能合约部署之后的更新和升级非常困难,所以在智能合约部署之前对其进行静态分析,检测并发现智能合约中的漏洞,可以最转载 2021-09-10 10:13:16 · 969 阅读 · 0 评论 -
国产联盟链 Fisco-Bcos 调技术研报告
国产联盟链 Fisco-Bcos 调技术研报告 By Blake chen组织结构总览整体架构FISCO 对外宣传时,称其主要架构为 ”一体两翼多引擎“。一体是指其群组架构或者称为其多链架构,企业根据业务场景和业务关系选择不同群组,群组之间独立共识以及数据存储。同一个组织节点可以加入不同的群组。群组之间是否有通信、协作方式、以及安全模型还需要源码级研究才清楚其细节。两翼指的是支持并行计算模型和分布式存储,并行计算改变了区块中按交易顺序串行执行的做法,基于DAG(有向无环图)并行执行交易;分布式原创 2021-04-01 10:45:52 · 348 阅读 · 3 评论 -
PBFT 算法原理简介
什么是 pBFT?Practical Byzantine Fault Tolerance ,实用拜占庭容错。什么是 BFT?Byzantine Fault Tolerance ,拜占庭将军问题。拜占庭将军的问题是什么?简单地说,是一种少数服从多数的问题。拜占庭罗马帝国的每块封地都驻扎一支由将军统领的军队,将军与将军之间只能靠信差传递消息。在战争时期,拜占庭军队只有占据人数优势情况下,才能夺取目标的胜利。但在军队内有可能存有叛徒,当敌军与之联合起来大于忠诚将军数量时,进攻就会失败。pB原创 2021-03-08 23:31:11 · 1167 阅读 · 0 评论 -
区块链企业级解决方案 ( Hyperledger )
内容Hyperledger 简述Hyperledger 架构(v1.0.x)Hyperledger Transaction FlowPBFT 算法简介简述Linux 基金会牵头,主要成员包括 IBM 等公司。官方学习资料:https://hyperledger-fabric.readthedocs.io/en/latest/getting_started.htmlAnchor...原创 2019-02-19 13:57:46 · 1139 阅读 · 0 评论 -
EOS 连接同步主网
文章目录连接主网 mainnet一 . 自己本地搭建非生产者节点方式一方式二方式三方式四:直接连接远端nodeos节点连接主网 mainneteos 主网区块链浏览器http://eosnetworkmonitor.io/#home 一 . 自己本地搭建非生产者节点方式一mkdir /opt/EOSmainNetcd /opt/EOSmainNetgit clone ht...原创 2019-01-23 14:30:17 · 771 阅读 · 0 评论 -
eos 源代码学习笔记二
接上篇文章3、钱包及其账号钱包是一个私钥库,里面保存着私钥公钥对, 类似以太坊里的 keystore 信息。里面保存的私钥数据其实是私钥被加密后数据,需要用户输入密码才能还原出真正的私钥。智能合约的action执行都需要钱包来解锁相关的公钥(key).所以钱包可以看成是钥匙箱。一个钱包对应 ~/eosio-wallet/的一个文件,其中的一个文件里面的内容就是私钥被加密后的内容。如;[...原创 2018-10-16 17:36:52 · 449 阅读 · 0 评论 -
boost一些常用库(数据结构,迭代器,算法及字符串) 简单介绍
原文地址:http://blog.csdn.net/jinzhuojun/article/details/51923337 C++强大的重要原因之一就是它的库。而boost就是这样一个包罗万象的C++库,同时它也是C++标准库的官方后备军。不仅实用,功能全,而且灵活,高效,质量高。无论是学习或项目,都是有力的工具。下面罗列了容器、算法等几个重要类别下的主要子库。其中的一些已经是目前比较主流...转载 2018-09-27 00:20:37 · 2021 阅读 · 0 评论 -
详谈树结构(传统树、字典树、hash 树、Merkle Patricia Tree)
文章目录关于数据结构中树结构的相关分享一、传统的数据结构中的树结构1.1 二叉查找树1.2 平衡二叉树1.3 平衡二叉树之红黑树1.4 B 树1.5 B+树1.6 B* 树二、字典树 ( Trie树 )三、决策树(利用信息论的熵依靠决策树做决策选择)四、梅克尔帕特里夏树( Merkle Patricia Tree, MPT)关于数据结构中树结构的相关分享本文参考: 树结构参考文献一、传统...原创 2018-09-25 18:37:03 · 13745 阅读 · 5 评论 -
eos 源代码学习笔记一
eos 源代码学习笔记1、eos 中的常见合约类型newaccountsetcodesetabiupdateauthdeleteauthlinkauthunlinkauthcanceldelayonerror在文件 eos\libraries\chain\include\eosio\chain\contract_types.hpp 文件中定义2、语言环境局部( loca...原创 2018-09-20 14:19:55 · 574 阅读 · 0 评论 -
eos 编译笔记(注意点)
eos 编译笔记(注意点)一、从 GitHub 上下载原代码二、下载完源代码后,执行编译原代码eos 编译笔记(注意点)一、从 GitHub 上下载原代码可以使用下列命令,执行下载操作git clone https://github.com/EOSIO/eos --recursive注意这里的 –recursive 表示自动下载其循环子目录如果...原创 2018-09-11 10:47:09 · 618 阅读 · 0 评论 -
Truffle 、Geth、TestRPC 在私有链上搭建智能合约
Truffle 的简介Truffle 是最流行的开发框架,能够在本地编译、部署智能合约,使命是让开发更容易。Truffle 需要以太坊客户端支持,需要支持标准的 JSON RPC API。Truffle 的源代码地址:https://github.com/trufflesuite/truffle适合 Truffle 开发的客户端有许多的以太坊客户端...原创 2019-03-04 13:48:08 · 533 阅读 · 2 评论 -
使用 Mist 部署众筹合约
目录1、什么是ICO? ICO是以初始产生的数字加密货币作为投资回报的一种筹措资金的方式,它的概念源自证券界的Initial Public Offering(IPO,首次公开发行)。 相较于传统意义上的IPO,ICO具有可以缩短投融资链、降低投融资门槛、流动性佳、全球性投资等优势。常见的ICO里,数字货币和区块链项目向早期爱好者出售项目代币。项目团队通过ICO获取技术开发和市场拓展...原创 2019-03-04 13:46:44 · 415 阅读 · 0 评论 -
以太坊智能合约 solidity 的常用的数据结构介绍
Solidity 简介Solidity 是一种静态语言类型,在编译前都要指定每个变量的类型。Solidity 提供了几种基本类型,通过几种基本类型的组合,可以组合成复杂类型。此外更加官方的文章介绍可以参见:https://solidity.readthedocs.io/en/develop/index.html下面的实例均可以在 remix-ide 中进行测试 。数组数...原创 2019-02-25 17:22:06 · 831 阅读 · 0 评论 -
使用 remix-ide(Browser-solidity)在 Geth 上部署智能合约
什么是智能合约简介:智能合约是存储在区块链上的一段代码,它们可以被区块链上的交易所触发,触发后,这段代码可以从区块链上读取数据或者向区块链上写入数据。Solidity 的语言特性Solidity 是 Ethereum 的一种契约型编程语言,运行在Ethereum虚拟机(EVM)之上。它的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中...原创 2019-02-25 17:19:41 · 1340 阅读 · 0 评论 -
etherum 常用命令及搭建私有链
Etherum 启动脚本常用命令通过 geth console 来快速启动一个快速同步的node, console 表示同时打开一个 js 交互接口。如果在启动时,没加 console ,也可以通过 geth attach 连接 node 打开一个 js 交互界面。你可以通过 官方的 web3js 库进行交互,JavaScript-API从零开始搭建以太坊私有网络首先,您需要创建您...原创 2019-02-25 17:18:07 · 583 阅读 · 0 评论 -
Ethereum 开发简介
内容Ethereum Web 开发搭建开发者环境EVM 与 Solidity 简介Full Stack – 第一个 Dapp传统的 Web 开发简介有一个后台服务,后台回去连接数据库,好一点有一个 Cache,可以提升访问速度。前端访问:web 浏览器,工具 Curl/Wget , API caller缺点:服务器中心化(如 AWS/ 阿里云等),数据库操作...原创 2019-02-18 17:48:22 · 681 阅读 · 0 评论 -
智能合约简介
智能合约The DAO以太坊主要的特性部署运行智能合约 (Smart Contract)部署在去中心化的平台上的一种自动自行的电子合约。智能合约的风险案例 (The DAO)合约一旦部署成功很难更改,计算机程序难免出现 bugThe DAOThe mother of all DAOs一个智能合约形式的 VC 基金,众筹了 1.62 亿美元股东通过众筹获得呆...原创 2019-01-26 13:46:05 · 592 阅读 · 0 评论