Thunder:比特币高性能侧链
A reason or excuse givento hide the real reason for something.
–Thunder Genesis Block(?)
动机
比特币(BTC,货币)目前的形式可以扩展——足以处理世界上的每一个txn!它只需要第2层的正确组合。
这篇文章将介绍“雷霆”——一个大型区块侧链网络。我所说的“大型区块侧链”是指侧链网络与其主链网络基本相同,只是具有更大的区块大小/sigops限制。
A.今天的第2层
闪电网络提供了一些解决方案,但是如果每个用户都需要第1层的字节,那么第2层的主要可扩展性优势就会丧失(1)托管解决方案(如中本聪和哈尔·芬尼在2010年最初设想的那样)也运行良好,并且用户友好…但是用户对托管者负有责任。
下面是一个表格,将Thunder与这两个更突出的Layer2(LN和保管)进行了比较:
- 见这里。75/222=.337。
托管比特币的主要问题是,黄金已经尝试过这种策略,过了一会儿,人们不再关心潜在的黄金,而是更关心保管人的分类账(即保管人对谁有多少钱的看法)。更多。
状态链是另一个具有非常有趣和独特属性的第2层。也就是说,它们不需要第1层字节来载入每个新用户,但是它们确实要求“在”状态链中使用的每个UTXO都通过第1层载入。这比LN好,但是仍然有问题。
SNARKS根本无助于可扩展性,因为它们不能解决所谓的“数据可用性问题”。没有办法使用SNARK来恢复导致其创建的事件序列。也没有办法审计SNARK,以确保它正常工作,而不需要手头所有的原始数据。因此,SNARKS对可扩展性没有帮助,可能只是作为SPV级别安全性的增强。
B.新框架
一个古老的批评,通过块大小增加缩放,运行如下:
它表明容量增加是幼稚的、无原则的、无纪律的,它们会降低整个网络的质量。相比之下,强制执行产权(即强制执行1MB块大小限制)可能看起来很残酷,但总的来说,这种“严厉的爱”是建立可靠、可持续、高质量系统的唯一途径。
那个批评是准确的,我不是要推翻它!
但我确实想稍微改变一下。与其让火车“100%清洁”vs“100%过度拥挤”,我宁愿人们想到同一辆车有不同部分的情况:头等舱、商务舱、蔻驰等。在那个模型中,乘客在许多重要方面都有不同的体验,但他们也有一些共同点。
First/Business class是小块“第1层”——昂贵但高质量;廉价节点、可靠访问区块链、高额txn费用。
Coach将是第2层的大块“可伸缩性侧链”——使用起来很便宜;但是更有问题的全节点体验,更少的decentralization。
但至关重要的是,这两个“类”可以通过共享同一架飞机而受益。在侧链的类比中,这是两个链共享2100万硬币限制,共享哈希功率,并且是可互操作的(这意味着通常乘坐头等舱的人可以选择降级为经济舱来省钱,通常乘坐经济舱的人可以选择通过支付头等舱来升级他们的体验)。在一个没有侧链的世界里,人们必须乘坐每个人只有一个舱位的飞机。
现实世界中的交易有各种形式和规模。并非所有交易都需要相同级别的信任,也并非所有交易都能承受相同的费用开销。另见。
C.power下放
一刀切的全decentralization方法实际上使比特币变得脆弱。致力于“非常decentralization”的政策是一场博弈。这是一个赌注,说:我们生活在一个充满敌意的世界。
相反,如果世界是美好的,那么我们将输掉这场赌注。
decentralization对于dizhi gov、黑-手-dang、独cai者、科技巨头、取消文化等有power势的人很有用。为了获得这种宝贵的decentralization,比特币必须牺牲其他宝贵的东西:易用性、txn成本、工程努力等。
因此,在一个推广所有加密货币的友好“有power势的人”的世界里,优势在于不太分散的硬币(ETH、BSV等)。
更糟糕的是,“有power势的人”可能意识到这一点,并利用它来对付我们。起初,他们可以等待时机,让所有加密货币蓬勃发展,从而(通过网络效应)允许最不分散的硬币利用其天然优势最终取代其他人,包括BTC。一旦decentralization从加密货币世界中清除出来,“有power势的人”可以然后“轻触”进入,看看他们可以安全地逃脱什么(利用网络效应作为锚)。一旦完成,他们可以从那里慢慢收紧绞索。另见。
如果用户可以选择他们想要的decentralization级别(这是Thunder允许的),那么整个风险就可以避免。在Thunder-world中,我们不需要担心“输掉”赌注(“世界是美好的”)。如果相反,“世界是美好的”,那么这只意味着BTC21M硬币的更大一部分将在不太分散的侧链上。如果世界从美好转向均值,那么硬币将把网络从不太分散转向更加分散。它永远不会影响比特币在更广泛的加密货币市场中的竞争力,第一层主链永远不会“倒闭”。
D.“比特币VS.银行”
短语“比特币vs银行”是一个常见的比特币口号。
但是,除非“比特币”(广义上)有一个复杂的分层支付系统——有许多“层”和大量的净额——否则它不可能对传统银行系统构成严重挑战。
对我来说,“钱”是以支付为中心的。这解释了为什么外行人总是问:“比特币……但谁接受它?”。钱是我们跟踪谁欠谁人情的方式。它不是交换媒介或价值储存,而是一种支付方式。
同样,这并不是说小区块主义是错误的。我是一个小区块主义者——比特币应该全力以赴保持其“口袋里的瑞士银行账户”的品质。
但是除非比特币有某种方法可以扩展到处理世界上所有的交易,否则比特币将永远无法充分发挥其潜力。
首先,让我们问:有多少笔交易?
我们在谈论多少交易?
A.mei国
我们可以从2019年美联储支付研究,表B1中看到,2018年平均“卡”支付为54美元。1312亿支付了这样的款项。
我们还可以从2018年FEDCPODCPC调查,图7中看到,按数量计算,现金支付约占“卡”(信用卡和借记卡)支付的40%。
这意味着在US中(131.2*1.40)=每年1836.80亿支付(卡+现金)。由于每年有52,560个块,这相当于350万个txns/块。如果每个txn是250字节,这意味着块空间要求8.75亿字节,或875MB。
我们需要大大超过“平均速率”(交易在24天内并不均匀分布——大多数是在白天)。但是,网络的实际预期使用(决定带宽/存储/CPU需求)是平均速率。
B.世界
根据世界支付报告(2018),图1.1,2016年非现金txns为4826亿/年;并显示每年增长9.8%。(2)
按照这个速度,2021年每年将有7700亿笔非现金交易,相当于每秒不到25,000笔交易的TPS率。我们可以再次调整40%以包括现金交易,这将使我们达到35,000TPS。
当然,这个数字会随着时间的推移而增长,但我们可以把它作为今天的基准。
如何实现该级别的Txn吞吐量?
A.侧链团队
当然,一次使用我们所有的二层。
但是我想到的是:几个大块侧链,按顺序添加。我们从一个侧链开始——它可能有一个10MB的块大小,它被编程为在10年内缓慢上升到1 GB。
如果需要更多容量,我们可以耐心等待(10MB块大小随着时间的推移向最终目标1GB上升)。但是,更重要的是,我们也可以随时添加另一个侧链。
我称这种策略为“Thunder”,每个侧链为“T-network”。
B.如何运作
正如我提到的,随着时间的推移,我们可以并行添加更多的“雷霆”。
Mainchain (Layer-1 SmallBlock Bitcoin)
|
——–|———-|————|——–|——–|———-|———|——–|——|–
Thunder Thunder.Asia T.Europe T.CN T.India T.Arabia T.Alt T.Africa T.USA
Time —> 2023 2024 2028 2030 2034
为了提高效率,雷霆内部的txns应该比跨雷霆的txns多得多。因此,显而易见的是模仿过去的银行网络,并按地理区域划分网络。参见:OCA。
我们如何从现在的位置走向许多大型区块侧链的未来?
它从创建第一个大块侧链开始。这个侧链最终填满。因此,需要一个新的第二个大块侧链。
老用户可能不想离开他们所在的网络,所以一般来说,我希望第二大群体在拥挤的旧网络中创建一个新网络(见下文)。因此,如果USA是迅雷的早期采用者,我希望他们留在“迅雷”网络(第一个也是最古老的网络),就像mei国人的电话有国家代码“+1”一样。最终,(假设,在2034年,如上所示),第一个网络可能会与非mei国人过于拥挤(尽管有许多非mei国的网络),mei国人会想要更新的功能,所以以USA为中心的网络会诞生得很晚。
请注意,每次创建新网络时,每个人的交易费用都会下降(例如,当T. India创建时,所有印度用户都会从“Thunder”、“Thunder.Asia”和“T.CN”快速迁移到那里)。
“谁必须离开并开始自己的网络,谁留在旧网络上”的问题可能会变成ZZ问题。但这种冲突很可能会自行解决。首先,移民可以用一个新的区块链重新开始,获得所有最新的技术改进(比如从4G切换到5G)。其次,有一个非ZZ标准——旧网络中最不能够忍受高费用的成员将是有动力继续前进的人(然后他们会带走他们的贸易伙伴)。因此,这个过程可能是自我调节的。
C.现实主义
这一计划反映了当今货币体系的实际结构。这可能是一个好迹象。
Thunder Thunder.Asia
/
/
/
Mainchain (Layer-1 Bitcoin), Smallblock
/
/
/
T.Europe T.CN
US Federal Reserve Bank of Japan
/
/
/
Bank of International Settlements
/
/
/
European Central Bank People's Bank of CN
“从地图上看,很明显,按照这个定义,最大的经济体是最不开放的。但这是很自然的:因为它们太大了,它们的大部分贸易都是内部的。”
从这里。
上图:1800年代银行网络的黑板草图。不同的本地银行在中央票据交换所相互结算。来自这个视频。
上图:魔兽争霸III服务器列表(US东、US西、欧洲、亚洲)。您可以在与您所在位置匹配的服务器上玩游戏,以减少延迟,增加玩家说您的语言、在您的时区玩游戏等的可能性。从这里开始。
另请参阅:付款只想免费
Thunder的其他有趣特性
A.自动能力管理
当T.networktxn费用增长过高时,任何人都可以通过创建一个新的T.network来解决这个问题。但是如果侧链不是真正需要的,它将不受欢迎并失败。
B.一劳永逸的解决方案
这种方案的优点是它一劳永逸地解决了扩展(或至少“容量”)。
相反(例如),BCH必须通过定期硬分叉来提高其区块大小。这导致了许多大问题。一个问题是分裂的风险(例如BSV发生的情况)或ZZ策略的风险(例如BitcoinABC的“IFP”发生的情况)。
相反极端的从不硬分叉的MonochainBTC必须希望其当前的技术配置能够在现在和未来永远发挥作用。或者,它必须希望它能够始终成功地通过中央计划走向胜利(包括当前的中央计划者能够挑选出称职的继任者)。这两个希望是没有根据的(世界太复杂了,变化太快太混乱了)。
C.技术债务/总体设计自由
新的T. Networks不必是现有T.Network的软分叉。如果愿意,新的代码分叉可以完全从头开始。
例如,如果我们在2014年有Thunder,那么SegWit可能会被编码为“硬分叉”。这个“不兼容”的SegWit版本永远不可能合并到Layer1 Bitcoin Core中,但它可以很容易地合并到2016年的任何-Thunder-network-coming-line-in-in-2016中。这在许多方面都是一个很大的改进:代码审查、代码复杂性、对最终用户的透明度、错误的可能性、所需的工程时间/精力等。
D.未来防护/硬分叉愿望/竞争性发展/硬件
由于每个新的侧链都是一个全新的软件,因此有完全的设计自由。
关心扩展性的人(例如Roger Ver或“比特币基金会”)可以赞助一场竞赛,鼓励专注于可扩展性的新区块链设计。获胜者将是生产性能最佳软件的人。我们甚至可以有“T. India.RogerVer”和“T.India.Blockstream”——相互竞争的软件。(事实上,它们都已经在相互竞争了。)
这甚至可以被视为对那些致力于通过硬分叉(如门罗币/零现金)定期升级战略的山寨币的竞争回应。现在“比特币”也可以做到这一点(如果“比特币”是指包括所有BTC侧链)。
此外,每个新的侧链都可以与自己的定制硬件配对。
ECDSA signature verification… I can imagine people
writing hardware that did ten million per second.
-Gavin Andresen, to Greg Maxwell; Nov 2015
上图:小组讨论-DevCore Draper University 2015,7:54
过去,“硬件扩展”的支持者和批评者都忽略了“第1层”和“第2层”之间最重要的区别。为了抵制bao政,第1层比特币全节点软件必须运行在易于获得的硬件上(尤其是易于为非比特币目的获得的硬件)。但这不是第2层软件——第2层软件可以是定制软硬件对的一部分(因此,它可以更加高效)。
另见:
- Peter Rizun演示了硬件扩展。
- Andrew Stone演示了处理256个MB块的软件。
请参阅附录2,了解我对下T.network可能包含的内容的一些想法。
最后:最后一个非常有趣的好处。
通过地理分发实现安全
世界各国能协调得多好?如果两个国家互相憎恨,那么每个国家的T.network都可以安全地隐藏在对手国家的管辖范围内。
A.介绍
To make the scheme effective it would be
important…to provide that banks in one
country be free to establish branches in
any of the others.
-F.A. Hayek, "Choice in Currency" (1976)
It's hard to imagine the Internet getting
segmented airtight. It would have to be a
country deliberately and totally cutting
itself off from the rest of the world.
Any node with access to both sides would
automatically flow the blockchain over…
It would only take one node to do it.
-Satoshi Nakamoto, "Re: Anonymity" (2010)
上图:这里和这里。
B.罗宾ZZ庇护
为了提高效率,网络将在地理上分布。
这种分布可能会引发一个不可思议且最意想不到的好处:T. Networks的循环ZZ“庇护”。
当然,大型区块网络的运行成本更高。但费用并不是大型区块主义的主要缺点。相反,大型区块主义的担忧是大型节点必须发送/接收/处理大量数据,因此更难以隐藏节点的物理位置。这反过来又使节点容易受到骚扰并从属于当地ZZ。
例如:
上图:来自萨莫瑞电报集团的评论“这是比特币”。比特币是反bao君的,亲“抗yi者和持不同“naozi”者”。
现在,考虑一下在雷霆支持的比特币世界中,当管辖权和服务区域不重叠时会是什么样子。
“尼日利亚反抗a sir bao行的人们”会使用“T.Africa”网络——毕竟,他们生活在非洲。尼日利亚政府很强大——也许强大到足以追捕在尼日利亚运行完整节点的所有人。但是喀麦隆的节点呢?埃及的节点呢?或者摩洛哥的节点呢?尼日利亚公民可以在其他地方启动一个节点,然后梯子🪜进去。
摩洛哥的执法部门可能不会在乎为什么一些疯狂的尼日利亚独cai者想要停止一些T.Africa支付。埃及a sir会关闭他们自己的支付网络来帮助外国尼日利亚a sir吗?我对此表示怀疑。
政客们沉迷于自己国家的ZZ问题,但他们几乎不关心邻国的ZZ问题。
C.“为您服务!”
但它变得更好了!你不能想象在US和欧洲的活动家运行T. CN和T.Asia节点吗?他们不仅可以运行节点,还可以运行快速创建更多节点的服务器。也许这些人是最近逃离俄罗斯/CN的难民;也许他们只是ZZ活动家。
再加上总是有外国公司。亚马逊网络服务总是可以(间接)向CN人出售T. CN完整节点。他们只需要梯子🪜和一些硬币!
而且,总是有外国政府。如果只有一个比特币网络,那么所有专制的世界政府可能会自然而然地联合起来反对它;因此他们更容易合作摧毁它。但是,如果有许多不同的网络对每个国家的影响不同,一些国家将成为彼此的天敌。US政府可能运行T.Asia节点,纯粹是为了给弗拉基米尔·普京制造麻烦。也许伊朗政府(总是金融制裁的受害者)会出于怨恨运行所有节点;或者伦敦/纽约市长办公室(世界金融之都)会将所有节点作为公共服务来运行。
上图:游戏文明四;你的政府可以采用“解放”公民,让对手政府的生活变得困难。如果许多对手都采用“解放”,那么你基本上也被迫采用它。从这里开始。
D.IN概述
我的观点是:大型区块节点的主要缺点是它的计算开销大,因此更容易受到地方政府bao政的影响。拥有一个大型区块节点团队的一个意想不到的好处是,地方政府实际上是在与每个管辖区的使用节点的公民作战。
(尤其是Drivechain的盲合并挖矿。在BMM中,节点运营商“挖矿”,并通过抵消节点的运营成本来赚取利润。一般来说,这些均衡利润将降至零(即使只有两个竞争对手,每个都试图BMM)。然而,如果节点受到存在主义骚扰,那么环境将不再完全竞争。一些节点运营商会屈服于存在主义骚扰,但其他节点运营商很容易忽视骚扰(给他们一个比较优势和盈利机会)。)
加起来/结论
A.需要多少个T. Network?
在下面的附录2中,我估计代表性T.networktxn可以缩小到197字节。
如果所有的txns都是197字节,那么价值500MB的区块空间可以容纳253.80万个txns。每10分钟1个区块,这将是每秒4230笔交易。上面,我们计算出2021年全球总TPS为35,000笔。换句话说,只需九个Thunder侧链,比特币就可以处理全世界的每一笔交易,非托管。
B.每T.NETWORK?的费用是多少
在下面的附录1中,我估计1 GB Thunder节点的前期成本为6825.5美元,每月成本为386.98美元。
这个成本是高得令人望而却步,还是微不足道?这最好由你,读者来决定。
这大约相当于mei国人在汽车上的花费——几千英镑首付,然后每月几百英镑。
当然,与经营交易所、采矿作业、雇佣软件开发人员或购买2BTC(也就是总供应量的百万分之一)相比,它是很小的。与USD现状相比,它是很小的,因为目前我们没有办法“运行一个完整的USD节点”(所以,在那里,成本是无限的)。另一方面,对于业余爱好者来说,它非常高。
C.为什么不考虑总成本?
九个电信网络的总费用当然是预付61 429美元,每月3482美元。
但是每个用户只需要验证他们自己的付款(尤其是他们收到钱的付款)。类似于闪电网络,用户可以安全地忽略不适用于他们的txns。
用户可以坚持在自己的网络上获得报酬。这样,他们只需要验证一个T.network。
附录1:1 GB Blocksize节点的USD成本
让我们来看看要求。
注意:我在2020年年中查看了这些价格,当然它们很可能会随着时间的推移而改变。但是无论如何,我已经包含了我在2020年年中使用的超链接。希望它们在一段时间内保持准确。
A.储存
我之前提到过侧链可以(与主链不同)丢弃旧历史。通过巧妙的UTXO承诺,可能可以丢弃超过6个月的区块历史。
由于每6个月有26,280个块,因此1 GB的块大小将产生26.28 TB的块数据总存储需求,以及更多用于存储UTXO数据和其他数据库的存储需求。
3000美元买硬盘
B.带宽
每十分钟1 GB,即8000位/600秒,即13.33 Mbps。我们的要求会更高——我们必须考虑块间时间的可和宝贵的上行带宽。
此Verizon Fios 1 Gbps服务收费215美元/月
C.计算
一个典型的1MB块将包含大约2500个txns。所以我们可以期望一个1 GB的块包含250万个txns。
詹姆森·洛普测试了节点性能,发现一台机器可以在311分钟内从创世(2009年1月3日-2018年10月23日)链同步比特币核心。最有趣的是(就我们的目的而言),这台机器显然CPU瓶颈。
Blockchain.info在此期间(2009年1月3日至2018年10月23日),共报告350,934,692 txns。
因此:350,934,692 txns/311分钟=每10分钟11,284,073.7 txns。同样,块间时间差异很大,所以我们需要能够处理偶尔的“厄运”,但是这台机器的CPU可以完成我们基线要求的4.514倍(每10分钟250万txns)。
我可以建造一台RAM两倍的机器(詹姆森的),CPU速度提高15%,售价3205.24美元。
D.电力
计算机的额定功率为1200W(即1.2kW)。如果我们不知何故需要100%的功率,24/7,那么一天24小时,我们将消耗28.8千瓦时。在0.132美元/千瓦时,这使得3.8美元/天,或114美元/月。
如果我们增加20%,它应该足以覆盖CPU和巨大的硬盘阵列。
所以,$136.8/月。
E.共计
如果我们加上10%的“软糖系数”(用于安装、人工、意外物品等),那么我们有:
预付6825.50美元
$386.98/月
真正的总拥有成本几乎肯定会更低,因为我们高估了一切。
附录2:下T.Network的可能性A. SCHNORR/BLS
可以原生添加Schnorr签名(即,使所有输出都是Taproot-Script)。
或者可能是:BLS签名
B.较小的TXNS
如果侧链要强调可扩展性,那么我们可能会尝试使txns尽可能小。
中本聪的txns实际上有一点浪费:
有四个“版本字节”,允许数十亿个可能的txn版本。然而,在这数十亿个版本中,我们只使用了三个。因此,我们可以将这四个字节减少到一个,从而节省三个字节。
nLockTime字段通常不使用。然而它消耗四个字节。我们可以指定它的存在与否取决于特定的“版本”值。因此在大多数情况下可以节省四个字节。
大多数交易接受5个或更少的输入,支付给5个或更少的输出。然而,两个字节用于指定输入/输出信息。我们可以预先定义一些版本类型,以始终描述采用这些“普通”形式的txn(例如,1输入2输出P2PKH)。因此,我们可以消除内部VarInts,甚至消除内部脚本。
如果Thunder打算专注于链上txn,它根本不需要任何功能。只需发送txn的最低限度即可。
例如,“最小”txn可能如下所示:
1 byte: version*
36 bytes: Input UTXO: TxID (32 bytes) + Position (4 bytes)
104 bytes: spend authorization
71 bytes: signature**
33 bytes: Compressed PubKey
28 bytes: output 1 — value (8 bytes), Hash160 (20 bytes)
28 bytes: output 2 — value (8 bytes), Hash160 (20 bytes)
See (*) and (**), below.
…总共197个字节。
版本将指定#个输入和输出,在这种情况下:(1,2)。对于(现在)256种版本类型中的100种,我们可以指定包含1-10个输入和1-10个输出的txns。
**参见这里和这里,这些现在总是71字节或更少。[如果更少,可以用零填充,如果失败,则让解释器重做。]
C.其他机会
目前,通过OP返回包含“备忘录”需要有一个0值的输出(即8个仅由零组成的字节)。相反,将某些版本类型预先定义为始终在特定位置包含“备忘录”字段的类型。这将避免浪费这8个字节。
当新功能作为“软分叉”添加到Bitcoin Core时,它们往往会涉及尴尬的标志或指示字节。但是当下一个Thunder网络准备创建时,这些功能可以被折叠到一个新的txn版本中,从而花费零边际字节(并且不涉及尴尬)。
D.累积者/欺诈证明
我们不仅可以节省字节,还可以提高SPV的安全性。一个重要的方法是通过累加器消除4类区块缺陷,正如我在这里描述的那样。这将允许比特币支持欺诈证明。如果任何区块以任何方式无效,SPV节点都可以得到廉价、可靠和即时的警告。因此,SPV节点将具有与完整节点相同的安全性(3)。这是理想的,因为(当然)在大型区块系统上,大多数用户将运行SPV节点。
E.简单的可塑性修复
Bitcoin Core用来修复交易延展性的“SegWit”方法(不幸的是)非常奇怪和复杂。相反,仅仅编辑交易序列化函数的“硬分叉”方法会清晰得多。
F.其他
从硬分叉愿望清单:
字节序一致性(大端)
消除可变长度整数编码中的冗余,可能切换到标准。
脚注
事实上,由于Lightning需要第1层字节来装载每个新用户,并且需要周期第1层字节进行维护,因此它在可扩展性意义上只是一个“第2层”。(LN的主要优势根本不是可扩展性,而是即时的去信任支付,这可以在没有采矿过程或比特币网络其余部分的情况下进行。)↩
这似乎是一个可信的数字。2016年有74.20亿人,只有约65%是成年人。~2B仍然生活在极端贫困中,许多人生活在没有银行账户的发展CN家。↩
这并不是说整个网络现在只能依赖SPV节点(这是LargeBlockers,尤其是BSV-ers经常阐明的错误)。无法绕过数据可用性问题:有人必须“托管”区块链的数据…我们不能都从别人那里得到它!(这也是SNARKS作为一种扩展解决方案低劣的原因——它们基本上只是不透明的欺诈证明。)