Block chain technology research

The whole ball has been the rise of a number of project-based digital identities block chains, each with a different focus, noteworthy projects uport, Civic, Evernym, AirPlatform, Indy, SelfKey etc., understanding and mining of these projects can help our digital identity the application form.

  • (. 1) UPort identity ownership ID of the application is based on Ethernet Square , it may allow a user authentication, no density log , a digital signature and other interactive applications on the Square and Ethernet;
  • (2) Civic is a block chains and multifactor biometric authentication system that can accurately secure user identification in case of a mobile terminal without user name and password ;
  • (3) Evernym its sovereign identity solutions aimed at individual transactions with each other, build trust between the organization and the system of connected devices;
  • (4) AirPlatform is a highly secure digital identity platform, built on a "super books" block chain project , which uses an innovative way, the user can participate through a convenient way to micropayments, allowing other parties increase targeted content, and enhance the interactive user participation;
  • (. 5) Hyperledger Indy provides tools and libraries of reusable components , for providing a digital identity based distributed block chains or other books, and so that they would cross domain management, interoperability across applications and other Silo;
  • (6) SelfKey is a point-to-digital identity ecosystem , provided by the system in the original key token fuel system operation, authorize and encourage eco-system of the digital identity of the participants in this ecosystem, the user can called key tokens transferred value;

 

Civic project is led by serial entrepreneur Vinny Lingham, it is a central application to verify the identity of an Ethernet-based Square. In the Civic Center to the eco-system, users need to verify their identity, then request the recipient (such as sales and service company) to accept the user for the customer. To this end, the verifier reference to the document database to verify the user's statements by cross-Government. Once the verifier confirms the user's identity, they use the roots Merkel value to authenticate this information, while Merkel's statement tree Take the user to do the leaf nodes of the tree Merkel.

 

Civic realization of the principle of non Password:

According to civic white paper white paper :( translation in English, translated difficulty)

User with a password lock + physiological (fingerprints, etc.) registered on civic, certified. After fully certified, civic provide proof of authentication data to the block chain and makes the recipient data (require local authenticated) can confirm the authorization of PII and ownership.
Platform allows voluntary safety certification and certification requirements between users who exchange information.

pll (personally identifiable information)

 

Ethernet Square:

Ethernet Square (Ethereum) is a function of public contracts intelligent block chain platform. It allows anyone to build decentralized application operated by the block chain technology on the platform. Bitcoin is not the same as anyone's control open-source project, but with a different Bitcoin is that it solves the problem of scalability issues, it is very simple and smart, great adaptability.

 

Ethernet Square, the main development language: python, c ++, go

 

Ethernet Virtual Machine Square

As a relatively new use Bitcoin technology development projects, Ethernet Square is committed to implementing a global decentralized and non-proprietary digital computer technology to perform ad hoc contracts. It is simply, Ethernet Square is a world you can not turn off the computer.

It is a programmable block chain, users can create complex operations as they wish. Provide services for different blocks chain applications. In simple terms, the Ethernet protocol is a series Square, Square Ethernet core is a virtual machine ( "EVM"), can perform any complex code.

Ethernet Square work

Ethernet is the basic unit of Square account. There are two types of accounts, one is outside the account (EOA), controlled by private password, user account on the master to master private key; the other is the contract accounts controlled by contract code can only be operated by one account EOA "smart contract" is the contract account code, when a transaction is sent to the account, contract code will be executed. Users can create a new contract by the code deployed to block the chain, that is, create a new contract account.

There are more than 200 applications on Ethernet Square development, the most important feature is smart contract, no one can change once the execution stop its execution.

 

CVC is an Ethernet token Civic Square project. Civic is a multi-factor authentication system block chain and biometric-based, need not be the case where a user name and password to accurately secure user identification at the mobile end, has developed a mobile phone app and API functions for interfacing Business application. CVC at the ICO using phase-based queuing and limit investment own authentication system, avoiding large investors let the chips are widely distributed, and to avoid the ICO stage causing obstruction to the Ethernet network Square, was widely praised community. CVC 10 total Yi Mei, ICO price of 0.1 dollars.

https://blog.csdn.net/pony_maggie/article/details/74538902

 

One block chain technology: Merkle Tree

 

