主页 > imtoken如何安装 > 解构区块链:这是对区块链及其技术应用最详尽的解释 | 硬创新公开课

解构区块链:这是对区块链及其技术应用最详尽的解释 | 硬创新公开课

imtoken如何安装 2023-01-17 14:26:38

随着某些领域应用的出现,区块链技术的发展取得了新的进展。但是,这个行业的很多细节,包括开发进度和应用,并不为社区之外的人所熟知。本次公开课,雷锋网特邀众安保险旗下众安科技CTO李雪峰为大家讲解!

李雪峰,众安科技CTO,曾就职于摩根大通、亚马逊、东南融通、阿里巴巴,英属哥伦比亚大学计算机软件、金融和工商管理MBA。

解构区块链:这是对区块链及其技术应用最详尽的解说 | 硬创公开课

以下为公开课实录:

雷锋网:众安科技将为金融各大领域提供技术输出,那么对于整个金融领域的区块链应用场景,主要应用了区块链的哪些技术?

李雪峰:我认为区块链的技术特点是:数据加密不会泄露,分布式记录不会丢失,网络广播不会被篡改。这些特性可以理解为这项技术的一个标准。现在有很多这些标准的开源实现,比如众所周知的比特币、以太坊和Hyperledger。虽然目前还没有很通用的标准,但这些产品其实原则上几万不变,基本都是按照上面的标准或者技术特点来执行的。但是,这些产品显示出它们的差异,因为它们主要解决不同的问题。比如比特币要解决的是数字货币的转移,而以太坊则更专注于提出新的账户模式,通过智能合约推广更多的应用。发展。

众安现在也有自己的链条,但为什么还要反复造轮子,自己做变现呢?因为众安的很多业务场景都是金融场景,所以对技术的要求非常严格,比如交易频率、数据存储和访问要求、证监会审查的准入、联盟之间的互联互通等。需求,这些都不是现有的一条链,或者是几条链的组合就可以完成。

我们现在真正面临的问题是:区块链的技术特点和我们需要满足的业务场景无法一一映射。投影视图关系,大家可能画过UML、模型图等,我们会发现业务视图、部署视图等不同视图之间从来没有一一对应的关系。

结合众安自身的经验,结合场景谈谈区块链技术:

谈到区块链,首先想到的是加密。常用算法包括椭圆曲线加密、公私钥对、哈希算法以及最近提到的零知识证明。那么,在加密的使用场景中,有数据就需要隐私,有隐私就需要加密。因此,在所有的数据存储和查询中,我们都需要加密的方法来保护数据的隐私和安全。

在数据被这种加密保护之后,接下来要做的就是授权。调用数据时首先要考虑的是数据确认的强制性。区块链是分布式账本,所有数据都可以共享。分享的前提是提供数据的人愿意给别人看,比如给谁看,看多久,看多少次。这个过程是一个高级算法问题。在众安的实践场景中,我们会在使用用户敏感数据时,使用智能合约和一些授权算法来请求数据授权。

关于分布式账本和数据丢失的问题,这就是多中心的好处。在传统的互联网架构中什么是区块链技术简单介绍,我们一般都是跨机房做容灾,或者是远程多活的机制。但是区块链网络有这样的特点,因为节点是通过P2P连接的,每个节点都有完整的数据,这使得它天生符合异地多活动的特点,即使有些节点挂了也不影响整个网络的可用性。除非所有节点都出现故障,否则可能会影响整个网络,但这几乎是不可能的,因为所有节点都位于世界各地。

现实生活中,保险、银行等各种金融机构的制度是不一样的。即使同行业的不同机构难以保证数据的标准化,也需要第三方标准组织来完成日常金融活动的交互。组织可以是协会或企业。

什么是区块链技术简单介绍

比如对账问题,对于多方来说,每一方都有自己的账簿。对账时,甲乙双方互换账簿,同时将对方账簿与自己的本地账簿核对。如果发现问题,就需要人工处理,这涉及到极高的成本。那么,通过区块链对账时,可以先排除多个账本的情况。所有对账参与者都有一个共同的账簿,所有写入账簿的数据都符合两方或多方的预期,即在账簿写入时实时编制账簿,减少成本浪费和人工支出。

接下来,我们来说说数据防篡改的特性。该技术特性最适用的场景是数据可信场景。

基于共识机制的确认,区块链上的数据基本没有被篡改的可能。但是有一个误解——它不是完全不变的,它是理论上的。之前有人计算过,如果你准备4亿美元,你也可以改变比特币上的所有交易。信用是金融的核心,信任是社会交往的基础。基于区块链的防篡改特性,可以解决金融、保险等领域的诸多防欺诈问题。

然后是时间戳。区块链上的每笔交易都有一个时间戳,它代表了交易在区块链中执行的时间。这个时间戳就是可追溯的关系,它可以为我们提供所有的操作。历史变化自然提供了可审计的功能。在供应链溯源等场景中可以发挥很大的作用。

接下来说一下共识算法,本质上是一种具有拜占庭容错能力的分布式共识共识算法。使用分布式共识算法时,必须有环境可信的前提,默认环境中不存在恶意节点攻击网络或篡改数据。但这在区块链网络中很难保证,因为它是一个P2P网络,只要符合标准,就可以接入。这时候就需要在传统的分布式共识算法中加入拜占庭容错机制。

也就是说,共识算法是区块链的核心之一。

然后是智能合约。提到智能合约,大家首先想到的就是以太坊。它实际上将参与者的协议和共识转化为图灵完备的代码。它拆分了合约逻辑的执行权和执行权。合同是你的。写好了,但执行的不一定是你,保证了合约一旦执行就没有人可以干预,只能按照共同约定执行一定的业务逻辑。对于任何既定的业务规则,包括一些涉及信任危机的业务场景,如众筹、交易撮合、抽奖流程等,都可以在智能合约中执行。但是目前智能合约的发展还不是很成熟,

最后是联盟链。众安采用的是最接近现实的联盟链模式。很多合作伙伴,有的会直接使用我们的区块链网络,有的会部署自己的区块链网络,加入自己的区块链网络。这时就需要解决联盟链之间的信任机制、通信机制和数据同步机制。

雷锋网:目前保险行业有哪些痛点?这项技术对保险经济的价值和好处是什么?区块链在保险领域的主要应用有哪些?

李雪峰:对应保险场景,有很多切入点。例如,健康险的数据存储,淘宝和理赔过程中数据的可靠性验证,以及理赔的自动执行。

以下三大方面将谈谈区块链在保险领域的落地场景:

什么是区块链技术简单介绍

改善用户体验

关键是提高客户参与度,主要是改善用户的心理和行为感受。例如,它可以为用户控制个人数据,解决P2P保险等监管和数据追踪问题,利用智能合约提供自动化理赔执行。

一方面,客户害怕失去对保险公司的数据控制权。

其次,如果不能永久保存,用户每次购买保险产品时都需要重复填写各种信息,用户非常烦。

有了区块链,我们可以通过区块链开发出基于区块链的网络ID,可以关联实体,对用户隐私敏感,比如购买健康保险产品时。与健康相关的医疗数据等,我们可以将其存储在区块链中,并通过数据加密和读取授权来保护数据。但实际上,在很多情况下,数据并不一定需要存储在区块链中。比如我们即将推出一款基于区块链网络身份证的APP,让用户的数据保存在移动端。只有在需要时才会在区块链中注册以进行哈希比较。这样,用户将数据放在本地,在需要验证和比对时,也可以通过区块链控制数据的隐私和权限。

这种方法可以带来很大的好处。当数据量达到一定规模并且非常充足时,可以减少很多重复性问题。例如,包括保险在内的许多行业都会进行 KYC 工作。但为什么他们不能做到呢?一方面,没有统一的标准来连接数据,也没有中心化的数据库来承担这样的角色,因为没有人会将数据信任到这样一个中心化的隐私数据库。那么,根据区块链加密共享账本的特点,我们可以快速完成KYC,因为用户在购买不同保险公司或同一保险公司的不同产品时,可以减少大量重复的数据提交工作。

区块链可以提高用户参与度和体验的另一种方式是在索赔处理中提供更高的透明度和公平性。这里我们以航空意外险为例。当用户购买了航空意外险,其指定航班取消或延误时,航空公司可以触发事件通知区块链上的智能合约,当智能合约获得这些外部数据时,可用于购买消费者购买本产品的直接完成理赔支付。这个过程是一个全自动的执行过程,它的主要过程也在智能合约中。虽然这样的过程可以在没有区块链的情况下实现,但基于智能区块链的智能合约可以提供独特的公平机制,

反欺诈和灵活定价

区块链在保险领域应用的第二个主要方面是提高反欺诈能力和定价灵活性。

据以往统计,5%到10%的保险理赔属于欺诈行为。通过区块链,我们可以构建一个跨行业的分布式客户数据登记平台,可以帮助我们更有效地识别客户和虚假的人身伤害和损失报告。例如,当医院和保险公司在同一个区块链网络时,客户不再需要线下向保险公司提交一些理赔文件,保险公司花费大量人力财力去医院完成报告 但是,医院可以直接在区块链上向保险公司出具他们的医疗报告,所以当保险公司得到医院提供的报告时,他们可以直接判断这些报告的归属和文件的真实性。在这种情况下,直接支付伤害保险成为可能,而不是用户先付钱再理赔,在理赔前提交大量不必要的材料。

此外,如果产品或资产的购买时间、所有权和面积的历史变化可以完整记录在区块链中,对于财产证明公证和财产盗窃等也有很大帮助。如果我们能得到这些完美的材料,就可以帮助保险业大大提高自身的风控和反欺诈能力。

什么是区块链技术简单介绍

至于灵活定价的特点,我们以车险为例。今年车险费的变化,如果续保的车之前没有出过事故,优惠的费用还是很大的,但其实他可以迈出更大的一步。例如,如果可以实时获取驾驶行为、车辆、道路等数据,并通过智能合约制定一些规则来实时计算相关费率,我们可以对部分司机的保费做出更大的让步。良好的驾驶行为。让他们以更便宜的价格获得汽车保险。

但是,这个过程需要强调的是,敏感数据的控制权仍然应该由用户来控制。将数据放在区块链中,但区块链需要提供隐私授权等机制,让用户控制自己的数据使用权限。

区块链在保险业的最后一个重要作用是降低保险公司的运营成本。操作保单身份、合同有效性、理赔登记和检查保险公司数据、通过智能合约通过区块链技术支付理赔的功能可以帮助我们大大降低运营成本,帮助我们实现真纸。

另一个典型的例子是再保险。当原保险公司对某款产品的风险很高时,可以选择将部分保单转让给部分再保险公司进行风险分担。在这个过程中,原承保人和再承保人会有很多互动,包括保单和理赔数据的共享以及理赔后的对账。如果这些数据可以通过区块链在区块链上共享,可以提高保险公司自动化执行的能力。此外,它还提供了一种可审计的方式来提高再保险公司的透明度。

雷锋网:区块链发展技术现状如何?区块链有哪些特点和优势已经可以实现,哪些还没有实现?为什么?也就是说,一些特性的整体效果不是很好,区块链应用开发的难点在哪里?还有哪些深层次的关键问题有待解决?为什么?

李雪峰:近年来区块链技术的发展速度相当快。例如,知名的 R3 联盟上周开源了自己的区块链实施平台 Corda。但它实际上并不是真正意义上的区块链,它只是一个——如他们所说的去中心化账本。然后摩根大通也在以太坊上开源了它的实现。现在,国内外有很多区块链创业公司。

那么主要的区别就是国内公司更专注于“链”层,而国外公司更专注于垂直应用的方向,做一些业务创新或者创业。同时,今年涌现出许多研究联盟和产业联盟,实际上对推广和推动区块链的实施有很大帮助。众安也有自己的产业促进联盟,也是围绕生态构建的。

粗略来说,已经实现的特点和优势包括多中心化、不可篡改、数据安全复制、透明审计、数据全局跟踪等;暂时没有实现的主要是——性能优化和更复杂的技术要求。隐私保护功能。

在性能优化方面,目前业界一些通用的原则和做法是使用优化的共识算法,将比特币或以太坊的 POW 算法转化为 PoS 或 PBFT。那么我认为这些在短期内都是比较好的解决方案,但是中长期的研究方向应该主要是分片(sharding)。

为什么我认为它应该是分片?这就好比,我们很久以前去IOE的时候——IOE去之后就是数据库分库分表。趋势总是不可逆转的。无论是状态通道还是去优化的公式算法,在性能或吞吐量上的提升目前都不是非常大规模的提升。要达到企业级,几万TPS或10万TPS,没有分片几乎是不可能的。使用分片策略的主要特点是允许节点只处理与自己相关的部分事务,而不是在所有节点上执行每个事务。

但是,未来分片的方向肯定是横向的,横向刷机可以带来吞吐量的质的飞跃。一条区块链实际上是由很多自恋组成的,这使得区块链就像一个有子数据库和子表的数据库。当性能和容量不够时,只需要不断增加子链。容量和性能可以无缝扩展。现在,无论是开源社区,还是众安内部,大家都在积极讨论尝试验证的过程。不过,我相信分片不会让大家等太久。

什么是区块链技术简单介绍

还有一点,从现阶段来看,如果要连接互联网的高频交易,是有办法实现的,但是如果要直接将交易数据存储在区块链中,这目前是不可能的,也是没有必要的。. 因为在区块链网络中,所有的交易都必须在全网广播。如果我们的区块链在性能和吞吐量上能接受这个,带宽就不能接受;即使带宽可以容忍,技术和存储也无法容忍。受不了了 对于整个实现来说,每个环节都会有一些瓶颈。因此,目前的高频处理方案是开两朵花,每朵代表一个枝条。

最后需要强调的是,区块链的优势不能仅仅基于功能。很多人认为使用区块链自然会具备容灾和数据防篡改的特性。但事实上并非如此。虽然这是区块链带来的功能,但也与网络的规模、生态、场景有关。只有将尺度、尺度、生态、场景结合起来,才能真正发挥作用。重要作用。试想一下,无论区块链能做到多少,如果只有一台服务器来部署一个节点,那么它有多强大?它仍然什么都不是。

雷锋网:区块链行业的应用开发和商业落地存在哪些问题?

李雪峰:区块链本身是一个纯技术的东西,实际上是一个技术标准,所以对于大多数人或者企业来说,开发一个区块链实现是一个不现实的问题。因为确实很难,虽然区块链不是一门新学科,但它是密码学、计算数学、数据结构,甚至社会学和金融学的软化。那么大家最终会选择一个实现的区块链产品,然后在这些产品上构建自己的区块链应用。嗯,这些产品就是刚才提到的,比较成熟的有Hyperledger、以太坊和Corda。这就像大家在互联网架构中会遇到的——数据库存储我们应用的数据,但是很少有公司会真正做自己的数据库,

所以我想谈的一个事实是,我们的应用程序将很难基于区块链产品进行开发。对于大多数用户来说,可能永远不需要区块链的技术原理,但这并不妨碍大家使用这项技术。从逻辑上讲,使用产品化的东西应该不会太难。但是因为区块链还比较新,市场上完美的产品比较少,然后成熟完善的学习资料也比较少,这些产品的发展方向还是不一样的。例如,Hyperledger 将进入分布式账本。,而以太坊用于在应用程序中执行智能合约。所以对于大家来说,如果应用到金融领域,无论选择哪一个,都需要进行一次大的改造。例如,

基于这种情况,我个人认为开发难度主要体现在五点:

首先是区块链的进入门槛比较高。如前所述,区块链需要密码学、数学算法等基础,现有产品非常不成熟,与传统分布式应用有很大不同。因此,开发人员在快速进入该领域之前可能会有一个较长的学习周期。

第二点是吞吐量,这意味着性能差,容量差。因为无论哪种区块链实现吞吐量,都是影响业务落地的痛点之一。更明显的场景是,例如,移动支付或保险索赔。这种金融场景实际上需要非常高的吞吐量和简单的性能。可想而知,如果你想通过手机在便利店进行支付,扫描二维码还要等30秒,体验很差。

第三点是隐私和监管。区块链是共享账本,对隐私保护还有进一步的要求。由于数据在账本上共享,每个节点都可以获得完整的数据。如果不能完全保护隐私,可能会有很大的问题。我们多次提到区块链的一个核心是去中心化,但是在业务实际应用时,特别是在金融场景中,监管是必然的要求。我们必须确保我们的行为符合法律,我们必须防止一些洗钱活动。监管和隐私其实存在一定的冲突,需要在两者之间取得平衡,这也是一个非常难的地方。

第四个是智能合约。前面虽然称智能合约为“智能”,但实际上现在的智能合约根本不智能。目前,智能合约中可以实现的业务逻辑在功能上还是比较简单的。对于一些比较复杂的业务,比如保险领域的理赔验证或者银行的信贷放贷,这些资质认定可能无法通过智能合约一步到位。所以对于这样的问题,我们需要通过链上链下的方式一起实现。

第五点不是技术问题,而是其实施和推广成本高。很多技术与区块链结合后,可以产生的化学反应是暴力的、颠覆性的。这也意味着我们需要大量的人力和成本来验证和推广这些应用。

什么是区块链技术简单介绍

说完这五点,就我个人而言,我最关心的还是隐私监管。这是一个很关键的问题,因为不全是技术问题,还涉及到线上线下的法律融合问题——个人数据使用权的范围、法律的监管方式,也会有一定程度的其中的权利。义务冲突。这将是一个涉及计算哲学的问题,应该说是一个系统分析的问题。

雷锋网:不久前,深圳发生了一起丑闻的“捐款诈骗”事件:一位公众号作者利用女儿患白血病的事实筹集资金,得到了很多人的支持。. 通过捐赠筹集的近三百万慈善资金无法知道捐赠者将在哪里,因此将对其进行监督。对于这样的事情,区块链在哪些方面可以起到阻止改进的作用?

李雪峰:这个问题,我们要从多方面考虑。事实上,众安也在与自己的联盟​​成员火堆公益做类似的事情。首先,如果我们通过区块链构建一个完整的用户系统甚至是用户资产系统,那么“欺诈性捐赠”的行为可能根本不会发生。因为一旦有人提出众筹或筹款,监管单位可以在区块链上验证他的资产什么是区块链技术简单介绍,并将筹款成本与他的资产相匹配。如果发现是欺诈行为,则不会进行此类捐赠。应该发生。

那么第二个问题是用区块链更容易解决。正如我们之前提到的,区块链上的所有数据都是不可变的和时间戳的,所以我们只需要跟踪区块链上的 300 万笔捐款,跟踪每一笔转账和每一笔消费,费用发生在谁的手到谁的手上,在哪里发生发生在最后,这一信息对所有捐助者来说都是清楚的。

雷锋网:为什么以太坊这么容易被攻击?

李雪峰:名人会吸引人来攻击。站在巨人的肩膀上,你会出名。

关于攻击的内容,并不是以太坊容易出事故,而是以太坊构建的系统没有得到很好的保护,很容易被攻陷。你认为,区块链首先是为了真正的大规模互联网,甚至是物联网,但如果你不掌握互联网架构的精髓来构建区块链应用,你肯定走不远。高频交易、数据一致性、安全防护、监控系统,这些是当前基于云计算的系统的精髓,缺一不可。

我是一个过去的人,希望大家在从事区块链之前注意,不要走弯路,好好学习互联网。

精彩问答:

Q:区块链技术入门涉及哪些编程语言?

李雪峰:前两天在一个区块链技术交流群里看到一个同学说,“学了一年区块链,我学会了18种不同的语言!”

目前主流语言是Go和C++,包括一些Java和Python。以太坊会以多种不同的语言实现,最主流的是Go语言进行编程;Hyperledger 也最多使用 Go 语言;例如,比特币最多使用 C++。

你使用哪种语言取决于你是想学习链的底层实现还是在它之上做一些应用。不管是实现哪个区块链,它们对外提供的RPC接口还是比较完善的,所以如果你只想做上层应用,用什么编程语言都无所谓。