Skip to content

学习Python时,参考国外大神的Python区块链实现

License

Notifications You must be signed in to change notification settings

qai41/blockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blockchain简介

 学习Python时,参考国外大神的Python区块链实现

  1. 什么是区块链 区块链是很多区块链接起来,组成的一个“链条”,区块链上的每个区块都有相同的数据结构,并通过算法保证每个区块的数据不可或者难于被修改,所以他对用户来说是比较可信的。区块链主要解决的问题也是信任问题(以当前的理解是这样的,可能还有其他主要解决问题)

  2. 那区块是什么样的?

  block = {
    'index': 1, //每个区块在区块链上的索引,你可以把他看做mysql的主键id
    'timestamp': 1506057125.900785, //事件产生时的时间戳
    'transactions': [ //这一整块是事件的具体内容
        {
            'sender': "8527147fe1f5426f9dd545de4b27ee00", //事件发起者或者发送者标识
            'recipient': "a77f5cdfa2934df3954a5c7c7da5df1f", //事件接受者标识
            'amount': 5, //涉及金额或者数额
        }
    ],
    'proof': 324984774000, //证据
    'previous_hash': "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824" //前一个事件数据的hash值
}
  1. 区块链怎样保证数据不可修改?

block.previous_hash 区块中的这个数据是用来存贮前一个事件数据的hash值,如果前一个区块数据被修改,那么这个值就会发生变化,进而这个值对应的区块的值也会变化,那么他对应的下一个区块的值也需要发生变化....... 从而引起此区块以后所有的区块都发生变化,不然就不能相互对应。这样就提高了修改成本,修改的时候也会去校验后一个区块的previou_hash是否正确

About

学习Python时,参考国外大神的Python区块链实现

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages