当前位置:首页 > 物联网 > 区块链
[导读] 这里我们讨论的是区块链。区块链上所定义的协议不仅是要交易数据而且还要交易数据的价值。目前的主要方式是在互联网出现之前发明的,它需要使用一个集中的票据交易所。机器有时需要等待四天才能将付款从一个地

这里我们讨论的是区块链。区块链上所定义的协议不仅是要交易数据而且还要交易数据的价值。目前的主要方式是在互联网出现之前发明的,它需要使用一个集中的票据交易所。机器有时需要等待四天才能将付款从一个地方转移到另一个地方,但在所有其他方面,机器之间的通信速度又是惊人的。比如他们可以互相发送小额支付。但必须要满足电力、存储空间和计算等资源的情况下才能立即进行交易。

比特币和其他加密货币作为价值转移的第五个协议层,其底层技术称为区块链。区块链首次允许机器同意价值转移而不必相信一个中央权力机构,在现实世界中如果我创建一个“我”,就只有我拥有它,但如果我创建了一个数字图像,那么在互联网上其他人就可以复制它,然后我们都拥有它,那么就没有办法证明其所有权。但区块链让我们以分散的方式达成共识层, 防止一个坏行为者谎称拥有所有权。

让我们用python构建我们自己的简单区块链,以更好地理解这个不可思议的数据结构是如何工作的。为了简单起见, 让我们定义一个块是什么, 假设每个块代表一个事务, 一个值在两台计算机之间传输。想要查看下面的代码并读取, 就必须使用索引在创建时显示区块链中表示其顺序的一组重要属性来定义其自己类中的块对象, 它将存储由发件人定义的一些数据以及两个数据哈希值,一个用于区块链中的上一个哈希值, 一个用于它自己的哈希值, 块需要哈希值的原因是因为哈希值提供了一个唯一的 id, 并且它有验证数据完整性的能力。

class Block():

def __init __(self,params):

self.index = params.index

self.previous_hash = params.previous_hash

self.timestamp = params.TImestamp

self.data = params.data

self.hash = self.calc_hash()

我们使用流行的加密哈希算法sha-256来帮助从哈希函数中的每个块生成256位签名。为此,您必须导入hashlib。

def calc_hash(self):

return hashlib.sha256(str(self.params())。encode())。hexdigest()

块是如何生成的?

用户提供了一些数据在他们的事务中,所以我们可以使用它作为唯一的参数生成函数,因为我们必须获取最后一块才能完成工作。我们将使用最后一块帮助寻找这一块指数以及哈希值,我们还将给它一个时间戳。因此,每个生成的块都通过存储其的哈希值来指向前一个块。

def generate_next_block(self,data):

index = len(self.blockchain_store)

previous_hash = self.latest_block()。hash

TImestamp = int(TIme.TIme())

params = block_params.BlockParams(index,previous_hash,timestamp,data)

new_block = block.Block(params)

self.blockchain_store.append(new_block)

它是一个叫做区块链的块

第一个生成的块称为genesis块,我们将在预定义的属性中硬编码到它自己的函数中

def genesis_block(cls):

params = block_params.BlockParams.genesis_params()

return cls(params)

我们将使用它初始化区块链,并将其存储为内存列表

def __init __(self):

self.blockchain_store = self.fetch_blockchain()

def latest_block(self):

return self.blockchain_store [-1]

def fetch_blockchain(self):

return [block.Block.genesis_block()]

记住我这里所说的块哈希值既可以作为它的标识,也可以验证它的完整性。我们可以使用哈希值来判断一个新生成的块,并在给定一个新块和上一个块的联系下查看是否有效,上一个块也就是链中的最后一个块。我们可以先查看正确的排序指数,我们可以检查以前的哈希值属性,并将其匹配到已经验证了过得前一个快,最后我们将计新块的哈希值,确保其准确无误。

def receive_new_block(self, new_block):

previous_block = self.latest_block()

if not new_block.has_valid_index(previous_block):

print(‘invalid index’)

return

if not new_block.has_valid_previous_hash(previous_block):

print(‘invalid previous hash’)

return

if not new_block.has_valid_hash():

print(‘invalid hash’)

return

self.blockchain_store.append(new_block)

