区块链技术

2024-05-16 01:52

1. 区块链技术

  背景:比特币诞生之后,发现该技术很先进,才发现了区块链技术。比特币和区块链技术同时被发现。 
    1.1 比特币诞生的目的: 
    ①货币交易就有记录,即账本; 
    ②中心化机构记账弊端——可篡改;易超发 
         比特币解决第一个问题:防篡改——hash函数  
    1.2 hash函数(加密方式) 
    ①作用:将任意长度的字符串,转换成固定长度(sha256)的输出。输出也被称为hash值。 
    ②特点:很难找到两个不同的x和y,使得h(x)=h(y)。 
    ③应用:md5文件加密 
    1.3 区块链 
    ①定义 
    区块:将总账本拆分成区块存储 
    区块链:在每个区块上,增加区块头。其中记录父区块的hash值。通过每个区块存储父区块的hash值,将所有的区块按照顺序连接起来,形成区块链。 
    ②区块链如何防止交易记录被篡改 
    形成区块链后,篡改任一交易,会导致该交易区块hash值和其子区块中不同,发现篡改。 
    即使继续篡改子区块头中hash值,会导致子区块hash值和孙区块中不同,发现篡改。 
        
    1.4 区块链本质 
    ①比特币和区块链本质:一个人人可见的大账本,只记录交易。 
    ②核心技术:通过密码学hash函数+数据结构,保证账本记录不可篡改。 
    ③核心功能:创造信任。法币依靠政府公信力,比特币依靠技术。 
    1.5如何交易 
    ①进行交易,需要有账号和密码,对应公钥和私钥 
    私钥:一串256位的二进制数字,获取不需要申请,甚至不需要电脑,自己抛硬币256次就生成了私钥 
    地址由私钥转化而成。地址不能反推私钥。 
    地址即身份,代表了在比特币世界的ID。 
    一个地址产生之后,只有进入区块链账本,才能被大家知道。 
    ②数字签名技术 
    签名函数sign(张三的私钥,转账信息:张三转10元给李四) = 本次转账签名 
    验证韩式verify(张三的地址,转账信息:张三转10元给李四,本次转账签名) = True 
    张三通过签名函数sign(),使用自己的私钥对本次交易进行签名。 
    任何人可以通过验证韩式vertify(),来验证此次签名是否有由持有张三私钥的张三本人发出。是返回true,反之为false。 
    sign()和verify()由密码学保证不被破解。· 
    ③完成交易 
    张三将转账信息和签名在全网供内部。在账户有余额的前提下,验证签名是true后,即会记录到区块链账本中。一旦记录,张三的账户减少10元,李四增加10元。 
    支持一对一,一对多,多对已,多对多的交易方式。 
        
     比特币世界中,私钥就是一切!!!  
    1.6中心化记账 
    ①中心化记账优点: 
    a.不管哪个中心记账,都不用太担心 
    b.中心化记账,效率高 
    ②中心化记账缺点: 
    a 拒绝服务攻击 
    b 厌倦后停止服务 
    c 中心机构易被攻击。比如破坏服务器、网络,监守自盗、法律终止、政府干预等 
     历史 上所有有中心化机构的机密货币尝试都失败了。 
        
     比特币解决第二个问题:如何去中心化  
    1.7 去中心化记账 
    ①去中心化:人人都可以记账。每个人都可以保留完整的账本。 
    任何人都可以下载开源程序,参与P2P网络,监听全世界发送的交易,成为记账节点,参与记账。 
    ②去中心化记账流程 
     某人发起一笔交易后,向全网广播。 
     每个记账节点,持续监听、持续全网交易。收到一笔新交易,验证准确性后,将其放入交易池并继续向其它节点传播。 
     因为网络传播,同一时间不同记账节点的交一次不一定相同。 
     每隔10分钟,从所有记账节点当中,按照某种方式抽取1名,将其交易池作为下一个区块,并向全网广播。 
     其它节点根据最新的区块中的交易,删除自己交易池中已经被记录的交易,继续记账,等待下一次被选中。 
    ③去中心化记账特点 
    每隔10分钟产生一个区块,但不是所有在这10分钟之内的交易都能记录。 
    获得记账权的记账节点,将得到50个比特币的奖励。每21万个区块(约4年)后,奖励减半。总量约2100万枚,预计2040年开采完。 
    记录一个区块的奖励,也是比特币唯一的发行方式。 
    ④如何分配记账权:POW(proof of work) 方式 
    记账几点通过计算一下数学题,来争夺记账权。 
    找到某随即数,使得一下不等式成立: 
    除了从0开始遍历随机数碰运气之外,没有其它解法,解题的过程,又叫做挖矿。 
    谁先解对,谁就得到记账权。 
    某记账节点率先找到解,即向全网公布。其他节点验证无误之后,在新区块之后重新开始新一轮的计算。这个方式被称为POW。 
    ⑤难度调整 
    每个区块产生的时间并不是正好10分钟 
    随着比特币发展,全网算力不算提升。 
    为了应对算力的变化,每隔2016个区块(大约2周),会加大或者减少难度,使得每个区块产生的平均时间是10分钟。 
      #欧易OKEx# #比特币[超话]# #数字货币# 

区块链技术

2. 区块链技术开发

