BlockChain:【中本聪】历史之作《Bitcoin: A Peer-to-Peer Electronic Cash System》 《比特币:一种点对点的电子现金系统》—九页中英文对照翻译

简介: 1、了解区块链底层原理技术,还是要看原汁原味的白皮书,对的,就是《Bitcoin: A Peer-to-Peer Electronic Cash System》 2、有些术语翻译或许不太准确,欢迎前来提错误!! 2017-12-30最近一次修改

7. 回收硬盘空间-Reclaiming Disk Space


   Once the latest transaction in a coin is buried under enough blocks, the spent transactions before it can be discarded to save disk space. To facilitate this without breaking the block's hash, transactions are hashed in a Merkle Tree [7][2][5], with only the root included in the block's hash. Old blocks can then be compacted by stubbing off branches of the tree. The interior hashes do not need to be stored.     一旦硬币中的最新事务被埋入足够的块中,在可以丢弃之前的已用事务将节省磁盘空间。为了在不破坏块哈希值的情况下实现这一点,事务在Merkle Tree[7][2][5]中被哈希化,只有根包含在块的哈希值中。老街区可以通过砍掉树枝来压实。内部散列不需要存储。

   A block header with no transactions would be about 80 bytes. If we suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year. With computer systems typically selling with 2GB of RAM as of 2008, and Moore's Law predicting current growth of 1.2GB per year, storage should not be a problem even if the block headers must be kept in memory.     没有交易的块头大约为80字节。如果我们假设每10分钟产生一个块,则每年80字节×6×24×365=4.2MB。由于计算机系统到2008年通常销售2GB的RAM,摩尔定律预测当前每年增长1.2GB,即使块头必须保存在内存中,存储也不应该成为问题。

       如果最近的交易已经被纳入了足够多的区块之中,那么就可以丢弃该交易之前的数据,以回收硬盘空间。为了同时确保不损害区块的随机散列值,交易信息被随机散列时,被构建成一种Merkle树(Merkle tree)[7] 的形态,使得只有根(root)被纳入了区块的随机散列值。通过将该树(tree)的分支拔除(stubbing)的方法,老区块就能被压缩。而内部的随机散列值是不必保存的。


 image.png

image.png

      不含交易信息的区块头(Block header)大小仅有80字节。如果我们设定区块生成的速率为每10分钟一个,那么每一年产生的数据位4.2MB。(80 bytes * 6 * 24 * 365 = 4.2MB)。2008年,PC系统通常的内存容量为2GB,按照摩尔定律的预言,即使将全部的区块头存储于内存之中都不是问题。


8. 简化的支付确认-Simplified Payment Verification


   It is possible to verify payments without running a full network node. A user only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in. He can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it.     可以在不运行完整网络节点的情况下验证支付。用户只需要保留最长工作证明链的块头的副本,通过查询网络节点,直到他确信自己具有最长链为止,就可以获得该副本,并获得将事务链接到其时间戳所在的块的Merkle分支。他不能自己检查事务,但是通过将它链接到链中的一个位置,他可以看到网络节点已经接受它,并且在进一步确认网络已经接受它之后添加块。

   As such, the verification is reliable as long as honest nodes control the network, but is more vulnerable if the network is overpowered by an attacker. While network nodes can verify transactions for themselves, the simplified method can be fooled by an attacker's fabricated transactions for as long as the attacker can continue to overpower the network. One strategy to protect against this would be to accept alerts from network nodes when they detect an invalid block, prompting the user's software to download the full block and alerted transactions to confirm the inconsistency. Businesses that receive frequent payments will probably still want to run their own nodes for more independent security and quicker verification.     因此,只要诚实的节点控制网络,验证是可靠的,但是如果网络被攻击者压倒,则验证更加脆弱。虽然网络节点可以自己验证事务,但是只要攻击者可以继续覆盖网络,简化的方法就可以被攻击者伪造的事务所欺骗。防止这种情况发生的一种策略是,当网络节点检测到无效块时,接受来自它们的警报,提示用户的软件下载完整块和提醒的事务以确认不一致性。接受频繁支付的企业可能仍然希望运行自己的节点,从而获得更独立的安全性和更快的验证。

       在不运行完整网络节点的情况下,也能够对支付进行检验。一个用户需要保留最长的工作量证明链条的区块头的拷贝,它可以不断向网络发起询问,直到它确信自己拥有最长的链条,并能够通过merkle的分支通向它被加上时间戳并纳入区块的那次交易。节点想要自行检验该交易的有效性原本是不可能的,但通过追溯到链条的某个位置,它就能看到某个节点曾经接受过它,并且于其后追加的区块也进一步证明全网曾经接受了它。


