区块链信息平台
当前位置:首页 > 区块链技术入门

区块链以及区块链技术入门详解

2021-06-17 16:24:05         9   0

区块链以及区块链技术入门详解区块链是目前一个比较热门的新概念蕴含了技术与金融两层概念。从技术角度来看这是一个一致性效率且保证最终一致性的的分布式的数据库当然这是比较片面的。从经济学的角度来看这种容错能力很强的点对点网络恰恰满足了共享经济的一个必须要求——低成本的可信环境。

区块链虽然是一个新兴的概念但它依赖的技术一点也不新如非对称加密技术、P2P网络协议等。好比乐高积木积木块是有限的但是不同组合却能产生非常有意思的事物。

我接触过一些工程师初次接触区块链时不约而同的表达了都是成熟的技术不就是分布式存储嘛。站在工程师的角度第一反应将这种新概念映射到自己的知识框架中常自然的。但是细究之下发现这种片面的理解可能将对区块链的理解带入一个误区那就是作为一个技术人员忽略了区块链的经济学特性——一个权力分散且完全自治的系统。

区块链本质上是一个基于P2P的价值传输协议我们不能只看到了P2P而看不到价值传输。同样的也不能只看到了价值传输而看不到区块链的底层技术。

可以这么说区块链更像是一门交叉学科结合了P2P网络技术、非对称加密技术、宏观经济学、经济学博弈等等知识构建的一个新领域——针对价值互联网的探索。

那什么是价值互联网价值互联网可以是当下如日中天的电子商务所衍生的支付业务。但真的只是支付领域吗很显然这是不够的一级资本市场实体资产确权与转移证券登记交割、征信与反欺诈。我们再仔细想想我们的各大电商平台的专业差评师恶意刷单还少吗!

如今的金融领域除了支付比较便利之外在其他绝大部分的业务中我们就像是被套着锁链走路一样我们反复确认反复审核反复监督我们反复构建一个又一个的大大小小的高可用集群保证线上服务的可靠性与连续性我们雇佣一个又一个的安全工程师交付一个又一个的渗透测试项目。为什么因为作弊的成本太低了低到只要改数据库的一行记录就可以提取上百万的资金。

强大的互联网给了我们成本几乎为零的高速信息传输通道却没有一个成本低廉可靠的高速价值传输通道那么这也就是区块链即将带来的。

想象有一个100台的分布式数据库集群现在的情况是这100个节点实际上的拥有者是一个机构并且所有节点处在该机构的内网当中所以这个机构想让这100个数据库节点干嘛就干嘛换句线个节点之间是处于一个可信任的环境并且受控于一个实体这个实体具有绝对仲裁分配权。

另外的情况是这样的想象这100个节点分别归不同的人所有且每个人的节点数据都是一样的即完全冗余并且所有的节点是处在广域网当中换句线个节点之间是不信任的且不存在一个实体它拥有绝对仲裁权。

区块链本质上就是要解决以上第二种情况的一种技术方案更确切的说应该叫分布式的冗余的链式总帐本方案。有关区块链的一些要素在我以往的文章里有总结过一些。

分布式数据库是区块链的物理载体区块链是交易的逻辑载体所有核心节点都应包含该条区块链数据的全副本?。

所以作为一个技术人员不应当只看到了区块链所依赖的技术更应该关注区块链以外的点和面综合来看区块链将会有趣得多。

而有关区块链技术的介绍在各个区块链平台的社区是有详细资料的但是针对这些资料的总结以及抽象出一共通概念的介绍还是凤毛麟角本文尝试总结一下。

在介绍之前我想稍微介绍一下公有链联盟链的概念这些概念是以太坊创始人Vitalik提出的我在这些概念的基础上做了一些研究。

其实区分公有链、联盟链很简单只要看这个区块链的访问权限就可以了如果访问该区块链需要获得链上节点的许可那么这是一个联盟链否则是公有链。

根据名称我们也可以”望文生义“公有表示一个完全开放的网络联盟表示一个半开放的网络之间是共享的非身份是没有自由访问权限的所以我们也称联盟链为许可链。

我一般戏称为”三巨头“从生态上来看比特币是最为成熟稳定的以太坊更像是一个冲在前面的勇士比特股相比前两位生态要小很多但是从创新的角度也不亚于前两位。

