版权声明:
以下内容来自微信公共帐号“EOS技术爱好者”,搜索“EOSTechLover”即可订阅,翻译Gavin,校对Lochaiching。转载必须保留以上声明。仅授权原文转载。
本文原文链接为https://busy.org/@iang/life-is-a-cabaret-or-how-to-split-and-merge-a-blockchain ,由本号“EOS技术爱好者”翻译。
"EOS技术爱好者"全程由EOShenzhen运营,喜欢我们请为我们投票(EOShenzhen的投票账号:eoshenzhenio)!
Life is a Cabaret... Or how to split and merge a blockchain
人生是一场歌剧表演......或者如何拆分或合并区块链
作者:Ian Grigg
翻译:Gavin
校对:Lochaiching
Imagine we have a perfect message and a perfect blockchain and a perfect musical?
想象一下,我们有一个完美的信息环境,一个完善的区块链和一个完美的音乐?
Imagine our perfect blockchain has entered into the entertainment business and we're casting Liza and Michael and Helmut and all for the 7pm session of that And then along comes Crypt-XO, noted lover of theatrics, and asks, how does a message-based blockchain fork?
想象一下,我们趋于完善的区块链已经进入到了娱乐行业,我们正在挑选Liza、Michael 和Helmut,以及所有娱乐行业的人都参加7点的晚会,然后Crypt-XO(一位著名的戏剧爱好者)问,一个基于消息的区块链是如何分叉的?
That made me wonder @iang _fc how is a message based blockchain hard forked? Differences?
Because that’s a good question - how does one do that? - I spent a day thinking about this. And I drew up a plan. Even more challenging and interesting, I drew up the notion of merging two chains that had forked.
因为这是一个很好的问题——如何做到这一点?我花了一天的时间思考这个问题。
我拟定了一个计划。更有挑战性和更有趣的是,我提出了合并两个已经分叉的链的概念。
I mean, really - if a chain can fork, it can merge, right? “It stands to reason…” It happens all the time in the theatre business, I saw it in the movie.
我的意思是,如果一个链可以分叉,那它就可以合并,对吧?“这是有道理的……”它在戏剧行业中时常发生着,在电影中也能看到它。
"The curtain is yours" says an injured Richard Burbage to an embattled Will Shakespeare.
So we know that theatres can merge. Splitting a currency is as easy as splitting a theatre it seems, as proven by those fine productions, Bitcoin on Broadway and Ethereum at the Albert Hall . Merging seems plausible, and while I was tussling with the precise meaning of how to merge a currency, it occurred to me that, no matter the song - "Money makes the world go round..." the world isn't just about money.
我们知道剧院可以合并,分裂一种货币就像分裂一座剧院一样容易,百老汇的比特币和Albert音乐厅的以太坊就是这样证明的。合并似乎是合理的,当我正在努力思考如何定义合并货币的确切的含义时,我突然想到歌曲中的——“金钱让世界运转”,世界不仅仅是关于金钱的。
In the theatre production of Cabaret , tickets were of course sold-out months earlier.Now that our blockchain has forked, and the tickets are available twice, how does that work?
在剧院演出的歌舞表演中,门票在几个月前就已经售罄。现在我们的区块链已经有了分叉,门票被购买两次,这该如何运作呢?
Do the seats fork as well? Do the actors sing and dance twice as fast?
座位也可以分叉吗?还是演员们尽可能快地唱两次歌和跳两次舞?
The world is also about companies. So what about a DAC? In this case, a Distributed Autonomous Corporation (or a DAO in the slightly unfortunate Ethereum lingo) has issued 100% of its ownership to its shareholders. On a fork, do the shareholders pick up 200% shares, 100% on the left chain and 100% on the right? Do the CEO and all the staff have to work twice as hard to pay twice the dividends? Do the staff get twice the salaries? What happens when the taxman turns up?
世界就像公司一样运作,那DAC呢?在这种情况下,一个分布式的自治公司(或者说是一个DAO,严格上不能算是以太坊术语)已经把它的全部所有权都交给了它的股东。在分叉上,股东们是否会获得200%的股份呢,100%在左链,100%在右边吗?CEO和所有员工是否必须努力完成两倍的工作量,才能支付两倍的股息吗?员工的薪水是两倍吗?当有税务员的时候又会发生什么呢?
Or grandma's house? When Mattereum has completed its fine legal work to get grandma's house onto the blockchain, and it forks, do we now have two houses? Two shares? Two grandmas? Do the grandmas have to let twice as many rooms, perhaps day rooms and night rooms?
或者这种情况出现在祖母的房子,会怎么样呢?当Mattereum完成了完整的法律流程把祖母的房子放在区块链上,接着分叉了,那我们现在有两套房子了吗?双倍股份?两个祖母?祖母们要让房子里有两倍的房间,或许说分成白天的房间和晚上的房间?
If truly, "money makes the world go around," does a fork make the world go round twice as fast? I can see one advantage to the Bitcoin and Ethereum notion of forks and that is if the central bank were to adopt blockchain - then it would have the option of forking to do massive quantitative easing. Think about the benefits! If the Fed had issued a One True FedCoin, then 2008 crisis would have been a snap – fork and ease. Two One True FedCoins is twice better, the economists will say it so!
如果这些能实现,“钱能让世界运转”,那分叉能让世界以两倍速度运转吗?我可以看到Bitcoin和Ethereum分叉概念的一个优势,那就是如果中央银行采用区块链,那么它就可以选择进行大规模的量化宽松政策。想想其中益处!如果美联储发行了一种One True FedCoin,那么2008年的金融危机将会是一个断裂-分叉-缓解的过程。
两种One True FedCoin将获得翻倍的利益,经济学家会这么说!
Or, if the EU is facing rebellion in the fringe states, then Grexit, Brexit, Prexit and be blessed! The Brits could have been quite happily dealing in Broyos while the Greeks would be spending up big on Greuyos.
或者,如果欧盟面临边缘国家的叛乱,希腊退欧、英国脱欧,那么Prexit就会受到祝福!希腊人在Greuyos大肆挥霍时,英国人可能会非常乐意在布Broyos做生意。
There's something for everyone in a fork. And that's the problem - it's a concept that only a charity or aid NGO or other mystics could find sane. Actual accountants, actual owners, actual people who actually count and account, in the mathematical meaning of the term, cannot deal with the notion that yesterday there was one, and today there are two.
分叉每个人都可以找到适合自己的东西,这就是问题所在——这是一个只有慈善机构或援助非政府组织,或其他神秘主义者才能找到理想的概念。 现实中的会计师、所有者和计算管理账户的人 ,在该术语严格的数学意义上,不能处理“昨天有一个,今天有两个”的概念。
Maybe, yes to twice the money, but NO to twice the obligations.
也许,是的,是两倍的钱,但不是两倍的义务。
Part of the deal with a contract is that the parties enter into a commitment that there is only one deal, one pile of cash, one trade. You can’t fork your partner’s intent, and therefore you can’t fork a contract. At least, and expect the contract to survive. It’s only in the extraordinary circumstances of the cryptocurrency code-as-contract can you fork, and that’s not a feature, it’s a bug. A chain that can fork, or achain that permits a contract to fork, is not doing contracts.
合同交易的部分是,双方承诺只有一张协议、一堆现金、一笔交易。 你不能分叉你合作伙伴的意图,因此你不能分叉合同,至少期望合约存在下来。 只有在加密货币代码的特殊情况下才能实现合约,而且这不是一个功能,而是一个漏洞。 可以分叉或者允许合约分叉的链不能称为合约。
So, all is not lost. In a messaging based blockchain such as EOS, it should be possible to write the contracts to handle a fork. Basically, although two forks can exist independently (and there is a scenario for that) the contract should act as one thing.both chains is likely conflicted. So it can simply freeze any key or account where a message is seen from both chains and entering the contract into a forking conflict.
所以,一切都不会消失。在基于消息传递的区块链(例如EOS)中,应该可以编写合约来处理分叉。基本上虽然两个分叉链可以独立存在(并且有这样的场景),合约应该是针对一件事。这两个链很可能存在冲突。因此,它可以简单地冻结从两个链中看到消息并将合约输入分叉冲突的任何密钥或帐户。
A requirement for this might be that a message has to indicate which chain it is referring to. I suspect this is possible by referring to a block header, something called TAPOS or Transaction As Proof Of Stake . Some thinking to do there, but basically this means that a software agent that is dealing with your account and your contracted value should be careful not to write messages referring to two separate, forked block headers because the contract is likely to interpret that as a fork and freeze out that agent entirely. Until a revoke message is received to undo one of the sides. Maybe.
对此的要求可能是消息必须指示它所引用的链。 我认为这是可能的,通过引用区块头文件,称为TAPOS或Transaction As Proof Of Stake。 有些人想这么做,但实际上这意味着处理你的帐户和你的合约定义值的软件代理应该十分小心地不要引用两个单独的分叉区块的头文件,因为合约很可能将其解释为分叉并完全冻结该代理。直到收到撤消消息撤消其中一方。 也许是这样的情况。
As I say, there is some thinking to be done there (does the above create an option?) but it does rather hint that we can handle a fork on a message-based chain with enough hard love.
正如我所说,有一些想法可以在那里完成(上面是否创建了一个选项?)但它确实暗示了我们可以用足够强硬的态度来处理基于消息的区块链上的分叉。
On a state-based chain, which is the flip side of Crypt-XO's question, that's much harder. In a UTXO-based system, the code is tied into the transactions, so each transaction is authoritative in and of itself and therefore it does not refer to the fork at all. With EOS at least this is solved by the message-based paradigm. (I'm unsure if Ethereum survives here because it is both message and state based, just to double up on the complexity and confusion).
在一个基于state的区块链中,这是Crypt-XO问题的另一面,这要困难得多。在基于UTXO的系统中,代码被绑定到交易中,因此每个交易本身都是权威的,因此它根本不需要引用分叉。至少对于EOS来说,这可以通过基于消息范式来解决。(我不确定以太坊是否能在这种情况下生存下去,因为它既是基于信息又是基于state的,这就增加复杂性和混乱度)。
Anyway. I'd just like to put a stake in the heart of the fork. The notion that a blockchain can just fork because we're all a bit different, and all the value forks too is death to business. It's like candy for kids, crack for weeders, push-button QE for governments, and frankly, it kills practically every smart contract. The fact that blockchains are running around doing the fork & doubling down on the money indicates nobody can run a smart contract on those chains and hope for it to handle value.
无论如何,我只是想把宝压在分叉的核心上。区块链可以因为我们都有分歧而分叉,但所有价值的分叉对商业意义来说都意味着死亡。这就像孩子们的糖果,除草机的破碎声,政府的开关按钮,说白了,它几乎扼杀了所有的智能合约。事实上,区块链正在进行分叉并使资金倍增,这表明没有人能够在这些链上运行一份智能合约,更别说让它处理数值。
And what's a smart contract if it isn't handling value? Heaven knows what would happen to all those token sales on Ethereum if it were to fork today. If that worries you, just remember, Liza had the last word on depression.
如果它不能处理数值,还能算得是智能合约吗? 谁都不知道如果它今天要分叉了,那么以太坊上的所有代币会怎么卖出去。 如果这同时也让你担心了,请关心一下Liza在抑郁前说的最后一句话:
"What good is sitting alone in your room?
Come hear the music play
Life is a Cabaret, old chum
Come to the Cabaret"
“独自坐在房间里有什么好处?”
来听音乐吧~
生活就像一场歌舞表演,老朋友
来看表演吧~”
本文图片来源于英文原文
了解更多关于EOShenzhen:
关于我们更多联系:
Website:https://eoshenzhen.io
Steem:https://steemit.com/@eoshenzhen
Busy:https://busy.org/@eoshenzhen
Telegram:https://t.me/eoshenzhen
Twitter:https://twitter.com/eostechlover
简书:EOS技术爱好者
新浪微博:EOSTechLover
EOShenzhen的投票账号:eoshenzhenio
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://steemit.com/eos/@iang/life-is-a-cabaret-or-how-to-split-and-merge-a-blockchain
Coins mentioned in post: