区块链的可拓展性研究【05】闪电网络

1.闪电网络:闪电网络是一种基于比特币区块链的 Layer2 扩容方案,它通过建立一个双向支付通道网络,实现了快速、低成本的小额支付。闪电网络的交易速度非常快,可以达到每秒数万笔交易,而且交易费用非常低,几乎可以忽略不计。

闪电网络是构建在比特币网络上的第二层支付协议,用来解决比特币网络堵塞问题。简单来说就是在区块链之外开通一条“绿色通道”,将大量高频的、小额的交易在区块链外进行。同时保证交易的安全性。

闪电网络如何运作?
交易双方需先建立一个支付通道,各转一笔钱到一个多签地址上,双方同时出具私钥才能将钱取出,为避免一方不出具私钥钱取不出来的情况,在存入之前需要先广播一条退款消息,如果一方不出具私钥,你就可以将退款消息广播到区块链上。

但需要注意的是,退款消息一旦广播到链上,对方可以立即收到退款,而发起方的退款则需要存入一个双方的多签地址,退款发起方需要等待1000个区块确认后,才可以收到退款。也就是说**谁先发起退款关闭通道,就会受到延迟退款的小惩罚。**防止发起恶意交易。

闪电网络如何实现多方转账呢?

举个简单的例子:现有小明、小白两人需要交易,他们都分别与小红建立了支付通道。

第一步:1首先用自己的密钥R1生成了一个哈希值H1,然后将哈希值H1传给2。

第二步:同时2和3签署了一个合约(如果3在2天内能给2正确的密钥R1,2就给3转1.1BTC,否则就不给)

第三步:然后1又和3签署了一个合约(如果1天内1能给3密钥R1,3就给1转1BTC,否则就不给)

于是,3作为中间方,拿到1的密钥R1后给到2,2在拿到密钥R1后与1给的哈希值一对比,确认1的身份后即可给1转账,在整个交易过程中,2与3,1与3之间所达成的合约就是我们经常说到的哈希时间锁定合约(Hashed timelock contrct)。

闪电网络关键技术
1多重签名技术

闪电网络优缺点
闪电网络是一种基于区块链技术的二层解决方案,旨在提高比特币和其他加密货币的可扩展性和交易速度。它具有以下优点和缺点:

优点:

  1. 高速交易:闪电网络可以实现几乎实时的交易速度,不受比特币区块链的限制。它使用户能够进行快速且廉价的交易,类似于传统的在线支付系统。
  2. 低费用:由于大部分交易在闪电网络上进行,并且只在最后结算时才提交到区块链上,因此交易费用非常低。这使得小额支付变得更加经济实惠。
  3. 扩展性:闪电网络能够解决比特币网络的可扩展性问题。由于闪电网络上的交易是在链下进行的,因此可以在不增加区块链负担的情况下处理大量的交易。

缺点:
4. 中心化:闪电网络上的交易需要通过双方之间的多次协商和签名完成,这可能导致中心化的风险。如果用户不再信任对方或者其中一方失去访问闪电网络的能力,交易可能会受到影响。
5. 集中风险:闪电网络的节点必须一直在线才能参与交易,这可能导致节点的集中风险。如果一个大型节点垮台或遭受攻击,整个闪电网络可能会受到影响。
6. 资金锁定:在闪电网络上进行交易需要事先锁定一定数量的资金作为抵押。这可能导致用户的资金被锁定在闪电通道中,没有办法快速取出或转移。

总体来说,闪电网络是一种有潜力的解决方案,但也存在一些挑战和风险。随着技术的发展和改进,这些问题可能会得到解决,使闪电网络更加实用和可靠。

2/2多重签名与时间锁
Step1: 假如A需要向B发起多次转帐且交易总值约为10BTC,只需要,若A将钱存进多签地址后,B由于网络原因处于离线状态且短期内无法上线,那么A的钱将被一直锁定,直到B使用私钥签名解锁。为避免这种情况产生,在A锁定资金之前,B将向A提供一份退款交易(仅创建交易但不在主网上广播),退款交易内容为:在1月7日后(实际中使用区块高度作为时间限制),A可以使用多签地址内的10BTC,并附上B的签名。A在拿到退款交易后,仅需使用私钥签名后在主网上广播即可取回资金。
Step2: 付款方(A)向A和B共同持有的2/2多签地址存对应金额(此处假设为10BTC)即可。
Step3: 通道建立后,A可多次向B进行转账,且无需向主网缴纳手续费。具体的实现方式为:A构造一份新的退款交易发给B,退款交易内容为:在1月6日后,A可以使用多签地址内的9BTC,B可以使用多签地址内的1BTC(即A向B转账1BTC),并附上A的签名。A通过不断更新退款交易来实现转账。每个交易都有时间锁限制,每次交易更新后锁定时间是逐层递减的,防止恶意用户公布旧的交易。
Step4: 假设最后一次退款交易更新内容为:(无时间锁)A可以立即使用多签地址内的0BTC,B可以立即使用多签地址内的10BTC(即A一共向B转账10BTC)。由于通道是有时限的(第一个退款交易约定是1月7日后A可提取所有BTC),所以B需要在最新的交易已经生效而次新的交易还没生效前向主网广播最新的交易结果,否则可能出现旧的交易被广播并且生效的情况。例如:B在1月7日时仍未广播最新的交易内容,尽管最新的约定是B可以取走所有的资金,但A持有第一代退款交易且已经到了生效时间,故A可以签名并广播第一代退款交易,取走所有资金,B损失了10BTC。当退款交易在主网上广播时,也意味着通道即将关闭。
在这里插入图片描述
初代通道技术虽然一定程度上提高了主网吞吐量,降低了交易手续费,但是缺点明显:1、交易仅是单向的,若B想向A转账,则需再开一个通道;2、不友好的时间锁定,如果交易过程中A或B不配合流程,则另一方需要等到时间锁结束后才可解锁资金;3、通道时间有限,由于退款交易限制,到期后通道即关闭。

2 RSMC(Revocable Sequence Maturity Contract)
Revocable Sequence Maturity Contract (RSMC)是一种用于支付通道管理的智能合约机制,主要用于比特币闪电网络中。RSMC允许支付通道的参与方在任何时候撤销合约,并确保资金的安全性和可用性。

RSMC的基本原理是,支付通道的参与方可以通过签署一份具有一定有效期的合约来建立支付通道,并锁定一定数量的资金在合约中。在合约有效期内,参与方可以进行多次的支付操作,无需将每笔交易都记录到区块链上。这样可以大大提高交易的速度和降低交易费用。

当支付通道的一方希望撤销合约时,可以通过触发合约中的撤销条件来关闭支付通道。在撤销合约时,合约中的资金将按照事先约定的规则进行退还给各方。这样可以确保参与方在支付通道关闭时能够安全地取回自己的资金。

RSMC机制提供了一种灵活且安全的方式来进行支付通道管理,可以提升比特币闪电网络的可扩展性和交易效率。同时,RSMC也为用户提供了更多的控制权和灵活性,使他们能够根据自己的需求进行资金的管理和交易操作。

3、HTLC
HTLC (Hashed Time-Locked Contract) 是一种通过哈希和时间锁定达成的合约,用于在链下通道网络中实现安全的双向支付。

HTLC 主要应用于闪电网络(Lightning Network),该网络是一个构建在比特币等区块链上的第二层扩容解决方案。HTLC 协议提供了一种安全的方式,使得在两个参与方之间进行链下交易成为可能。

在 HTLC 中,参与方会设定一个哈希值和一个时间锁。其中,哈希值是由一个秘密值通过哈希函数产生的,而秘密值则只有参与方自己知道。

在交易完成时,接收方需要提供与之前设定的哈希匹配的原始秘密值,以使用合约中的资金。如果提供的秘密值与哈希匹配,接收方可以使用合约中的资金。

若在设定的时间锁定期内未能提供正确的秘密值,资金将自动退回给发送方。这样设计可以确保资金不会被无限期地占用,鼓励及时完成交易。

HTLC 提供了一种安全高效的方式,实现链下交易,并同时保持底层区块链的安全性和去中心化特性。

尽管RSMC完善了通道的功能,但如果涉及多个用户,每个用户间开启通道则需要大量的时间与经济,这与设计之初的理念背道而驰。因此可以基于通道之上,增加HTLC技术将各个通道串联起来,成为闪电网络。
HTLC全称为Hashed Timelock Contract,该合约的功能类似于限时转账,转账方往2/2多签地址转入一笔资金,同时收款方生成一个随机数R,并对R进行哈希运算得到H(R)。转帐方构建一笔交易,交易内容为:若收款方在一定时间内能提供R值,且其哈希值等于H(R),则这笔钱可由接收方支配。签名后发给收款方。收款方也构建一笔交易:在一定时间后转账方可以取回多签地址内资金。签名后发给转账方。
当A与E要进行交易又不在两者间建立通道时,如图5所示,可以通过HTLC技术借用别人的通道实现间接转账,即A→F→G→E或E→G→F→A。通过哈希锁定技术可以确保资金在各方手中安全的周转,通过时间锁技术为各周转单位提供缓冲时间,同时确保在超时后资金可取回。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/220159.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

04.仿简道云公式函数实战-QLExpress基础语法

1. 前言 小伙伴大家好,在上一篇文章我们简单初探了QLExpress表达式引擎,我们简单写了一个HelloWorld的程序,并成功的运行期望的结果。在本篇文章中我们来熟悉一下QLExpress的语法,因为我们在后面简道云公式实战的时候&#xff0c…

发布 Whatsonchain 上的 BSV20 插件

我们发布了 whatsonchain 上的 BSV20 插件来验证 BSV20 代币。 对于任何交易,whatsonchain 都可以通过以下网址打开: https://whatsonchain.com/tx/{hash}我们使用此 bsv20 v21 交易 打开 Whatsonchain 。 打开whatsonchain后你会看到BSV20插件&#x…

Linux系统安装MySQL8.0版本详细教程【亲测有效】

首先官网下载安装包:https://downloads.mysql.com/archives/community/ 一、上传到安装服务器 二、解压 tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz三、移动位置并重新命名 mv mysql-8.0.31-linux-glibc2.12-x86_64 /usr/local/mysql四、创建mysql用户…

官宣 | HelpLook已入驻企业微信应用市场

HelpLook正式入驻企业微信第三方应用市场。 HelpLook支持自定义域名与AI站内搜索,能够帮助企业微信用户搭建所见即所得的企业知识库、产品帮助中心、用户手册、企业博客。 | 怎么找到HelpLook并开始使用 在企业微信的第三方应用就可直接搜索HelpLook,添…

虚幻学习笔记14—重叠和碰撞事件

一、前言 在开发应用当中两个物体的重叠和碰撞事件会经常用到,在虚幻中哲两个有很大的区别,在官方文档碰撞概述其实已经讲了怎样发生碰撞和重叠,但是还是遗漏不少注意事项合细节,主要文档写的太粗糙了,这也让我在使用的…

Docker Compose入门:打造多容器应用的完美舞台

Docker Compose 是一个强大的工具,它允许开发者通过简单的 YAML 文件定义和管理多容器的应用。本文将深入讨论 Docker Compose 的基本概念、常用命令以及高级应用场景,并通过更为丰富和实际的示例代码,助您轻松掌握如何通过 Docker Compose 打…

数据结构和算法 - 前置扫盲

数据结构和算法 一、前置扫盲 1、数据结构分类 1.1 逻辑结构:线性与非线性 tip:逻辑结构揭示了数据元素之间的逻辑关系。 线性数据结构:元素间存在明确的顺序关系。 数据按照一定顺序排列,其中元素之间存在一个对应关系&#x…

Liunx系统挂载磁盘

1.具体步骤 大概五个步骤 添加磁盘磁盘分区格式化分区挂载分区到指定目录设置开机自动挂载 目标将sdb1分区挂载到/data目录 2.添加磁盘 使用lsblk -f命令可以查看当前系统磁盘情况 lsblk -f 可以看到已经有一个磁盘sda,现在我们给虚拟机增加一个磁盘 添加完成后…