其他的很多项目是从这三个区块链上衍生出来的所以以这三个为基础基本上可以吃透区块链了。

从技术上来看针对不同的业务场景对区块链有不同需求比如实时结算业务要求区块链提供秒级的交割相对应的就是出块速度的要求而出块速度过快往往会导致区块链分叉fork形成孤儿链孤儿链是无效的那么交易也就作废了影响了区块链的最终一致性。

如果我们将这种实时性要求比较高的业务安插到联盟链中就可以控制风险通过调整共识算法利用快速一致共识模型Consensus Model来避免上述问题虽然不如公有链那么健壮但对某些特殊场景足够了。

这种分层更加关注的是区块链本身的分层即业务上的视角而不完全是技术的。

比特币几个模块之间的耦合度其实比较高而且有不少历史包袱比特币的发明者——中本聪在开发比特币的时候使用VC开发而VC的标准库中的sstream流处理性能非常感人不得不放弃自行实现了了基于vector 的流处理容器。而随着c11的推出以及标准库的更新迭代性能不可同日而语。

从整张图我们可以看出比特币的模块比较少也比较简单。chain-paramters描述了整个区块链的参数设置wallet是与地址/加密还有存储相关的mem-pool是未确认的交易池。得益于比特币核心开发者的不朽贡献相比中本聪时代的比特币代码现在的比特币代码质量已经相当不错了。

需要指出的是目前”三巨头”所使用的账户模型是不同的所谓账户模型是指账户记账方法比特币使用UXTO模型以太坊和比特股使用账户余额模型。

账户余额模型账户余额模型摒弃了这种强验证的账户模型即账户余额回归到数字加减这样做提升了交易的效率。

终于来到重点了本文每节其实都可以展开成为的文章内容所限简单讲。

以上这些算法我称之为“经济学”的算法所谓经济学的算法是指让作弊成本可计算且让作弊成本往往远大于作弊带来的收益即作弊无利可图通过这种思想构造一个用于节点之间博弈的算法并使之趋向一个稳定的平衡。

相对应的我们还有计算机领域的分布式一致性算法例如Paxos、Raft我也称之为传统分布式一致性算法。

传统分布式一致性算法大多不考虑拜占庭容错Byzanetine Paxos除外即假设所有节点只发生宕机、网络故障等为问题并不考虑恶意节点数据的问题。

传统分布式一致性算法是面向日志数据库的即更通用的情况而区块链共识模型面向交易的所以严格来说传统分布式一致性算法应该处于区块链共识模型的下面一层。

联盟链半封闭生态的价值网络存在对等的不信任节点如某某协会之间。

公有链开放生态的价值网络这层主要是为行业链和私有链提供全球交易网络。

由于联盟行业链其半封闭半开放特性使用Delegated Proof of X 是可行的可以考虑以传统一致性算法作为基础加入拜占庭容错/安全防护机制进行改进也是可以的。

技术上以上不同的共识算法我们很多新开发区块链都相应的支持一个特性共识模块可插拔以应对不同场景下的要求。

公有链提供可信可靠的价值传输网络可以继续组建去中心化应用DAPP或者部署联盟链甚至传统数据库都行在上层搭建C端应用。

“三巨头”中比特币在“数字货币”处比特股在“去中心化交易所”附近以太坊在“去中心化组织”处。而实际上区块链和现实的接触点还在图示位置。

所以区块链仍是一个正在成长的事物结合图5我们希望构建一个基础设施完善的价值传输网络上层应用丰富的区块链生态仍然需要付出巨大的努力。

下一步目标是将资产数字化类比资产证券化例如我们可以将珍稀物品艺术品/古董数字化、知识产权数字化、票据基金等收益权数字化将极大的提升市场运作效率配备智能合约甚至人工智能可编程社会不再是梦想。

问题还是感觉太抽象至今都还不能具象化的理解这个区块链也没找到具象化的解释。

正如区块链这个名词一样它是被创造出来的并没有以往的概念可以映射到所以容易费解。我们不谈这个概念我们只需要想想我们的互联网还需要什么。正如比特币提到的一个点对点的现金系统他使用的前提要求是很低的不需要注册不需要手机号一个点对点的网络只要你用设备接入那么你就可以使用。区块链这个概念也一样目的是构建一个点对点的生态解构权力带来的不对称。它本身只是一个共享的总账本不同于网络中多节点自己记账再对账这就了中心权力。

