当前位置: 首页 > news >正文

简单介绍BTC的Layer2项目RGB

这里写自定义目录标题

  • 介绍(历史背景,项目成员)
  • 核心技术组成部分
    • 一次性密封条(single-use-seals)
    • 客户端验证(client-side validation)
  • 总结

注:该内容不构成投资建议,有些内容摘抄其他地方,如侵权,请联系删除。(技术方面讲的比较少,后面如果有时间我再详细讲讲)

介绍(历史背景,项目成员)

RGB 协议是由 LNP/BP 标准协会开发的可扩展且保密的比特币和闪电网络智能合约系统。其包含代币和非同质化代币的发行标准,以及代币转移验证计算的技术标准。 RGB协议最初由Giacomo Zucco在2016年设计,作为基于Peter Todd的“客户端验证”设计的非区块链资产系统,名为BHB Network。该项目的原型在2017年在Poseidon Group的支持下推出。到2019年,Pandora Prime AG的Maxim Orlovsky博士成为该项目的主要设计师和主要贡献者,影响了它从BHB Network资产系统转变为当前状态的RGB协议,该协议允许项目计算机实现机密智能合约。

RGB协议的核心的理念是,仅在必要的时候才使用比特币主链进行交易(由于比特币价值高,每笔交易都需要消化不少的矿工费用,发起交易都需要承担一笔不小的费用)。所有的代币转移的验证工作都从全局共识层中移除、放在链下,仅由接收支付的一方的客户端来验证。

核心技术组成部分

RGB的核心技术组成部分由Peter Todd 在 2017 年 提出,分为两点:一次性密封条(single-use-seals)和客户端验证(client-side validation。

一次性密封条(single-use-seals)

一次性密封是一种加密承诺,确保攻击者无法通过暴力迭代创建重复的承诺。一次性密封对比特币交易的交易进行承诺,这个承诺是每个交易一个独一无二的标识符,不同的交易无法拥有一样的承诺。在RGB协议中,比特币承诺是一种确定性的承诺,包括三种形式:Tapret、Operet和多协议(Multi-protocol)承诺。Tapret承诺基于区块链的Taproot功能,用于创建安全、可验证的承诺。
Operet承诺基于OP Return输出(OP_RETURN)。OP Return输出是一种允许包含任意数据的输出,适用于无法使用Taproot功能的旧设备。多协议承诺足够灵活,可用于多个协议。

客户端验证(client-side validation)

客户端验证是一种去中心化的验证机制,在这种机制中,交易的验证过程由资产的持有者(即客户端)来执行,而不是依赖于区块链上的矿工或全节点。这种方式大大减少了网络上的负担,同时提高了隐私性。

在 RGB 协议中,当一个新资产(如代币、证券等)被发行时,资产的元数据和状态会被加密并分发给相关的客户端。这个数据不会公开存储在区块链上,而是由客户端自己保存。

当持有者想要将资产转移给另一个用户时,交易会通过链下通信的方式发送给接收者。接收者在收到交易后,会通过验证交易的完整性和有效性,确认资产的合法性。
交易的所有数据都是私密的,只有相关的参与方才能看到。比特币链上只记录了一个标识符(通常是哈希值),用来指示交易已经发生过。这种方式确保了链上交易的隐私性,因为比特币网络上不会泄露任何关于资产的具体信息。

在 RGB 协议中,每个客户端都需要保留完整的交易历史,以验证每笔交易的正确性。客户端通过检查交易历史中的所有状态转换来确保新交易的有效性。
验证包括检查前一个所有者的签名、确保状态转换的正确性(如资产数量的减少和增加)、以及比特币 UTXO 的消费情况。

总结

在RGB中,代币都归属于一个比特币 UTXO(无论是已经存在的 UTXO,还是临时创建的),而为了转移代币,需要花费这个 UTXO。在花费这个 UTXO 的时候,比特币交易必须包含对一条消息的承诺,这条消息的内容是 RGB 的支付信息,它定义了输入、这些代币将被发送到哪个 UTXO、资产的 id、数量、花费的交易以及其它需要附加的数据。即RGB上运行的核心数据借助UTXO附身于比特币区块链,用比特币网络来保障资产的安全性。该功能实现面临两个问题,由于客户端验证资产时需要追溯每个资产上游的UTXO,这里涉及大量的数据验证,资产被转移的次数越多 ,验证难度和验证成本就越大;即使资产能被验证,但是,比特币区块链也只是作为链下数据的一个存证账本,比特币矿工没有真正参与到RGB资产的验证,需要第三方去验证RGB账本;而且,RGB的智能合约并非真正意义地运行在链上,每个基于RGB的智能合约是无法交互的,都是独立的。基于RGB发行的两个代币需要构建Swap,是无法像EVM上发行的资产那样直接实现Swap交互,而是需要转移到闪电网络进行交互。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java面试篇(JVM相关专题)
  • C#使用NPOI进行Excel和Word文件处理(二)
  • 房产中介小程序
  • C语言——结构体与共用体
  • Docker 网络代理配置及防火墙设置指南
  • 【云原生之kubernetes实战】在k8s环境下部署Note Mark笔记工具
  • 不仅能防沉迷游戏的防沉迷软件(Python)
  • 24/8/9算法笔记 决策树VS线性回归
  • 景联文科技:破解数据标注行业痛点,引领高质量AI数据服务
  • 二、Matlab图像处理基础
  • PDF隐写思路
  • 如何使用open ai实现全站语义搜索?
  • 游戏手柄开发一款游戏
  • Python 复习 日志2024/8/9
  • 系统编程 day7 文件6
  • 分享一款快速APP功能测试工具
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Angular 响应式表单 基础例子
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • MobX
  • mysql 数据库四种事务隔离级别
  • storm drpc实例
  • webgl (原生)基础入门指南【一】
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 深度学习中的信息论知识详解
  • 找一份好的前端工作,起点很重要
  • Semaphore
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (pycharm)安装python库函数Matplotlib步骤
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转载)从 Java 代码到 Java 堆
  • .apk 成为历史!
  • .java 9 找不到符号_java找不到符号
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET gRPC 和RESTful简单对比
  • .NET Micro Framework 4.2 beta 源码探析
  • .net 验证控件和javaScript的冲突问题
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET使用存储过程实现对数据库的增删改查
  • /usr/bin/env: node: No such file or directory
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [<死锁专题>]
  • [20150321]索引空块的问题.txt
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色
  • [Android]将私钥(.pk8)和公钥证书(.pem/.crt)合并成一个PKCS#12格式的密钥库文件
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [Bugku]密码???[writeup]
  • [bzoj 3534][Sdoi2014] 重建