热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【通俗理解】区块链

各位童鞋,好久不见~今天开工大吉,先给大家讲个相亲的故事:女孩:你有车吗?男孩摇头。女孩:你有房吗?男孩摇头。“什么都没有也好意思来相亲”

各位童鞋,好久不见~

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


今天开工大吉,先给大家讲个相亲的故事:

女孩:你有车吗?

男孩摇头。

女孩:你有房吗?

男孩摇头。

“什么都没有也好意思来相亲”,女孩很失望,转身欲离开。

“等等”,男孩从口袋中掏出了一个硬盘,“我有1000个比特币”

女孩又娇羞的坐下来:“讨厌,你怎么不早说~”


640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


最近小编一直在忙于研究区(wa)块(xu)链(ni)技(huo)术(bi),在开始展示我的研究成果之前,我先给大家扫盲一下,什么叫做区块链。


区块链其实是两个东西:一个是区块,一个是链。说玄虚一点,就是一链子的区块。


因为它是存在于计算机中的东西,所以我们可以厘定它的一个物理形态是啥样子的,就是数字信息被分成一个一个区块然后把这些区块链接起来。


举个例子,下图中的方块,每一个都表示一个国家,而且每一个都包含了对应国家的城市名称。

640?wx_fmt=png

等等,其实还有更多东西来着。这里的每一个方块都是一个叫做哈希的东西。一个哈希就是一串字符 (比如 “1hi515AHA5H” )。


哈希是根据方块里面所包含的信息来得到的。U.S.A 的方块拥有 New York, Los Angeles,还有 Chicago 这几个城市,所以它的哈希就是像 “NYLAC” 的东西了 (技术上其实远非如此,但你理会精要就行了)。

640?wx_fmt=png

每一个接续的方块都会包含前一个方块的哈希,所以这个就是(强制性的)将它们绑到一起的纽带。


如果有人擅自篡改了第一个方块,加入了城市 Boston,那么新的哈希就会是 “NYLACB”。


然而后面接续的 India 这个方块已经存着的哈希还是 “NYLAC”,这种不匹配就会把链条打断。所以哈希的目的就是确保没有人可以篡改区块。


那如果有人修改了一个方块的内容,然后把后面的接续方块的哈希也一并更新会如何呢? 


这也是有可能的,不过有一件事情我还没有告诉你。区块链的数据并不只是存在于仅仅一台计算机里面。一台计算机里面的区块链数据并不能骗到人,因为它会被复制到网络中每一个用户的计算机里面去。


如果你加入了一个区块链网络,那么你的计算机就会去下载这些区块数据,如果有人篡改了他拥有的版本,整个网络也会考虑占多数的人的计算机上所拥有的版本才是正确的。(这就是为什么你在挖矿之前,要下载一个很大很大的数据文件,嘘~)


总结一下,区块链技术本质上是提供了一个分布式账本(去中心化)。用技术保证没人可以篡改交易记录(除非有人能联合全网51%的算力)。为了鼓励大家记账,对成功记账(区块被认可)的机器有一定的虚拟币奖励。所以每个记账的机器就叫做矿工,挖矿过程就是求满足条件的哈希值来实现成功记账,得到的奖励就是对应的虚拟币。


比特币是区块链技术最知名的产品了。可是随着各种ASIC矿机的出现,家庭电脑已经没有可能挖出来币了。所以比特币被矿场大佬把持,寡头化了,有悖于去中心化的设计初衷。第二代明星产品以太坊吸取了这个教训。其挖矿算法对计算能力要求不高,对内存读写速度要求高。这样如果用ASIC来实现,需要开辟一大块芯片面积做存储,使得性价比不高。


不说这些虚的了,来实战吧!前面已经说了,比特币挖不出来了,我们来挖以太币吧!

640?wx_fmt=png


  现在要挖以太币,如果要用NVIDIA的芯片,必须1050Ti以上的显卡,显存不能少于3G(随着DAG文件的增大,明年3G的显卡也挖不了啦)。Windows下a很简单,装好驱动,下载个挖矿软件就好了。想超频也容易,用微星的afterburner设置。