这个问题很好。我目前所做的区块链项目是涵盖了这个概念的也就是你所说的互联网身份认证。我们认为它是使区块链接入现实业务的必要一环。

在我们的设想中首先什么是身份身份不单单是一个ID号一个密码而是一个使用者所有的操作记录集这个记录集的代号才是身份。正如账户丢失然后一样的内容才是真正定位到你这个人。区块链也一样它需要一样ID同样它也需要自动验证你历史记录的合法性。目前互联网的身份认证是依赖系统的最简单的方案就是把系统中的身份系统映射到区块链中。另外一个方案也是用户自定义记录集根据交易历史核对身份。当然再更远的未来结合人工智能区块链可能有更好的表现。

问题实时交割数据如果放到联盟链中联盟链的数据是否要最终同步到公有链按分享所说联盟链的数据对公有链来说是不可信任的联盟链和公有链中数据是什么关系。

我认为不可能所有机构都愿意把资产放到公有链上的一定会出现并存的现象。理想的情况当然完全使用公有链搭建去中心化应用。联盟链和公有链直接的数据是单纯的引用关系我认为开放的关键数据集如用户身份应该沉淀到公有链让用户自己管理而机构比较私有的关键数据应该使用访问权限将它与公有链隔离所以联盟链的数据和公有链的数据我认为是互补的。也就是说联盟链的数据是否要同步到公有链这个要是视机构本身的需求而定。另外公有链的外部数据引用我们称之为data-feed这个东西就要把人的因素引入了比方说法务律师机构等等作为一个仲裁者帮助引用数据好坏可以让市场评价信用正如对一个机构评级一样如果这样就很透明开放了。

问题有一些很有趣的实体项目比如智能门锁无人租车这些都是线c;怎么做到互联互通呢。

首先区块链的项目都是跨平台的也就是说嵌入式设备可以依托区块链的低信用成本的优势自动记账可以是联盟链的也可以是直接基于某个公有链的DAPP这些账本是共享的这些数据在发生引用关系的时候可以进入公有链通道打通两者关系。

其次任何具体的区块链项目都是需要依托一个公有链进行的正如现在很多落地项目都是基于“三巨头”然而其实目前并没有一个让大家都特别满意的标准让大家都服所以我我们还要拭目以待。

问题多谢分享能谈谈最后一张图中区块链发展的各个阶段可能对传统金融行业尤其是银行业的影响吗。

对银行业的影响我认为现阶段影响不大尤其是国内。这个要视区块链发展的程度而定。我所了解的央行已经开始着手自己的数字货币了这对银行来说顶多就是再来一次IT架构升级的事儿而已可以帮助银行业降低IT成本也可以方便加强监管。但如果在更远的未来银行可能不会特别封闭变成一些区块链的代理节点也会被所有人所监督而不是几个特殊机构。

问题如果公有链能够记录所有历史有没有技术能或封禁有没有生命终结的那天。

有一点技术风险通用量子计算商用的时候目前的加密技术很多都失效了基于密码学的区块链受影响最大当然现在的中心化架构也会受到影响。这取决于理论研究的成果如果出现了新的密码学理论可以抵抗量子计算就没问题。如果从P2P网络的角度是没有任何机构或个人能封禁的只要有两个节点还能做交易也能记账这个区块链就是alive的。

从经济学的角度区块链的也不主要在于加密技术是否被攻破而主要在于链上聚集了多少财富和利益链上的数据有多少价值如果没有价值了链自然就死了反之如果被攻破了不过是分叉、或者等待新的加密算法出来之后进行数据迁移这一点跟中心化数据库恢复备份没有什么太大区别。

邢开春:推荐一个区块链学习资源,开源Helloworld区块链这个区块链比较简单,非常适合新手入门学习。学完之后,对区块链技术就会有比较深入的了解。 以下是学完后能掌握的知识点: 掌握数字货币、区块的概念与技术。 能开发出一个新的类似比特币的数字货币。 基于UTXO格式设计的交易系统。 基于秘钥体系的账户系统。 基于POW挖矿的共识算法。 实现分布式网络节点数据(区块、交易)的同步。 实现脚本堆栈语言,用脚本锁定UTXO,用脚本解锁获取UTXO的所有权。 实现区块链浏览器,功能包含:查询区块、交易、交易输出等。


标签:区块链技术详解  
相关评论