区块链100讲:区块链为什么叫“区块”“链”?

区块链中的“链上”和“链下” 原标题:一文读懂“链上”和“链下” 什么是“上链”?什么数据和逻辑应该“上链”?文件能不能上链?链上能不能批量查数据?“链下”又是什么? “链上”、“链下”诸多问题,一文说清。 什么是“链上”和“链下” 区块“链”的链,包含“数据链”和“节点链”。数据链指用链式结构组织区块数据,构成数据校验和追溯的链条;“节点链”指多个节点通过网络连接在一起,互相共享信息,其中的共识节点则联合执行共识算法,产生并确认区块。 交易“上链”的简要过程如下: 1、记账者们收录交易,按链式数据结构打包成“区块”。 2、共识算法驱. 阅读详情

image

《区块链100讲》第1讲我们用一个村里的账本解释了什么是区块链,今天继续第2讲,看看什么是“区块”,它们是怎么“链”起来的,“区块”里包含了什么?

1

区块链由区块链接而成

区块链由一串使用密码学算法产生的区块链接而成。每一个区块上写满了交易记录,区块按顺序相连形成链状结构,也就是区块链大账本。

区块链技术把数据库中需要存储的数据分成了不同的区块。以比特币为例,矿工在生成新区块时,需要根据前一个区块的哈希值、新交易区块和随机数,来计算新的哈希值和随机数,每个区块通过特定的信息链接到上一区块的后面,前后按时间顺序连接起来呈现一套完整的数据。也就是说每一个区块都是在前一个区块数据的基础上生成的,该机制保证了区块链数据的唯一性。

每个区块链数据库本质上是一个按照时间顺序串联起来的事件链,它使用协议规定的密码机制进行了认证,保证不会被篡改和伪造。

因为交易记录细微的变化也会彻底改变哈希值的结果,所以矿工在进行算力竞争的时候无法作弊,每个矿工都必须等前一个区块生成之后才能根据前一个区块的数据开始计算符合条件的随机数,保证了挖矿的公平性。

2

区块结构

区块是使用密码学方法产生的数据块,数据以电子记录的形式被永久储存下来,存放这些电子记录的文件我们就称之为“区块(block)”。

区块是区块链的主要数据存储结构,一个区块包含区块头和区块体两个部分。

image

(来源于否子戈博客)

而区块头则是区块的重头戏。对于一个区块而言,它就是一个特殊的数据结构。区块头包含了一些固定信息:

  • 版本(客户端版本,每次升级客户端软件,这个信息就会不一样)。

  • 块高度(其实就是表示这是链中的第几个区块)。

  • 块哈希(这个区块的hash值,是挖矿得到的),上一个块的块哈希(这个字段是重点中的重点,是形成链表结构的关键)。

  • 时间戳(区块创建时间)。

  • 难度和Nonce(这两个字段和挖矿有关,区块链100讲之挖矿会详细介绍)。

  • merkle root(区块体的merkle根hash值,区块链100讲之merkle树会详细介绍)。

除了这些字段,如果做一个自己的区块链,还可以添加一些其他信息到区块头中。以比特币的区块链为例,每个区块记录了这几个内容:神奇数、区块大小、数据区块头部信息、交易计数、交易详情。

image

(来源于动脉网)

区块体*是保存具体内容的位置,在比特币的区块链中,区块体保存的是一段时间的交易信息*。在其他区块链中,这里可不一定保存的是交易信息,可能是其他信息,总之区块体是保存该区块链用来做什么业务的具体业务信息。

在部分区块链实现中,一个区块还可以有区块尾,用来保存一些区块创建结束之后的信息,这些信息可能是区块头和区块体已经创建完以后,附加上去的,比如区块的长度、容量等信息。

区块链的数据存储方式通过两个方式来保证数据库的完整性和严谨性。

  • 第一,每一个区块上记录的交易是上一个区块形成之后、该区块被创建前发生的所有价值交换活动,这个特点保证了数据库的完整性。

  • 第二,在绝大多数情况下,一旦新区块完成后被加入到区块链的最后,则此区块的数据记录就再也不能改变或删除。这个特点保证了数据库的严谨性,即无法被篡改。

3

链式结构

区块和区块之间是如何“链”起来的呢?主要依靠各个区块之间的数据区块头部信息链接起来,头部信息记录了上一个区块的HASH值(通过散列函数变换的散列值)和本区块的HASH值。本区块的HASH,又在下一个新的区块中有所记录,由此完成了每个区块的信息链。

image

(来源于否子戈博客)

同时,由于包含了时间戳,区块链还带有时序性。时间越久的区块后面所链接的区块越多,修改该区块所花费的代价也就越高。区块链采用了密码协议,允许计算机(节点)的网络共同维护信息的共享分布式账本,而不需要节点之间的完全信任。