但是window的挖矿软件容易被人抽水。就是软件开发者,每隔几个小时就把你的算力切换到他自己的钱包上,相当于收取了软件使用费。这个是不能忍受的,我们来用Linux挖矿吧!开源的软件,没有抽水。


组装好电脑后,首先去装上显卡驱动。成功后reboot发现,下面命令的configuration一行的driver=nvidia了,表明驱动安装成功。

640?wx_fmt=png


然后可以查看你的显卡信息。比如我这块显卡是Nvidia的1060,6G。去年双十一时1999,现在3099。是不是比你工资涨得快多了?


还可以看到,我的挖矿程序ethminer占用了2.5G的显存。随着DAG文件增大,明年中期预计DAG文件超过3G,那时3G的显卡就挖不到了。大批矿场需要对显卡进行更新换代,二手市场上3G显卡矿难般下跌。聪明的你是否看出来一点商机?

640?wx_fmt=png


现在就可以挖矿了,在github上下载ethminer即可。网速不好的可以通过设置proxy来提高性能。当然最重要的是对显卡进行超频,超频后大概有30%的提升。


通过设置coolbit,重启后发现显卡驱动程序中的超频被打开(Editable Performance Levels)。就可以通过bash或显卡驱动的图形界面程序进行超频了。

640?wx_fmt=png


这里有一个很大的坑。就是如果你用集成显卡时,每次重启Xorg.conf文件将被重置,没法打开超频。


开挖后,proxy窗口显示如下。可以看到我这边网络非常差,435ms延时。算力在19--20之间。

640?wx_fmt=png

ethminer的终端窗口显示如下。我的显卡在孜孜不倦地工作……

640?wx_fmt=png


不忘初心 方得始终,这篇文章就当一个插曲吧,如果喜欢可以留言,我们可以介绍更多区块链(wa kuang)的技术。


往期回顾:

外卖机器人诞生!快递小哥会失业吗?

刚刚,有位大神用AI搞定了多位女神

你敢@微信官方,不怕它真送你一顶绿色圣诞帽?

别人都在晒18岁照片,而我却在学习~

今日头条败给了色情?AI算法不行,还是另有隐情?

【机器学习】python凭什么能被纳入教材

【机器学习】朴素贝叶斯算法分析

【机器学习】主成分(PCA)算法分析

【机器学习】非线性回归算法分析

【机器学习】线性回归算法分析

  读AlphaZero论文随想

 进击的TensorFlow

 【通俗理解】协方差

【通俗理解】贝叶斯统计

 从一个双控开关思考神经网络(下)

 从一个双控开关思考神经网络(上)


640?wx_fmt=jpeg



推荐阅读
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 微软小娜企业版发布新版本,提供构建自定义技能的套件
    微软将向企业级市场发布微软小娜企业版的新版本,该版本提供了构建自定义技能的套件,使企业员工可以更方便地使用数字助理。目前该套件仍处于内测期间,只有部分企业可以获得,其他有兴趣的企业需要继续等待。新版本的套件可以帮助员工构建各种自定义技能,如检查休假余额、创建服务凭证等。微软通过让多个开发人员编辑和管理机器人通道注册配置来改善开发者的体验,团队可以自行访问和更改技能注册,满足企业实际需求。微软小娜企业版已经在各个行业得到采用,能够帮助员工专注于优先事项,将非优先处理的任务交给微软小娜处理。 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • 华为鸿蒙系统官网2.0报名方法及适用设备
    本文介绍了华为鸿蒙系统官网2.0报名的适用设备、报名方法以及三种方式,包括在应用商店下载开发者联盟app、在官网中进行报名、在微信公众号中申请体验HarmonyOS 2.0 手机开发者Beta版本。同时提醒错过测试机会的用户可以等待后续的正式版发布。 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
author-avatar
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有