观点 | JPM Coin 三部曲 (上) - 深入理解摩根币的运作

跨行转账的第一个图有些问题。里面各账户的资产加起来总额和之前有了变化,一定不对。

这个问题在https://www.cnblogs.com/timlong/p/4871737.html 里面其实有解释过一部分,脑补后很可能是这样的:

Bank A 的账本开始时候是这样记录的:
Alice $1000
Bank_B $10000

Bank B的账本开始时候是这样记录的:
Bob $1000
Bank_A $10000

这种模式下,Alice向Bob转账$10 的经济含义可以这样理解:
[A---$10---->Bank B] - - - $10 的欠条- - - > [Bank A ---$10--> Bob]

Bank A 的账本现在是这样记录的:
Alice $9990
Bank_B $10010

Bank_B 欠Bank_A $10的债务

Bank B的账本现在是这样记录的:
Bob $1010
Bank_A $9990

Bank_A 对Bank_B $10的债权

如果稍后BANK B的Carol客户给BANK A的Denny客户转账9元,则两个银行互相之间的欠债可以抵消(轧差)。

到年底的时候两个银行只需要实际交割净欠债就是了。

汇总国内社区对于 DAO 问题的意见,传达给以太坊基金会

我支持软分叉,不支持硬分叉

理由:

软分叉可以避免未来转向POS后整个以太坊于危险境地,从保护参与者未来利益角度,利用软分叉让参与者通过集体表决维护自己的利益,是符合去中心化理想的。去中心化 <> 不依靠人的干预,只是说没有任何一个强势机构可以主导的多元化世界。

硬分叉可能带来极大的道德风险。以太坊不可能陷入无休止的硬分叉中去。宁可销毁这些以太也不能坏了规矩

背景:
不拥有以太 和 DAO

谈谈你对分叉的观点

如果是为了防止抛售以太,那可以理解为一种救市。 另外如果进一步要挽救 THE DAO,那也是救市。

代码漏洞、非法攻击, 要这样说就需要有一个标准。如果 CODE IS LAW, 那么只能是利用合法手段达成了通常想不到的目的。但 BY IT SELF, THE CODE CAN NOT JUDGE WHETHER IT IS LEGAL OR ILLEGAL。

在我们人看来可以因为其太脱离我们的预期行为而宣称这个是漏洞,非法攻击。但我今天拿起 THE DAO 的 WHITEPAPER 看的时候,发现好几处很不严谨的地方。我们是准备拿这样一份显得草率的标准去判定代码不合原意,还是准备拿代码为标准去判断标准写得不对?【说实在的看到这份白皮书,出这样的事情就不是没原因的了。粗糙。毛糙】

不是说不要干预。这次至少以太在相关人(不敢说目前这个列表是完整的,只能说是有影响力,有实际执行力的那些人,而不是普通的以太持有者)的合作下可以完成一些事情。但这样做的边界在哪里? 如果哪天这些人集合起来决定封杀某人,如我 这样的, 对我账上以太的全部转账行为, 可以做成一个 SOFT FORK 的, 为什么就不是OK的?谁来判断这样OK?

道德、意图,这些就完全不是代码能控制的了。倒退还是回到现实?不好说。去年有人宣称STOCK 大跌是冲着红旗来的,要拉抬,要修改期货规则,要熔断,裁判亲自修改比赛规则,造成的影响就很坏。而且一旦这样做,标准就模糊了

当然,这里大家都达成共识的是:THE DAO的发起人,投资人,程序员们要付出代价,这个是必须的。

谈谈你对分叉的观点

反对救市。中心化体系一直在干预市场在救市,结果形成了道德风险,不应该被鼓励。

说实在的软分叉防止抛售以太币的决定虽然可以理解,但什么时候可以启用社区投票机制什么时候不可以,却缺乏标准。会不会因此形成新的 CENSORSHIP?

双层智能合约的讨论

公认的不仅仅是格式正确,整个二进制的表述,不同节点吐出的MSG 的BYTE BY BYTE 的数据是一样的。

不过刚才想到一个问题确实是, APP NODES 的数量是小于小于 数据共识区块链的节点的, 有的节点不是特定 APP的节点,数据共识会有些难做

双层智能合约的讨论

@jan 我想过外部表达和内部状态可能的不一致。但如果从接口的角度看问题,对这个APP 的用法,包括查询,都是体现在接口上的。你只要查询都是通过MSG, 这种情况下只要你得到了大家公认的 REPLY, REPLY 里面的东西在各节点内部是咋出来的,你为何还需要关心呢? 关键是 你应继续原来的方向:通过接口获取知识 而 不是通过查看内部状态变量获取知识。 类似陪审团, 每个人作出的决策的原因我们不关心,只要大部分人判决 有罪 或者 无罪, 就OK了

双层智能合约的讨论

@jan 相互认可计算结果的方法有两种:一个是把每个应用的STATE 直接由区块链来维护,并且通过STATE ROOT来标识, 另一种是把应用的 STATE 由外部APP来维护,不同 APP 彼此通过接口来通信, 区块链上只保存 APP 之间的通信消息。 应用的REPLY 因为会出现在BLOCKCHAIN上, 通过 REPLY 的共识来间接地 确保 APP STATE 的一致性, 是否也可以一方面确保 SYNERGY 一方面不要求 区块链直接跑 SMART CONTRACT

双层: BC 只保存这些通信消息 不保持应用内部状态 单层:通信+INTERNAL STATE 都在 BC 上

Slock 项目为什么要用区块链技术?

好奇锁的口令是如何给到用户的,回头去看看项目白皮书

锁应可以知道谁(公钥)是合法用户,那么只要有个设备里面有公钥私钥,能够和锁直接 TALK 表明身份就可以开锁了,这样似乎更合理

IPDB

看了看 没技术白皮书啊

Grove - index for contract data

很奇怪为什么使用者合约不自己建立索引呢? GROVE 提供了各种索引类型的数据结构实现吗?听上去很有意思