该机制保证,只要大多数网络按照所述管理规则验证发布到分类账(即,链)的块,存储在区块链中的信息可被信任为可靠的。这确保交易数据在整个网络中一致地复制。分布式存储机制的效果通常意味着网络的所有节点都保存了区块链上存储的所有信息。这里借用一个形象的比喻,区块链就好比地壳,越往下层,时间越久远,越稳定,不会发生改变。

由于区块链将从创世块以来的所有交易都明文记录在区块中,且形成的数据记录不可篡改,因此任何交易双方之间的价值交换活动都是可以被追踪和查询到的。这种完全透明的数据管理体系不仅从法律角度看无懈可击,也为现有的物流追踪、操作日志记录、审计查账等提供了可信任的追踪捷径。

区块链在增加新区块的时候,有很小的概率发生“分叉”现象,即同一时间出现2个符合要求的区块。对于“分叉”的解决方法是延长时间,等待下一个区块生成,选择长度最长的支链添加到主链。“分叉”发生的概率很小,多次分叉的概率基本可以忽略不计,“分叉”只是短暂的状态,最终的区块链必然是唯一确定的最长链。

从监管和审计的角度来看,条目可以添加到分布式账本中,但不能从中删除。运行专用软件的通信节点网络以对等方式在参与者之间复制分类账,执行分布式分类账的维护和验证。在区块链上共享的所有信息都具有可审计的痕迹,这意味着它具有可追踪的数字“指纹”。分类账上的信息是普遍和持久的,并创建可靠的“交易云”,使数据不会丢失,所以这项技术从根本上消除了交易对手之间的单点故障风险和数据碎片差异。

本期就讲到这里,下期继续。什么是区块、它们如何“链”接,你明白了吗?

本文内容来源于:火币网、36kr

以下是我们的社区介绍,欢迎各种合作、交流、学习:)

image

区块链100讲:区块链的3个阶段和4种分类 在前面几期《区块链100讲》我们介绍了区块链的一些基本概念,也知道区块链至今为止经历了 3个阶段。发展到现在,根据不同的划分标准,可以将区块链分为不同的类别,本期我们将重点介绍区块链的分类。 1 区块链的3个阶段 关于区块链的3个阶段,在《区块链解密:构建基于信用的下一代互联网》这本书中得到了一些概念: 区块链1.0:可编程货币 区块链技术伴随比特币的产生而产生,其最... 阅读详情

相关推荐

如何用发链框架,快速构建一条区块链?

发链技术的成熟让搭建区块链变得轻松、简单,只要明确需求,选择合适的技术框架,即可快速实现区块链的部署。若是看重生态流量池,那么可以选择老牌以太坊生态的开发框架,而如果是对新兴技术和潜力市场看重,那么Move生态的StarStack是一个不错的选择。

BlockOne11的博客 1735

区块链节点和区块区别_区块链的节点是什么?

区块链节点,通常指的是区块链网络中的计算机,也就是说任何连接到区块链网络的计算机(包括手机,矿机等)都称为节点。比如说比特币网络是一个公有链,用户在自己的联网电脑上运行比特币程序时,这个电脑就成为比特币区块链网络中的一个节点。操作一个节点可以是普通钱包用户,矿工或多人协作。不同的区块链对节点的数量和要求有所不同。通常,节点首先需要具有一定的存储空间,保证足够好的性能以免一跑就堵塞,然后设...

weixin_39610415的博客 5007

给排水工程师的SWMM初体验:从软件界面到第一个简单模型的保姆级上手教程

本文为给排水工程师提供SWMM软件的保姆级上手教程,从界面解析到创建第一个简单模型,详细介绍了SWMM的核心功能和操作步骤。通过30分钟的实践指导,帮助新手快速掌握雨水管网建模的基本技能,提升工作效率。

weixin_28736355的博客 323

(二)区块链的认识,理解“区块”和“链”

