主页 > imtoken钱包下载安卓 > 比特币系统用例分析——续2
比特币系统用例分析——续2
比特币系统用例分析——续2
已阅读3150次2017-11-29 14:40|个人分类:智慧城市|系统分类:研究笔记|智慧城市、区块链、比特币
用例分析迁移
用例价值:允许比特币可靠地从买方转移到卖方。
用例启动:任何时候交易方需要将比特币转移到任何指定的其他方。
用例脚本:
买家选择转账目标卖家和转账比特币数量,确认转账。
该系统可靠地将比特币从买家转移到卖家。
在转帐的同时,系统会保留转帐记录(使用“会计”用例)。
买卖双方均可查询转账记录。
例外:
2.1 如果系统收到虚假的转账请求,系统将识别并阻止转账。
2.2 如果系统收到无法执行的转账请求,转账将被阻止。
用例实现要点:
系统需要确保每次传输都需要可靠地完成。
需要从正确的发送者转移到正确的接收者。
需要转移正确数量的比特币。
必须确保发送方有足够的比特币进行转账。
系统自动记录交易者的交易数据。
该系统不需要单独的中央服务器来实现转账和记录(银行模式)。
系统可识别无效转账(冒充他人向自己转账、转账金额超出余额等);
簿记
用例价值:不依赖任何中央服务器,完整、可靠、严格地记录所有交易数据。
用例启动的时间:在连续的一段时间内持续进行,通常每 10 分钟左右一次。
用例脚本
系统将所有交易记录广播给所有矿工。
矿工收集时间段内所有系统的交易记录。
矿工验证交易的有效性。
矿工执行“挖矿计算”(扩展“铸币”用例)以获得分类账。
矿工将交易记录到分类账中。
系统选择最快完成的账本,链接到全球统一的账本。
例外:
3.1 系统将报警并剔除无效的交易记录。
6.1 如果链接时产生分支,系统会自发选择一个唯一的主干来连接书籍。
用例实现要点:
交易的有效性验证包括交易过程中的业务规则和异常处理。 生成的账本记录必须不能被恶意篡改。 如果被篡改,应立即发现并自动丢弃以修复正确的账本。
会有很多矿工回溯,沿着手头的账本链来验证账本之间的联系。 如果中间有篡改,回溯失败,篡改马上被发现。 结合后面提到的奖励机制,矿工们为了让你的工作得到认可,你会毫不犹豫地放弃这些被篡改的链条。
因此,被篡改的账簿不仅不能立即被发现,而且根本“无法存活”。
产生记录交易的账本的权力不能被轻易垄断比特币系统,否则账本很容易被恶意操纵,失去可信赖的基础。 这也是系统无法通过单一或少数中心服务器实现转账记录的原因之一。
一个统一的账本不断地采用“账本链接”的方式,将“随着时间的推移,相继产生的账本”包含进来。这些账本是用来记录这段时间内产生的所有交易记录的。如何保证全网唯一(以单个账本链为准)?不仅需要账本之间的上下关联,还要求记录在全网的上下关联是唯一的。在系统的所有节点上比特币系统,虽然记录内容正确且相同,会造成后续记录链的分裂,使系统无法提供统一的验证依据),系统后续记录会自动进行唯一主链选择。
以上两点其实是根据谁产生的记录。 目前使用这样的机制来解决问题:
人为难以生成账簿记录,不能随便生成记录。
成功生成新账本的矿工获得奖励。 成功的条件不仅是账本能够最快生成,而且是在后续账本环节“增长”最快的链上,即最长的链上。 这两个条件是自我激励,会让矿工自动选择当前最长的链来生成后续的账本,从而保证自己的账本被认可有效并获得奖励。
对矿工的奖励就是给矿工发行新的货币。 这种设计巧妙地解决了相当于“真币难造假币”的问题。 为人为增加账簿难度找到了一个合理的价值主张。 因此,在“创建账户”的同时,也是在“铸币”。
如果有人想从恶意攻击中获利,攻击者需要垄断或操纵系统中足够数量的矿工,大量制造虚假交易,其成本将比制造假币的成本高N倍,使其成为不可能实施。
未完待续...