区块链之初识区块链

liankexing liankexing     2023-02-23     484

关键词:

  大家下午好,这里是链客区块链技术问答社区,给大家讲一讲刚接触区块链的萌新需要了解什么。

 

首先得明白几个概念:区块链,比特币,中心化,去中心化,挖矿

区块链和比特币

区块链是啥呢?区块链和比特币有啥关系呢?

比特币是区块链,但区块链不是比特币。区块链是一种技术,比特币是其的一种体现形式,除了比特币,还有好多类似的币。区块链这种技术与普通技术的区别有啥区别呢?就是普通的技术会把一个文件存放在一台电脑上,高级点的技术会放在服务器上,而区块链会把一个文件存储在所有终端电脑上,每台电脑上都有这个文件,但是这个文件是加密存储的。区块链就是一个分布式存储的数据库系统,和咱平时说的数据库有啥不一样,咱平时的数据库是存在咱公司的机房,咱自己的服务器上,只有咱公司有权限的人才可以查看,外人是不可以查看的,而区块链这个是公共的,每个人都可以看的。

 

中心化和去中心化

啥是中心化?

你要买房了,必须立刻筹集100万,但是你自己的钱都在股市,暂时取不出来,周转不开,没钱咋办?幸好家里有一件古董,可以先抵押出去,等过两天再赎回来,正好你们村有个大善人,他通过抵押放贷收取利息。但是抵押不能直接抵押,得经过村长公正,就是先交给村长,因为这样万一以后出问题村长作为参与者可以作证。ok,你拿着你家的古董———-经过公正人村长(必须有人公正),把古董交给村长—–村长抵押给大善人—大善人拿钱给村长—村长把钱给你周转。那么在这个过程中,村长就是一个中心化的产品。过段时间你有钱了,去拿回你家的古董,万一大善人这个时候耍赖,不承认,那么这个时候村长就起关键作用,拿出村长的威信和当时公正的合同指正大善人。那么就有人问了,要是村长被大善人收买了咋办?两个人合谋赖你家古董 咋办?这就是中心化的弊端。

啥是去中心化?

接着上面村长的案例,在上面的案例中,村长作为唯一的权威,要是村长失信了,那么你家的古董十有八九就被大善人赖走了。那么去中心化,就是不需要村长公正,你把你家古董抵押给大善人的时候你在村口大广播一下:通知通知,今天我刘二因买房周转不开,特将传家古董抵押给大善人,请大家作证。这样村里的每个村民都会在自己的小本上写下:某某年某某日,刘二将古董抵押给大善人。大善人在收到古董后,也在村里大广播通知:通知通知,某某年某某日我大善人收下刘二抵押的传家古董一个。这样村民又在小本下写下:某某年某某日大善人确定收下刘二古董一个。等到刘二周转开后去大善人家赎传家古董,大善人矢口否认,这个时候广大村民出来作证,你看,我们的账本上都有记录,你不要赖账。这就叫去中心化。

 

挖矿

大家可以看看现在的区块链产品(目前这类产品比较少,大家等我们的产品上线哈,oo),都是在挖矿,那么到底是什么东西?上面我们说过每个村民会帮着记账,但是这种费心费力的事大家都不愿意干,怎么办呢?现在规定,第一个记录下来的村民将得到一部分奖励。那么所有的村民就将争前恐后的记录,因为只有第一个记录的才有奖励,其他的都没有。哪怕你晚了0.01秒,也没有。用程序思维可以类比为你在村口大喇叭上喊的这一声里带有特定的声波数据,谁先破解出来就给谁。那么现在村民ABCD同时记录,同时破解。A呢就自己记录,B呢找了一大堆人,那么我们平时挖的矿是啥呢?基本上不会是自己在挖矿,而是加入了某一个矿池。矿池会集合许多矿工的计算能力来挖矿。当挖到block的时候,根据每个人的算力占总算力的比例来进行分红。所以你才会得到微量的币。

 

挖矿的时候会用到算力,那么什么是算力呢?

挖矿速度,专业的说法叫算力,就是计算机每秒产生hash碰撞的能力。也就是说,我们手里的矿机每秒能做多少次hash碰撞,就是算力。算力就是挖比特币的能力,算力越高,挖得比特币越多,回报越高。

 

创建区块链之v1(代码片段)

下面简单的描述区块链的实现:block.gopackagemainimport("time""crypto/sha256""bytes")//定义块结构typeBlockstructVersionint64PrevBlockHash[]byteHash[]byteTimeStampint64TargetBitsint64Nonceint64MerKelRoot[]byteData[]byte/ 查看详情

区块链之智能合约solidity踩坑--上篇

...遇到一些坑,做一下总结;介绍主要分一下三个方面:对区块链的简单描述结合业务场景,编写简单智能合约,时遇到的坑(上篇)assembly的使用说明(下篇)正文进入正题之前,我稍微简单介绍一下什么是区块链,区块链干嘛用的(... 查看详情

区块链之《chia技术架构》

Chia技术架构简述好文章,要分享Chia(起亚)是最近极为火热的数字货币项目,对应的货币叫做ChiaCoin,简称XCH。其核心算法为PoST(ProofofSpaceandTime),以替代比特币中的PoW(ProofofWork)。使... 查看详情

区块链之bolt数据库持久化与基本功能完善(代码片段)

...库安装使用bolt进行持久化存储bolt持久化的基本步骤创世区块的持久化新增区块的持久化完善区块链基本功能创世区块创建增加区块遍历区块链链接:区块链项目github地址项目目前进度:bolt数据库安装bolt数据库介绍:... 查看详情

区块链之开发命令行操作模块(代码片段)

...介绍go语言中flag用法简介项目命令行具体实现链接:区块链项目github地址项目目前进度:功能介绍利用命令行操作区块链相较于图形用户界面来说,编写代码简单,同时也可以实现复杂的功能。命令行模块的功能... 查看详情

区块链之部署和调用以太坊智能合约(代码片段)

区块链之部署和调用以太坊智能合约作者:邹祁峰邮箱:Qifeng.zou.job@hotmail.com博客:http://blog.csdn.net/qifengzou日期:2018.03.0401:18转载请注明来自”祁峰”的CSDN博客1引言智能合约就像我们业务的后台逻辑,其运行在... 查看详情

python开发区块链之04如何生成多签名的bitcoinaddress

参考技术A欢迎关注专栏《区块链Blockchain》多签名的bitcoinaddress需要多个privitekey来生成。例如我们生成三个privatekeymy_multi_sig=mk_multisig_script(my_private_key1,my_private_key2,my_private_key3)my_multi_address=scriptaddr(my_multi_sig) 查看详情

初识区块链

2018年,最火的词就算是区块链了,周围的人都在谈区块链投资、区块链技术,说的头头是道,感觉一夜之间都变成区块链专家了一样,但当我们在谈论区块链的好处时,是否看到区块链背后的成本、速度、扩展、效率呢?对技... 查看详情

自己动手写区块链之交易中继(代码片段)

...须自己手动进行一次挖矿,才会把交易记录加到一个区块里面去 查看详情

创建区块链之v2实现pow(proofofwork工作量证明)(代码片段)

block.gopackagemainimport("time")//定义块结构typeBlockstructVersionint64PrevBlockHash[]byteHash[]byteTimeStampint64TargetBitsint64Nonceint64MerKelRoot[]byteData[]byte//设定创建块的方法funcNewBlock(datastring,pre 查看详情

区块链之以太坊的那些坑

 作者:邹祁峰邮箱:Qifeng.zou.job@hotmail.com博客:http://blog.csdn.net/qifengzou日期:2018.04.04转载请注明来自"祁峰"的CSDN博客 使用以太坊的过程中遇到不少坑,团队成员花了不少时间去研究才找到其中的真... 查看详情

区块链之联盟链(三)认识fabric

参考技术AFabric是超级账本联盟推出的核心区块链框架,它适合在复杂的企业内和企业间搭建联盟链。根据超级账本联盟的目标,Fabric被建设为一个模块化的、支持可插拔组件的基础联盟链框架。;与以太坊系的Quorum不同,Fabric... 查看详情

区块链之hyperledger(超级账本)fabricv1.0的环境搭建(更新)(代码片段)

参考链接:https://blog.csdn.net/so5418418/article/details/78355868  https://blog.csdn.net/wgh1015398431/article/details/70780722?locationNum=6&fps=11,安装go下载gowgethttps://www.golangtc.com/stat 查看详情

初识区块链

工作量证明(proofofwork)  区块链的一个关键是,为了保证安全稳定,要给它加一个门槛:即参与者想创建区块并加入区块链,必须证明自己完成了非常困难的工作,这就是"工作量证明",简称POW。可以理解为POW用于保持区块... 查看详情

区块链之开发命令行操作模块(代码片段)

...介绍go语言中flag用法简介项目命令行具体实现链接:区块链项目github地址项目目前进度:功能介绍利用命令行操作区块链相较于图形用户界面来说,编写代码简单,同时也可以实现复杂的功能。命令行模块的功能... 查看详情

区块链之bolt数据库持久化与基本功能完善(代码片段)

...库安装使用bolt进行持久化存储bolt持久化的基本步骤创世区块的持久化新增区块的持久化完善区块链基本功能创世区块创建增加区块遍历区块链链接:区块链项目github地址项目目前进度:bolt数据库安装bolt数据库介绍:... 查看详情

初识区块链

初识区块链文章目录初识区块链一、简单介绍二、国家政策简介三、国际发展情况简介四、区块链的起源五、区块链的概念六、区块链的特征一、简单介绍区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据... 查看详情

初识区块链

??前言:从2017年开始,一个叫做区块链的技术开始风靡全球,它的崛起造就了大批普通人和所谓的行业大咖,经历了2017、2018年“币圈”的潮起潮落般的喧嚣后,区块链这门技术似乎才真正的回归到技术本身来,不在被盲目的人... 查看详情