区块链的基本三个概念: ① 交易(transaction):一次对账本的操作,导致账本状态的一次改变,如添加一条转账记录;          这是我在以太坊浏览器(https://etherscan.io)随机截取一条以太坊交易信息,结合前面的的标签我相信大家应该不难看懂这张截图内容。这是一张比银行转账单都还要更详细的交易信息。从这里面我们可以获取到所有我们想要的信息,包括交易发起人,接...

Lyon_Nee的博客 1263

SpringBoot实战(二十八)集成 Collabora Online 实现在线编辑

SpringBoot实战(二十八)集成 Collabora Online 实现在线编辑

ACGkaka的博客 6984

【Spreadsheet】香港规范结构设计电子表格库开发方案

深入理解香港本地规范特点和要求结合国际先进标准(Eurocode) 的技术内容考虑香港地理环境特殊性 (台风、地质等)建立完善的质量控制体系保持持续更新维护的能力。

hmywillstronger的博客 1363

节点与区块有什么区别?

区块(Block)**是区块链中两个完全不同的概念,分别承担不同的角色。**节点(Node)

Augety_的博客 670

[捷稀 JCG Q30 Pro 刷机说明] 以刷入openwrt24.10为例

摘要: 本文详细介绍了捷稀JCG Q30 Pro路由器刷入OpenWrt 24.10系统的步骤。通过先刷入OpenWrt 23.05过渡固件,再升级Uboot,最后通过TFTP加载工厂镜像完成刷机。关键步骤包括解锁分区、刷写Uboot、进入恢复模式及配置网络。文章还提供了无线设置、Tailscale内网穿透等进阶命令,并附参考文档和固件下载链接。适用于有一定技术基础的玩家,需注意操作风险,严格按流程执行。

贤时间 7148

链游玩家:联盟链、私链、公链,哪种更适合链游行业?

链游玩家|出品 区块链发展至今,已经衍生出非常多的概念和分支。但就区块链的类型而言,已经出现了多种形式,比如联盟链、公有链、私有链等。我们今天所要讨论的主题和区块链密不可分,那就是“哪种形式的区块链更适合链游的发展”。 区块链游戏,顾名思义,是指通过区块链的技术,来创建并运行的各种类型的游戏。既然游戏是构架在区块链上的,那么现如今有多少种区块链可以构建并运行游戏? 我们先来...

lianyouwanjia的博客 821

LLM评测框架Ragas:测试RAG的性能出现TimeoutError()的解决办法(Ragas+langchain+ollama)

无奈之下,自己找到了一个解决办法,在ragas支持的llm类库中加了一个如下的类,支持ollama、langchian_ollama使用ragas测试报错的问题。可以将如上的库放到你的ragas的系统库的llms目录下,然后修改__init__.py如下。最近用ragas测试rag的性能,发现老出现TimeoutError()的错误。这是一个临时的解决办法,具体等待官方给出最终的解决方案。后来发现官方也没有尽快支持的计划。然后就可以用如下代码进行一些验证。

Criss@陈磊 666

Open3D DBSCAN聚类

DBSCAN算法做为一种有名的密度聚类算法,它是通过邻域参数(Distance,MinPts)来刻画样本分布的紧密程度。而在真正开始之前,首先要理解下面这几个概念:更为具体的内容也可参考这篇文章点云DBSCAN聚类算法。...

dayuhaitang1的博客 1800

区块链必读“上链”哲学:“胖链下”与“瘦链上”

作者 | 张开翔责编 | Carol来源 |FISCO BCOS开源社区什么是“上链”?什么数据和逻辑应该“上链”?文件能不能上链?链上能不能批量查数据?“链下”又是什么?“链上”、...

区块链大本营 4636

dToF直方图之美_deadtime死区时间

IMX459的死区时间可以在6ns,这个时间是什么级别,车载激光雷达激光器的光脉宽一般都在4ns以上,也就是这个时间贴近去SPAD的死区时间,这就导致了pile up会非常弱,不会有太多数量的光子计数堆积,加上某些SPAD设计,对TDC有一些更深入的考量,所以不需要去校正pile up算法。Sensor层面决定了pile up的复杂程度,如果一个dToF的SPAD一致性非常好,那么pile up校正可以简单到极致,也就是一句代码的事,比如IMX611,优秀到不需要后端去考虑校正pile up。

致力于lidar应用开发 2151

区块链安全“猜疑链”

原创 | 刘教链隔夜BTC(比特币)强势反攻,硬生生把高开低走逆转成了连续上涨,并一鼓作气,重新站上7万刀高地。多头干得漂亮,这一段战线打得十分解气!受此精神带动,加密市场全面上行,UNI (Uniswap)也趁势大举反推,一度涨超10%,逼近12刀一线。昨6.4内参:百万美刀资产放在交易所离奇被盗的警示录![链接]提到了一个令人悲伤、使人警醒的消息:某网友把高达100万美刀(700多万RMB)的...

刘教链 1555

CKS-CN考试之路----03

这题不需要去生成image和生成deployment所以只需要去检测对应的值即可。编辑/cks/docker/Dockerfile,修改最后第二行的值。编辑/cks/docker/deployment.yaml。

Q先生 826

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

区块链100问

区块链100问01. 从物物交换到比特币02. 什么是比特币03. 比特币白皮书的诞生04. 第一个比特币诞生啦05. 谁是中本聪06. 密码朋克是什么07. 比特币是怎么发行的08. 披萨居然卖到3亿元09. 区块链联盟盘点09. 中本聪的继承者是谁10. 早起比特币还能白送11. 比特币为啥还没挖完12. 比特币如何保持总量恒定13. 比特币和Q币不一样14. 各国和区块链资产15. 比特币怎...

zgf605506394的博客 5269

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

mysql存储区块链_区块链数据是存在链上还是数据库里?

​在回答这个问题之前,首先要理清“区块链数据”和“链上数据”的概念。区块链数据“区块链数据”广义上包括区块链的区块数据和区块链的状态数据:区块数据记录了区块链上发生的每一笔交易,譬如小明给小王转账了50元、小王充值了20元等类似这样的交易数据;状态数据记录了区块链上每个账户或智能合约的当前状态,比如小明当前的余额是50元、小王当前的余额是100元。无论区块数据还是状态数据,它们都是由区块链节点使用...

weixin_35731493的博客 2234

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

区块链-为什么区块链是不可篡改的

目录:https://blog.youkuaiyun.com/qq_40452317/article/details/89646633 区块链的数据结构是由包含交易信息的区块按照从远及近的顺序有序链接起来的。区块被从远及近有序地链接在这个链条里,每个区块都指向前一个区块。 区块链经常被视为一个垂直的栈,第一个区块作为栈底的首区块,随后每个区块都被放置在之前的区块之上。用栈来形象化表示区块依次堆叠这一概...

朝歌 1万+

区块链:7 个步骤入门区块链

2017 年是比特币大爆发的一年。在潜水这么多年之后,比特币的价格一下子从 1000 美元左右飞涨至将近 20000 美元。多少人摇身一变,成了“密码学货币交易专家”。 赶上好时候确实可以狠赚一笔,不过醒醒吧,盛宴已散。 -2013 年 10 月至 2018 年 10 月的比特币价格走势图(来源:Coinmarketcap.com)- 尽管让人们肾上腺素爆棚的主要还是飞速攀升的市值,但这...

跨链技术践行者 1万+

区块链扩展-侧链

在侧链技术的研究方面,Blockstream是较为领先的一个公司。2014年10月,以亚当为首的开发团队正式发布了侧链白皮书,2015年6月,Blockstream宣布将为其侧链项目发布一个开源代码库和测试环境。侧链白皮书中提出了一种新技术——“楔入式侧链”,通过它可以实现不同区块链间资产的互相转移。由于侧链是独立的系统,因此技术与理念上的创新不会受到主链的局限,即使出现创新失败或者恶意攻击,所受的损害也只限于侧链本身。本质上,区块链是不同数字价值的载体,而侧链技术则是连接不同区块链的通路。

weixin_63776631的博客 1812

区块链100讲:区块链中的随机数

我们生活的环境充满了随机性。一直以来,运气,概率和命运这些概念都与随机性紧紧联系在一起。所有人类无法理解或无法预测的事物往往都被归类为随机事物。从生理上来说,我们也是沉浸在了随机海洋中。从云的运动到粒子和波浪的行为,随机性简直无处不在。 然而,尽管人类接触到了各种各样的随机事物,对随机性很熟悉,但依然难以将它转化为计算机可以使用的东西。当我们谈论计算机系统中的随机性时,我们真正指的是伪随机性,即...

HiBlock的博客 3828

区块链100问之数据结构

分叉是什么?分叉是分布式共识系统进行升级时,可能存在共识机制的改变,社区成员存在意见的分歧。软分叉是什么?区块链或中心化网络向前兼容的分叉,未升级的节点仍旧能接受新的规则(强化规则)。新的节点需要满足更细化的新规则。硬分叉是什么?区块链或去中心化网络中不向前兼容的分叉,影响较大。未升级的 节点将新区块看做无效。经典案例比特币分叉:2017年8月,为解决比特币交易拥堵、手续费奇高等问题,比特币核心开发团队bitcoincore提出“隔离见证 +闪电网络。

weixin_74257347的博客 1713

什么是区块链?为什么需要区块链?

Love-Ethereum 从个故事开始吧 第一章:信任 账本时代的故事: 小王问你借100W,答应一年后还你200W。你心动了,可是又怕他不还。于是乎你找到了你们村长做鉴证人,你打了一个借条,上面写着:“2018年6月小王借小胡100W,答应2019年6月还小胡200W”,然后你和小王都在这借条上签名。借条一式三份,保存在你、小胡以及村长那里。拿到钱,小胡私底下找到村长,两个人五五分了这一笔...

XFORG1992的博客 1万+
上一篇: 【众说区块链】All in区块链和嘲笑区块链的人都是怎么想的
下一篇: 区块链技术在各行业的应用解决方案
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值