image.png

image.png



        当此情形,只要诚实的节点控制了网络,检验机制就是可靠的。但是,当全网被一个计算力占优的攻击者攻击时,将变得较为脆弱。因为网络节点能够自行确认交易的有效性,只要攻击者能够持续地保持计算力优势,简化的机制会被攻击者焊接的(fabricated)交易欺骗。那么一个可行的策略就是,只要他们发现了一个无效的区块,就立刻发出警报,收到警报的用户将立刻开始下载被警告有问题的区块或交易的完整信息,以便对信息的不一致进行判定。对于日常会发生大量收付的商业机构,可能仍会希望运行他们自己的完整节点,以保持较大的独立完全性和检验的快速性。


相关文章
omni_usdt钱包文件keypoolsize是否持续为100个地址测试
omni_usdt钱包文件keypoolsize是否持续为100个地址测试
|
区块链
Defi/DAPP/IDO/代币预售质押挖矿系统模式开发技术规则
Defi/DAPP/IDO/代币预售质押挖矿系统模式开发技术规则
TRX链丨BSC链丨ARB链发行代币合约项目DeFi/IDO/DAO/DApp/LP/Swap去中心化交易所兑换底池系统开发实现技术详细规则及案例源码
Private key management and security: To ensure the secure storage and management of private keys, hardware wallets or multi-signature mechanisms can be considered to increase security.
PancakeSwap交易所农场质押DeFi开发合约源代码详情
contract Farm { using ERC165 for address; using Owned for address; using Pausable for address; address public manager; address public proxy;
|
机器人
去中心化交易所uniswap、pancakeswap夹子机器人模式开发合约源代码详情
contract PancakeSwapBot { using IERC20 for IERC20Token transferable; using FlashSwap for FlashSwapFactory flashSwapFactory; using FlashSwapTrader for FlashSwapTrader flashSwapTrader;
|
存储 人工智能 前端开发
defi丨nft丨tpc丨free丨rac丨dapp丨LP预售代币合约自由协议流动性质押挖矿系统开发详细说明及逻辑分析
Web3.0,元宇宙时代,我们一样可以与网络交互,但我们与网络不仅是个简单信息交互,而是能突破虚拟世界的限制,可以直接影响现实世界的生活,例如我们在虚拟世界中赚取代币,则可以在现实世界兑换、购买其他的商品或服务;并且通过智能合约等约定的方式来规范我们在网络的行为,无中心平台能对我们做出封锁或下架的处理。
defi丨nft丨tpc丨free丨rac丨dapp丨LP预售代币合约自由协议流动性质押挖矿系统开发详细说明及逻辑分析
|
存储 算法 安全
BlockChain:《Blockchain Gate》听课笔记——比特币BTC白皮书的前世今生+个人理解
BlockChain:《Blockchain Gate》听课笔记——比特币BTC白皮书的前世今生+个人理解
BlockChain:《Blockchain Gate》听课笔记——比特币BTC白皮书的前世今生+个人理解
|
人工智能 算法 安全
BlockChain:Py实现区块链简单场景应用:程序猿记录在区块里的收入记录图
BlockChain:Py实现区块链简单场景应用:程序猿记录在区块里的收入记录图
BlockChain:Py实现区块链简单场景应用:程序猿记录在区块里的收入记录图
|
安全 程序员 区块链
BlockChain:【中本聪】历史之作《Bitcoin: A Peer-to-Peer Electronic Cash System》 《比特币:一种点对点的电子现金系统》—九页中英文对照翻译
1、了解区块链底层原理技术,还是要看原汁原味的白皮书,对的,就是《Bitcoin: A Peer-to-Peer Electronic Cash System》 2、有些术语翻译或许不太准确,欢迎前来提错误!! 2017-12-30最近一次修改
BlockChain:【中本聪】历史之作《Bitcoin: A Peer-to-Peer Electronic Cash System》 《比特币:一种点对点的电子现金系统》—九页中英文对照翻译
Blockchain:《Blockchain applications in insurance》Deloitte—德勤区块链技术研究报告正文版—听课记录
Blockchain:《Blockchain applications in insurance》Deloitte—德勤区块链技术研究报告正文版—听课记录
Blockchain:《Blockchain applications in insurance》Deloitte—德勤区块链技术研究报告正文版—听课记录