P2P networks

  In the P2P network, Merkle Tree is used received from other nodes to ensure that the data block is not corrupted and is not replaced, even check fraud or other node does not block release false. We are familiar with BT download is the use of P2P technology to allow data transfer between the client, one can speed up data download speeds, and secondly, reduce the burden on the download server. BT i.e. BitTorrent, indexed a central component analysis of P2P file communication protocol [7].

  要进下载必须从中心索引服务器获取一个扩展名为torrent的索引文件(即大家所说的种子),torrent文件包含了要共享文件的信息,包括文件名,大小,文件的Hash信息和一个指向Tracker的URL[8]。Torrent文件中的Hash信息是每一块要下载的文件内容的加密摘要,这些摘要也可运行在下载的时候进行验证。大的torrent文件是Web服务器的瓶颈,而且也不能直接被包含在RSS或gossiped around(用流言传播协议进行传播)。一个相关的问题是大数据块的使用,因为为了保持torrent文件的非常小,那么数据块Hash的数量也得很小,这就意味着每个数据块相对较大。大数据块影响节点之间进行交易的效率,因为只有当大数据块全部下载下来并校验通过后,才能与其他节点进行交易。

  就解决上面两个问题是用一个简单的Merkle Tree代替Hash List。设计一个层数足够多的满二叉树,叶节点是数据块的Hash,不足的叶节点用0来代替。上层的节点是其对应孩子节点串联的hash。Hash算法和普通torrent一样采用SHA1。其数据传输过程和第一节中描述的类似。

 

Pow  共识:工作量证明,利益分配

 

Pos  共识:  解决pow 资源浪费问题

同时解决51% 攻击的问题

 

 

区块链的运行:

 

括区块链中公开记账、创建创世区块、 交易、打包 Transaction、广播交易

 

 

区块链的核心技术组成 无论是公链还是联盟链,至少需要四个模块组成:P2P 网络协议、分布式一致性算法(共识机 制)、加密签名算法、账户与存储模型。

1.P2P 网络协议

 

2  分布式一致性算法

 

在经典分布式计算领域,我们有 Raft 和 Paxos 算法家族代表的非拜占庭容错算法,以及具有拜 占庭容错特性的 PBFT 共识算法。

 

3  加密签名算法

我们还会使用到最核心的,也是区块链 Token 系统的基石:公私钥密码算法。

在比特币大类的代码中,基本上使用的都是 ECDSA。ECDSA 是 ECC 与 DSA 的结合,整个签 名过程与 DSA 类似,所不一样的是签名中采取的算法为 ECC(椭圆曲线函数)。

从技术上看,我们先从生成私钥开始,其次从私钥生成公钥,最后从公钥生成地址,以上每一步 都是不可逆过程,也就是说无法从地址推导出公钥,从公钥推导到私钥。

 

4.账户与交易模型

从一开始的定义我们知道,仅从技术角度可以认为区块链是一种分布式数据库,那么,多数区块 链到底使用了什么类型的数据库呢?

我在设计元界区块链时,参考了多种数据库,有 NoSQL 的 BerkelyDB、LevelDB,也有一些币 种采用基于 SQL 的 SQLite。

这些作为底层的存储设施,多以轻量级嵌入式数据库为主,由于并不涉及区块链的账本特性,这 些存储技术与其他场合下的使用并没有什么不同。

区块链的账本特性,通常分为 UTXO 结构以及基于 Account-Balance 结构的账本结构,我们也 称为账本模型。UTXO 是“unspent transaction input/output”的缩写,翻译过来就是 指“未花费的交易输入输出”。

这个区块链中 Token 转移的一种记账模式,每次转移均以输入输出的形式出现。而在 Balance 结构中,是没有这个模式的。

 

IPFS协议:IPFS是点对点协议InterPlanetary File System的简称,它是一个面向全球的、点对点的分布式版本文件系统,试图将所有具有相同文件系统的计算设备连接在一起。

 

 

 

区块链项目思路:

确定区块链的类型:公证型区块链还是价值型

 

 

区块链原型选取:

以太坊与HyperLedger相同点:

都是提供区块链业务实现的平台,业务实现都是通过智能合约来完成,以达到最大的灵活性和对底层的不修改。
以太坊是:EVM虚拟机,Solidity合约语言
HyperLedger: Shim链码容器, GO编写合约。
官方版本都使用GO语言实现

 

开发转变和开发难点

与传统网络服务不同的是:区块链开发不再以面向服务为主要关注点,而是面向账本和交易。

 

目前开发人力资源储备不足
目前比较成熟的技术体系有:比特币及衍生技术体系,以太坊,超级账本HyperLedger fabric,比特股Bitshares,瑞波Ripple,未来币NXT

其中列出的前三个项目是最有影响力的区块链项目。比特币以及衍生技术多以C++语言进行开发;以太坊支持大部分主流语言,官方以Golang为主,也有其他分支的项目如Rust语言的Parity钱包;超级账本目前以Golang为主。

 

https://blog.csdn.net/omnispace/article/details/80142595

 

欢迎对区块链感兴趣的同学,一起谈论,有项目经验的,能分享一下项目,谢谢!

本文来源于各种学习文档,视频,新闻 ,算是对区块链有一个初步了解

Guess you like

Origin blog.csdn.net/yss1019/article/details/90483572