假设所有节点都存储了区块链的一个副本,我们需要一种方法来选择在发生冲突时使用哪个区块链。假设2个节点生成相同的块数,那么我们的解决方案是选择具有最长块数的链,因为它的存在时间更长因此它更有可能是真实的区块链。

def replace_chain(self,block:self.blockchain_store):

if self.is_valid_chain(blocks)和len(blocks)》 self.length:

self.blockchain_store = blocks

else:

self.log(“Recieved blockchain invalid”)

给出一个新的区块链之后:我们将检查如果是有效的编程方式,是不是就意味着它有用一个新块的替换我们之前的块,因为每个节点存储一个区块链的副本, 并且块不断生成事务, 这样每个节点就可以进行广播, 每当它生成一个新的块时, 它就会连接到一个新的节点,它可以将块添加到其当前链或整个区块链中, 因此我们可以以封装节点的方式, 以便用户可以查询其他节点创建一个 http 服务器。

因此,用户将通过HTTP请求控制节点,它将通过对WebSockets与其他节点通信。这就是简单的区块链我们要讨论的一个关键特性是工作证明算法。

比特币挖掘节点完成了一系列非常昂贵的计算, 以批准每笔交易, 并获得比特币的计算工作, 以便生成一个新块。但是生成新块的前提必须是突破51%的攻击,这才证明这个新的块是有效的, 可以添加到区块链中, 因此一个坏的行为者必须有更多的计算能力, 而不是一半的比特币网络。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

物联网设备数量呈指数级增长,其身份认证安全与区块链智能合约的可靠性成为制约行业发展的关键瓶颈。本文将从区块链物联网身份认证的底层原理出发,结合Hyperledger Fabric智能合约漏洞扫描与性能基准测试技术,系统阐...

关键字: 区块链 物联网 身份认证

在万物互联的M2M(机器对机器)通信时代,设备间的安全交互成为核心挑战。传统中心化认证体系因单点故障、数据泄露风险及高运维成本,难以满足物联网设备指数级增长的安全需求。区块链技术凭借去中心化、不可篡改和智能合约自动执行等...

关键字: 区块链 M2M

据报道,全球前三大比特币和加密货币矿机制造商比特大陆、嘉楠耘智和比特微电子为规避美国关税政策影响,都计划在美国设立制造工厂并建立供应链。

关键字: 加密货币 比特币

当前电力行业正经历着前所未有的变革。新型电力系统的建设加速推进,分布式新能源、电动汽车、储能设备等新型电力元素大规模接入,使得电力系统的供需互动更加复杂。与此同时,区块链技术凭借其去中心化、不可篡改、可追溯等特性,在金融...

关键字: 电力鸿蒙 区块链

香港2025年4月13日 /美通社/ -- 香港应用科技研究院 (应科院) 于第50届“日内瓦国际发明展”中成绩斐然,荣获16个奖项,其中包括1项评审团嘉许金奖、4项“金奖”、7项“银奖”及4项铜奖。今届获奖项目涵盖人工...

关键字: 人工智能 感测器 区块链 模型

在马来西亚获得政府间(G2G独特 认可的人工智能实验室将汇聚全球领先区块链、人工智能及机器人企业的合作 马来西亚吉隆坡2025年4月11日 /美通社/ -- 马来...

关键字: 人工智能 智能实验室 区块链 身份验证

在数字化时代,物联网(IoT)和区块链技术都备受关注,前者将无数设备连接成庞大网络,后者则以去中心化、不可篡改等特性重塑信任机制。当这两者相遇,碰撞出了创新的火花,区块链技术在物联网领域展现出巨大的应用潜力,为物联网的发...

关键字: 物联网 区块链 数字化

对于奢侈品牌,假冒伪劣产品和恶意灰色市场交易是一个长期存在的挑战。事实上,如今假冒市场被视为全球最大的非法贸易领域。经合组织(OECD)估计,2019 年其规模约为 4640 亿美元,占世界贸易总额的 2.5%,显然,对...

关键字: NFC防伪技术 半导体 区块链

区块链科普系列活动(一) 北京2024年12月24日 /美通社/ -- 在这个日新月异的科技时代,区块链与先进计算正以前所未有的速度推动着各行各业的变革。为了助力区块链及先进计算领域的创业者、从业人员把握时代脉搏,引领...

关键字: 区块链 亚马逊 数字化 AWS
关闭