数据结构与算法:插入排序

原理 保证区间内排好顺序,逐渐将区间外数据插入到该区间中。 从局部扩散到整体。 第一次:保证0-1范围内有序 arr[0]和arr[1]对比,若arr[0] 大于 arr[1] ,交换两个值, 0-1范围内有序。 第二次:保证 0-2 …

力扣题:数字与字符串间转换-12.14

力扣题-12.14 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:442. 数组中重复的数据 解题思想:从字符串中能够正确提取数字即可 class Solution(object):def complexNumberMultiply(self, num1, num2):""":type num1:…

2.5 常规游戏中模型通用要求介绍

一、布线和理性 多星点(4个及4个以上边的交点) 如果是在中模阶段,减少使用多星点,因为会在细分是时出现凸点问题,如果要使用多星点,需要通过布线技巧把它移动至平面处,不要让他出现在倒角边缘。…

科技提升安全,基于DETR【DEtection TRansformer】模型开发构建商超扶梯场景下行人安全行为姿态检测识别系统

在商超等人流量较为密集的场景下经常会报道出现一些行人在扶梯上摔倒、受伤等问题,随着AI技术的快速发展与不断普及,越来越多的商超、地铁等场景开始加装专用的安全检测预警系统,核心工作原理即使AI模型与摄像头图像视频流的实时计算&#xf…

深入理解Java虚拟机---Java内存模型

JMM Java内存模型主内存和工作内存volatile Java内存模型 Java内存模型是Java虚拟机规范中试图定义一种Java内存模型(JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台上都能达到一致的内存访问效果。可以理解为JMM定义一套在多线程读写共…

计算机网络简答题

面向连接和非连接的服务特点 面向连接的服务:通信双方在进行通信之前,要事先建立一个完整的可以彼此沟通的通道,在通信过程中整个连接的情况可以被实时的监控和管理 面向非链接的服务:不需要预先建立一个联络两个通信节点的连接&a…

智能优化算法应用:基于平衡优化器算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于平衡优化器算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于平衡优化器算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.平衡优化器算法4.实验参数设定5.算法…

每日一题:Leetcode1926.迷宫中离入口最近的出口

给你一个 m x n 的迷宫矩阵 maze (下标从 0 开始),矩阵中有空格子(用 . 表示)和墙(用 表示)。同时给你迷宫的入口 entrance ,用 entrance [entrancerow, entrancecol] 表示你一开始…

HBase 高可用集群详细图文安装部署

目录 一、HBase 安装部署 1.1 Zookeeper 正常部署 1.2 Hadoop 正常部署 1.3 HBase 安装 1.4 HBase 的配置文件 1.4.1 hbase-env.sh 1.4.2 hbase-site.xml 1.4.3 regionservers 1.4.4 创建目录 1.5 HBase 远程发送到其他节点 1.6 HBase 服务的启动 1.6.1 单点…

分类预测 | Matlab实现HPO-GRU【23年新算法】基于猎食者优化算法优化门控循环单元的数据分类预测

分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机的数据分类预测【23年新算法】 目录 分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机的数据分类预测【23年新算法】分类效果基本描述程序设计参考资料 分类效果 基本描述 1.HPO-GRU【23年新算法】基于猎食者优化算法优…

【电子取证:FTK IMAGER 篇】DD、E01系统镜像动态仿真

​ 文章目录 【电子取证:FTK Imager 篇】DD、E01系统镜像动态仿真一、DD、E01系统镜像动态仿真 (一)使用到的软件 1、FTK Imager (v4.5.0.3)2、VMware Workstation 15 Pro (v15.5.2)(二)FTK Imager 挂载镜像 1、选择 …

学习深度强化学习---第3部分----RL蒙特卡罗相关算法

文章目录 3.1节 蒙特卡罗法简介3.2节 蒙特卡罗策略评估3.3节 蒙特卡罗强化学习3.4节 异策略蒙特卡罗法 本部分视频所在地址:深度强化学习的理论与实践 3.1节 蒙特卡罗法简介 在其他学科中的蒙特卡罗法是一种抽样的方法。 如果状态转移概率是已知的,则是…