在很多区块链商业应用的案例中,我们总能看到BaaS这个字眼,BaaS是Blockchain as a Service的缩写,中文译为“区块链即服务”。那么区块链即服务BaaS究竟是什么?我们就带着这个疑问跟随着人人链区块链技术团队的小王来仔细的探讨下。
据小王介绍:区块链即服务BaaS主要是由微软、IBM两个巨头提出的概念,说白了它其实就是一种新型的云服务,一种结合区块链技术的云服务。比如微软的Azure云计算平台、IBM的Bluemix Garage云平台都提供区块链即服务BaaS。
区块链即服务BaaS是微软、IBM这些企业从自己的云服务网络中开辟出一个空间,用来运行某个区块链节点。和普通节点及交易所节点相比,BaaS节点的用途主要是:快速建立自己所需的开发环境,提供基于区块链的搜索查询、交易提交、数据分析等一系列操作服务,这些服务既可以是中心化的,也可以是非中心化的,用来帮助开发者更快地验证自己的概念和模型。BaaS节点的服务性体现在:工具性更强,便于创建、部署、运行和监控区块链。

3. 区块链技术

区块链都已经炒疯了,你却对它一无所知!
区块链是一个由不同节点共同参与的分布式数据库系统,是开放式的账簿系统(ledger)。
它是由一串按照密码学方法产生的数据块或数据包组成,即区块(block),对每一个区块数据信息都自动加盖时间戳,从而计算出一个数据加密数值,即哈希值(hash)。

区块链技术

4. 区块链数字货币交易所开发

交易系统其核心都离不开以下几个部分:
1、钱包安全。中心化交易所平台用户的币都存放在交易所的总钱包地址的,这个钱包选择使用哪家的非常重要,而且钱包地址的部署和安全性也是核心。
钱包的安全从系统的架构上可以增加安全性,比如分布式部署架构,钱包等核心业务独立服务器部署,并且分布在前端、推送等服务的后面,这样即使受到攻击也无关紧要,当然还有更多的解决方案。
2.交易所的风控系统。这块许多公司都会做,但至于全面与否是未知的,源中瑞科技可以对不同币种,做不同的风控预计,比如达到A币,交易量达到X的时候平台提示;达到B的时候平台强制关闭A币的交易;达到N时候,关闭整个网站的冲提功能。
3.内部安全。交易所外部的安全一般不会有很大的问题,但内部就不一定了。许多项目方也是吃亏在这里,所以内部核心安全非常重要,我们能够做到让Boss管理资金,手下管理各个业务板块,这样核心都在老板手中,也就不用担心其他了。

5. 区块链开发

在很多区块链商业应用的案例中,我们总能看到BaaS这个字眼,BaaS是Blockchain as a Service的缩写,中文译为“区块链即服务”。那么区块链即服务BaaS究竟是什么?我们就带着这个疑问跟随着人人链区块链技术团队的小王来仔细的探讨下。
据小王介绍:区块链即服务BaaS主要是由微软、IBM两个巨头提出的概念,说白了它其实就是一种新型的云服务,一种结合区块链技术的云服务。比如微软的Azure云计算平台、IBM的Bluemix Garage云平台都提供区块链即服务BaaS。
区块链即服务BaaS是微软、IBM这些企业从自己的云服务网络中开辟出一个空间,用来运行某个区块链节点。和普通节点及交易所节点相比,BaaS节点的用途主要是:快速建立自己所需的开发环境,提供基于区块链的搜索查询、交易提交、数据分析等一系列操作服务,这些服务既可以是中心化的,也可以是非中心化的,用来帮助开发者更快地验证自己的概念和模型。BaaS节点的服务性体现在:工具性更强,便于创建、部署、运行和监控区块链。

区块链开发

6. 区块链简介

Wikipedia对区块链的描述如下:
  
  A blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp and transaction data. By design, a blockchain is inherently resistant to modification of the data. It is "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way". For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which requires collusion of the network majority.
  
 简单整理下,区块链系统包含下面这些元素:
  
 数据:存储在区块链中的数据可以是交易记录,也可以是智能合约等信息;
  
 区块:用于保存数据;区块有一个区块头,其中包含本区块的哈希值,前一区块头的哈希值及时间戳,区块ID等信息;
  
 链:区块组成一个链表,第一个区块被称为创始块,后面区块按照上面提到方式添加到链上,而且只能添加不能删除修改;
  
 分布式:他是一个分布式系统,与其他分布式系统不同的是,系统中的每个节点都会保存完整的数据(一些实践可能会不同,但至少要多数节点)
  
 安全的:数据不会被篡改,每个区块都记录着他前一区块的哈希值,改变区块的内容其哈希值都会改变,意味着该区块后的所有区块都要修改;再者,所有节点都存储完整链表,如果说更改单一节点还有可能的话,那么更改所有(多数)节点基本上是难以实现的,所谓折一筷易,折百筷难。
  
 透明的:任何节点的操作,其他节点都会感知到,存在链上的数据都会被验证,也进一步提供了安全互信。
  
 去中心化:不存在中心节点,关键节点,从而提供了高可靠性,但同时也有分布式系统一致性问题,现在不同产品使用了不同的一致性算法,譬如比特币中的POW,以太坊POW+POS等等
  
 从区块链的技术特点可以看到,他适合需要跨组织/个体的一些场景。
  
 WIP
最新文章
热门文章
推荐阅读