• 智能合约
    区块链在未来人力资源中的作用 在过去的12个月里,区块链在日常对话中的存在感越来越强,各行业的使用案例越来越多,新的加密货币也在不断涌现--其估值有点不可预测。但是,区块链到底是什么,它将如何影响人力资源的世界? 什么是区块链? 作为一个概念,区块链是一个在计算机网络中共享的去中心化数据库,所有的计算机都必须在执行和记录之前批准一项交换或交易。这意味着交易记录有多个副本,可在云中使用,以验证交易和物品的所有权。该项目可以是一个比特币,也可以是任何其他项目或存储在区块链中的数据集。这里的一个强大的概念是所有权的证明,区块链中的条目不再由中央机构(银行或登记处)持有,而是供所有人使用。在其极端情况下,这在理论上消除了对中央所有权登记处和清算所的需求,但这可能是一个遥远的未来。 这在人力资源方面有何作用? 虽然区块链的技术应用可能难以理解,但从本质上讲,它有可能允许信息或资产在双方之间安全转移,而不需要中间人。由于数据或资产在通过网络时已被批准,它可以被信任为真实的。 从人力资源的角度来看,这意味着员工信息(个人信息和财务信息,如工资单、养老金详情、员工历史或认证等)可以存储在区块链中,真正由个人拥有,而不是存储在组织的人力资源和工资系统中。这意味着数据可以与个人一起旅行,个人可以决定授予谁来访问它。在个人允许的情况下,数据可以随时被访问,而不是依赖对第三方的访问请求。 区块链在人力资源方面有哪些用例? 转移真实数据的能力在未来的人力资源和工作技术中具有重要的用例。这一点正得到越来越多的认可,包括投资者,因为Gartner发布的研究表明,预计到2030年区块链将产生高达3.1万亿美元的商业价值。 区块链在人力资源领域的潜在案例包括: 背景筛选。 目前,这个过程在一个人加入一个组织时都要重复进行,导致人力资源团队的手工流程。完成一个新员工的背景调查可能需要几天到几周的时间,这对处于高增长期的组织来说,会减慢招聘时间,也会占用人力资源团队的时间。区块链可以让这些数据只被记录和验证一次,但随后可以直接提供给每个新角色的雇主。这些数据将与雇员一起旅行,而不是被保存在每个雇主那里。 工资单。 这是一个具有巨大风险的敏感领域,区块链可以允许直接付款,而不需要银行或组织与雇员之间的中介。这种转变对组织和雇员来说,将是一种思维方式的巨大变化。你的账户不是由中央银行持有,而是位于区块链上,你的账户可以持有不同的货币或支付工具,如各种加密货币。然后,雇主可以选择以普通货币、加密货币或其他工具(如NFT)支付。这给了灵活的福利概念和全新的考虑维度。 与临时工的智能合同。 目前,承包商和那些有临时合同的人通常是按照开票窗口的时间间隔进行支付。对于工人来说,逐项列出他们的工作,以及薪资团队核实和签收,都是一项费力的工作。区块链可以在这个领域提供更大的灵活性。可以在非受薪工人之间建立智能合约,以便在完成商定的任务、项目和任务时即时付款。雇员的资料可以与智能合约相关联,并存储在区块链中,除了付款之外,还可以更迅速地进行背景调查、入职和认证合规。这不仅会给工人带来稳定的经济收入,还能确保企业的项目连续性。 雇员的个人数据。 在员工在一个组织工作的过程中,大量的个人数据由人力资源团队管理。从EX的角度来看,这可能意味着一个看似简单的人力资源请求可能需要反复输入 "基本信息"。通过使用区块链,数据可以与雇员一起旅行,并被安全和准确地共享,而不需要在雇员每次转移雇主时重新输入数据。这方面正在发展的一个例子是Workday的证书技术。这将允许员工在转换角色时将他们的证书从一个雇主带到另一个雇主。这将包括他们的技能、经验和证书的细节,这将证明在需要监管和最新的专业资格的角色中是强大的。 这些进步将如何影响人力资源团队? 作为人力资源团队,我们正在从被认为是 "后台 "服务的角度出发,将自己重塑为组织中更具战略性的角色,支持商业决策并最大限度地提高劳动力绩效。在我们最新的白皮书《人力资源共享服务的未来--成为人员体验和解决方案专家》中分析了这种观念的转变。区块链和其他工作场所技术的进步继续推动人力资源部门的转型和发展轨迹,以支持和实现业务战略,并从行政职能转变。 通常有一种看法,认为区块链等技术将使人力资源 "非人性化"。反过来说,它可能是一个强大的推动者,可以消除行政活动,改善个人数据所有权和转移。人力资源团队将在可以精简的任务上节省时间,增加他们在增长领域的工作能力,如福利、发展和参与。
    智能合约
    2021年12月01日
  • 智能合约
    再论:区块链如何改变人力资源行业? 在过去的几年中,区块链已成为非常流行的概念,并已得到许多行业的认可。众所周知,它是比特币和其他此类加密货币交易的关键技术,但除此之外,它还具有许多其他应用程序和潜在用途,包括改变人力资源行业面貌的潜力。 换句话说,区块链具有改变公司雇用临时工方式的潜在能力。很快,雇用这些可靠的临时工变得更快,更有效且更容易。 但是首先,区块链到底是什么? 它是一个分布式分类帐网络,其中信息以批量或“块”形式存储。这些按时间顺序在“链”(因此称为“区块链”)中连接在一起。块中的详细信息不能删除或修改;相反,修改将全部存储在新块中。 区块链的复制可在计算机网络中使用,计算机将在存储在链中之前验证每个块中的详细信息。这样可以防止篡改。区块链可以是私有的也可以是公共的,也可以是混合的。 这些特征表明,存储在区块链上的信息是透明,安全和可信赖的,那么它如何帮助提高工作场所的效率和效率呢? 1.快速雇用可靠的临时工 受信任的工作经历-  临时员工是各种现代公司的关键组成部分,只要采购全职员工,大多数时间都不会找到高效,可靠的临时员工。如果候选人能够将其凭据放置在区块链网络上,则人员配备机构或人力资源团队可以更轻松地快速找到并验证合格的临时工人。 雇主将发布更新和职位,而大学将上传证书和学位。诸如背景警察检查之类的额外信息也可以上传到区块链上。因此,这些记录将易于为人员配备机构使用。 招聘人员无需花费资源和时间打电话给前任经理来验证信息,因为区块链上的信息已经在源头得到了验证。虽然,请务必记住,该系统需要基于选择加入。不舒服的将自己的详细信息放在区块链上的候选人将需要受到保护。 一些初创公司已经开始开发此类工具,以雇用中介机构实施区块链。Ascribe和Recruit Technologies已集成在一起,在区块链上为候选人创建了简历认证服务,该服务将对官方的简历和证书进行数字验证。 但是,所有雇主和大学都不会立即采用区块链技术是毫无价值的。人力资源专业人士仍然需要验证候选人的历史记录,并将区块链验证作为流程的一部分。区块链将仅为传统形式的背景验证提供支持,并将被证明是对它们的强大工具。 数字身份证-  当人们使用互联网时,他们会在其背后留下一连串的信息。佩戴智能手表来跟踪您的运动,下载和使用aapp或流式传输您喜欢的节目可以在任何地方留下数字足迹。如今,许多常见项目(包括您的汽车和冰箱)也可能以一种或另一种方式连接到Internet。 这些数据记录了我们的习惯,喜恶,技能和兴趣。将这些详细信息放在区块链上,可以提供比面试或求职信所揭示的更多详细信息,从而创造求职者招聘潜力的“数字档案”。同样,这不会消除人力资源的工作,但会有所帮助 2.更轻松,更有效的工资支付 如果您碰巧有国际候选人,那么您必须意识到,海外薪资支付效率低下,最重要的是昂贵。国际银行转帐需要很长时间才能完成。另外,它们会产生银行费用,您可能会遇到货币兑换的波动,这都可能给雇主和雇员带来麻烦。 另一方面,通过区块链进行的支付转账可以使国际薪资更容易,更高效。通过与全球各地的银行和金融机构合作,Bitwage将资金转换为比特币,然后可以用当地货币支付。付款速度更快,所需的交易费用也很少,仅约1%,而银行转帐的平均费用为8%。此外,由于工资单是通过比特币转移的,因此可以对其进行跟踪,因此您会知道工作人员已收到其工资。 性别薪酬差距 皮尤研究中心(Pew Research Center)研究了美国全职和兼职工人的平均小时收入,发现2017年,女性收入比男性低18%。同年,全球女性平均工资为12,000美元,男性为2​​1,000美元。 区块链可以通过提高工作绩效和薪水的透明度来改善这一巨大的薪酬差距。随着工作场所实施连接设备的更多,他们将可以获得更多信息,以帮助跟踪员工的绩效。然后,雇主可以跟踪工作时间,项目进度以及安排和参加的会议。这将使确定具有绩效的工资单变得更加容易。 此外,如果将工资和奖金上传到开放式区块链上,它们将是透明的。 3.帮助雇主外包任务 初创企业暗示使用比特币进行外包工作的可能性。例如,Earn.com允许人们通过完成任务并回复电子邮件来赚取加密货币。在平台上创建配置文件后,用户可以匹配他们的技能和兴趣。根据这些细节,他们开始从平台接收“微任务”,例如进行招聘人员的调查,例如初创企业愿意花多少钱以及他们需要多少参与者。 为了进一步完善该想法,工作场所可以使用区块链网络来跟踪所采购的工作,并具有所有已完成任务的经过验证的记录。这将提高雇主和雇员之间的透明度和信任。这些初创企业中的大多数即使在现在仍处于构建和扩展其产品的早期阶段,采用和应用区块链仍处于早期阶段。但是,我们很高兴为自己的业务尝试这些新技术,因为它们随处可见。绝对不会在一夜之间发生,但是区块链显然具有革新人力资源和人员配置行业的潜力。   以上由AI翻译完成,仅供参考 作者:来源网络
    智能合约
    2019年12月02日
  • 智能合约
    8种方式区块链将影响人力资源 由Norberts Erts撰写 人力资源中对区块链的需求正在增长,我们在此告诉您原因。查看以下8种区块链将影响人力资源职能的方法。   虽然区块链与比特币和其他加密货币广泛相关,但区块链技术将彻底改变人力资源和招聘职能在业务中的运作方式。 Blockchain是一个分散的分布式数据库,正在全球范围内由多个行业的众多公司进行试验和实施。不再局限于加密货币,区块链的能力可以扩展到物流,时尚,医疗保健乃至人道主义事业等领域,我们可以看到ID2020数字身份计划,旨在为难民提供全球身份识别解决方案。 目前,我们看到Hays和NRG等公司正处于跳跃区块链潮流的初级阶段,不久之后人力资源和招聘流程可能会更加精简这项技术。 “区块链对金融行业的影响是众所周知的,但在工作领域使用该技术的潜力巨大,很快将改变人力资源和招聘,”海斯在新加坡的业务总监Grant Torrens说。 那么区块链将如何影响人力资源职能呢? 1.    招聘 招聘在人力资源部门内占用了大量的时间和资源,以至于组织转向第三方机构或招聘人员要求时间。但由于这些方法通常收取高额费用,因此可能适得其反。 由于在招聘阶段通常采购的大多数候选人信息已经可以在区块链中查看,因此已经有大量的流程已经简化。简历将成为过去,查看成绩,证书,工作经历和经验将很容易被直接参与的人员验证和查看。 “我们招聘不同类型的工人存在问题。这些包括偏见和偏见,缺乏可用工作人员的可见性,对集中式社交网络的低信任度,垃圾邮件以及对中介机构的高额费用。我们现在有机会建立下一代工作平台,这些平台由人工智能,移动和区块链等技术支持,这是比特币背后的基础技术。“Andrew Spence,Glass Bead Consulting的人力资源转型总监 随着区块链创建了消除许多第三方和后台招聘元素的选项,区块链可能会导致招聘人员变得多余。 2.    验证 CompTIA发现,51%的区块链早期采用者目前使用它来验证数字身份,这是因为存储的数据来自可信赖的来源,如授权机构。 能够验证个人的身份,背景和工作经验以及与薪酬和索赔相关的实时信息,无疑将释放一些急需的时间,以使人力资源能够专注于业务的更具战略性的目标。 3.    背调 多年来,员工背调的过程发生了很大变化,很快就会再次发生变化。由于人力资源部门可以获得准确且可能无法伪造的候选人就业记录,因此参考流程将变得更加透明并解决欺诈性凭证,从而增加您雇用更适合业务的人才的机会。 “一旦有人完成了学位,他们就会把他们的证书放在区块链中,而且永远不需要再次验证,” Jacky Carter,集团数字业务总监 4.    智能合约 据报道,45%的区块链早期采用者已在其组织内实施智能合约。 雇主与其员工之间的智能合同将使工人能够自动获得工资,这要归功于一个代码,该代码将确定一旦进入并产生某些条件,资金会发生什么。工资分配可以立即发生,没有延误或欺诈的风险。 智能合约也支持“ gig经济”的兴起,因为如果他们是组织供应链的一部分,那么工人将受益于这样的合同系统和付款。 无需将工作人员上传到工资单系统,能够预先概述条款并具有打开和关闭合同的能力,对于习惯遵守正常程序的雇主及其人力资源团队来说将非常有吸引力。 5.    员工生命周期 区块链技术的实施会破坏整个员工的生命周期,因为目前招聘和招聘新员工的程序可能很长。从进行面试,检查资格,验证工作背景和收集参考资料或申请必要的安全检查 - 这都需要时间。 该过程在整个就业期间继续(例如,如果角色改变,获得进一步的资格或在移交期间分配不同的管理),直到最终雇员离开公司。 它仍然没有结束! 然后,您可能会被要求将这些数据转发给潜在的新雇主,以便对该人进行检查,并且整个流程再次更新。 由于区块链已经包含了所有这些经过验证的信息,因此可以大大减少在此过程中花费的时间和精力,从而简化整个人力资源体验。 6.    安全'交易' 区块链设置中的“交易”可以是从个人信息,工作历史,记录到财务细节和加密货币的交换。 网络安全的能力正在改变这些交易的未来,因为区块链上存储的信息是通过加密来保护的,这使得篡改非常困难。 知道区块链是安全交易的推动者应该让雇主和员工放心。风险越小意味着人力资源部门要求更少的安全声明或数据泄露事件。 7.    出勤 对于ID2020,区块链技术用于存储生物识别数据,例如指纹或虹膜扫描,用于合法ID和记录保存。  组织可以使用这种存储唯一员工数据的技术来跟踪工资和索赔目的的出勤率和费用。 人力资源可以查看实时数据,并且没有争议记录是准确的,加强了支付授权中的信任要素并查看所做的索赔。这将减少人力资源部门和薪资部门之间造成的错误和挫败感。 8.    合规与审计 49%的公司已经在实施区块链,将该技术用于合规和审计目的,很容易理解为什么。 由于区块链中存储的数据已经准确并经过验证,因此对合规性的审计检查很容易进行,并且对于那些授权的人员来说很容易看到。 看起来区块链技术将成为人力资源的一个受欢迎的补充,可能会腾出时间和资源,专注于核心业务目标和目标,同时加强人力资源作为战略合作伙伴的作用。 我们仍在密切关注人力资源中的区块链将如何发展,以及它将如何改善业务运营方式 - 不用担心,我们一定会让您及时更新! 那么您是否在一个已实施区块链技术的组织内工作?我们很想知道您的经历! 简而言之,这里有8种区块链会影响人力资源: 招聘 验证 背调 智能合约 员工生命周期 安全交易 考勤 合规与审计 来自Norberts Erts的Guest Post,人力资源软件公司CakeHR的联合创始人 ,简化了全球客户的出勤和绩效管理。 以上供参考!由AI翻译 原版如下: While blockchain is widely associated with Bitcoin and other cryptocurrencies, blockchain technology is set to revolutionize how the HR and recruitment functions operate within business. Blockchain, the decentralized distributed database, is being trialled and implemented by numerous companies across multiple industries on a global scale.  No longer confined to cryptocurrency, blockchain’s capabilities can be extended to sectors such as logistics, fashion, healthcare and even humanitarian causes like we can see with the ID2020 digital identity initiative which aims to provide a global identity solution for refugees. At present, we see companies such as Hays and NRG are in the initial stages of jumping on the blockchain bandwagon and it won’t be long until the HR and recruitment processes are likely to become more streamlined with this tech. “Blockchain’s implications for the finance industry are well-known, but the potential to use the technology in the world of work is huge and it will soon transform HR and recruitment,” says Grant Torrens, Business Director of Hays in Singapore So how will blockchain impact the HR function? 1.    Recruitment Recruitment takes up a lot of time and resources within the HR department, so much so that organizations turn to third party agencies or recruiters to claim back the time.  But as those methods usually come with a hefty fee, it can be quite counterproductive. As most of the candidate information usually sourced during the recruitment phase can already be viewed on the blockchain, there’s a huge amount of the process already streamlined.  Resumes will be a thing of the past and looking at grades, certificates, work history and experience will be easily verified and visible to people with direct involvement. “There are problems with our recruitment of different types of workers. These include prejudice and bias, lack of visibility of available workers, low levels of trust in centralised social networks, spam and high fees to intermediaries. We now have the opportunity to build the next generation work platforms enabled by technology such as artificial intelligence, mobile and blockchain, the underlying technology behind Bitcoin.” Andrew Spence, HR Transformation Director at Glass Bead Consulting With blockchain creating the option to eliminate many of the third party and back office elements of recruitment, blockchain could potentially be responsible for recruiters becoming redundant. 2.    Verification CompTIA uncovered that 51 per cent of early adopters of blockchain currently use it to verify digital identities and this is because the data stored comes from trusted sources such as authorized institutes. Being able to verify individuals’ identities, background and work experience alongside real time information relating to pay and claims will undoubtedly free up some much needed time to allow HR to focus on the more strategic goals of the business. 3.    Referencing The process of employee referencing has changed a lot over the years and it looks likely to change again soon.  As HR will have access to a candidate’s employment record that is accurate and reportedly impossible to falsify, the referencing process will become more transparent and address fraudulent credentials, increasing the chances of you hiring talent better suited to the business. “Once someone has done a degree, they will just put their certificate in blockchain and it never needs to be verified again,” Jacky Carter, Group Digital Engagement Director at 4.    Smart Contracts It’s reported that 45 per cent of early adopters of blockchain are already implementing smart contracts within their organizations. Smart contracts between an employer and its workforce will make it possible for workers to be paid automatically thanks to a code which will determine what happens to the money once it comes in and certain conditions are created.  The distribution of wages can happen instantly with no risk of delays or fraud. Smart contracts also support the rise of the ‘gig economy’ as gig workers would benefit from such a system of contracts and payments being made if they are part of the supply chain of an organization. Not having to upload workers onto the payroll system, being able to outline the terms upfront and having the ability to switch on and off a contract will be quite appealing for employers and their HR teams that are used to adhering to normal procedures. 5.    Employee Life-Cycle The whole employee life-cycle would be disrupted by the implementation of blockchain technology as the current procedure to hire and on-board a new recruit can be lengthy.  From conducting the interviews, checking qualifications, validating work background and gathering references or applying for the necessary security checks – it all takes time. This process continues throughout employment (for example, if the role changes, further qualifications are obtained or different management is assigned during a handover) until eventually the employee exits the company. And it still doesn’t end there! Then you may be requested to forward some of this data to potential new employers for their checks on that individual and alongside this the whole process renews again. As blockchain would already hold all of this validated information, it would significantly reduce the time and energy spent on this process, simplifying the whole HR experience. 6.    Secure ‘Transactions’ ‘Transactions’ in a blockchain setting can be anything from an exchange of personal information, work history, records to financial details and cryptocurrencies. The capabilities of cybersecurity are changing the future of these transactions as the information stored on blockchain are secured through cryptography which makes it extremely difficult to tamper with. Knowing that blockchain is an enabler of secure transactions should put employer and employee minds at ease.  Less risk means less claims of security or data breaches being made for HR to tackle. 7.    Attendance For ID2020, the blockchain technology is used to store biometric data, such as a fingerprint or iris scan, for legal ID and record-keeping.  Organizations could use this technique of storing unique employee data to track attendance and expenses for wages and claim purposes. Human resources would have visibility to the real-time data and there would be no dispute that the records are accurate, strengthening the trust element in payment authorization and looking into claims made.  This would decrease errors and frustration caused between the HR and Payroll departments. 8.    Compliance & Auditing 49 per cent of companies already implementing blockchain, use the technology for compliance and auditing purposes and it’s easy to see why. With the data stored within the blockchain already accurate and validated, audit checks for compliance would be easy to conduct and readily visible to those authorized. It looks like blockchain technology would be a welcome addition to HR that is likely to free up time and resources needed to focus on core business goals and objectives whilst strengthening the role of HR as a strategic partner. We are still closely watching how blockchain in HR will evolve and how it will potentially improve the way business operates – don’t worry, we will be sure to keep you updated! So are you working within an organization that has implemented blockchain technology?  We would love to hear about your experience! Just to recap, here are 8 ways blockchain will impact HR: Recruitment Verification Referencing Smart Contracts Employee Life Cycle Secure Transactions Attendance Compliance and Auditing Guest Post from Norberts Erts, Co-founder of HR software companyCakeHR that streamlines attendance and performance management for customers worldwide.
    智能合约
    2018年07月05日
  • 智能合约
    硬知识:王建硕谈链表,哈希,挖矿等,智能合约,代币(Token)等 - 区块链技术学习笔记 链表,哈希,挖矿等,智能合约,代币(Token) 开篇 很多年没有看到像区块链这样有生命力的事物了。它像一个欣欣向荣的新大陆一样,把技术理想主义者,围观者,投资者,投机者,甚至流氓骗子各色人等聚集在一起。 在此乱象中,我深感于现在区块链,观点太多,事实太少。我作为一个个体去摸这头大象的时候,比较擅长的是以技术的角度切入,看它到底是如何工作,如何发展的,从而把这一只象腿摸清楚。我把自己的学习记录下来。这些记录可能很入门,甚至有错误,但是或许对于同样感兴趣的人有所帮助。 链表 从技术角度看,区块链的底层是精妙设计的链表数据结构①。 什么是链表呢?就是有顺序的一串数据块,一个跟在另一个后面,这个顺序是严格规定的,不能乱。区块链,食物链,供应链,资金链,甚至鄙视链,描述的就是这样有顺序的一串物品②。 我们以比特币为例,来剖析这个链表。 为了构成链表,链表的数据块里面有两个基本的部分:区块头,和数据本身。区块头里面有一个字段指明了上一个区块的id,而所有区块的id既不是顺序的,也不是随机的,而是区块头这80个字节的两次哈希值。 哈希 Hash 这可能是区块链里面最让非理工科出身的学习者费解的概念了。听起来很吓人,实际很简单。哈希就是一个算法,能把任意长度的内容(无论是一个数,还是文章,图像,视频,总之就是任何数字化的信息)转换成一串看似没有规律的固定长度的数字(哈希值),并保证结果唯一,而从这个结果几乎没有办法推算出原始数据。比特币用的是叫做SHA256的哈希算法。 比如:1 的SHA256哈希结果是: 0x6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b 2 的SHA256哈希结果是: 0xd4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35 我们把这个哈希值看成乱码好了,因为唯一的规律就是没有规律。同时,在原始数据中哪怕有一点点改动,产生的哈希就会产生巨大的变化。这个特性常常用来做“数字指纹”。 用日常例子来打个比方。比如按照配方做菜就是个哈希过程:有了配方精确的做菜容易,而从菜品推测出配方难得多。给出两个数算出他们的平方和比较容易,给出一个数求是哪两个数的平方和就难很多。哈希算法就大概这么个意思。 区块头和id 刚才讲到,每个区块的id从它的区块头的80个字节数据两次SHA256哈希得到。区块链的一个精妙的设计就是,它对于的id是有要求的。只有满足特定的规则的id才是合法的。这个规则就是:区块头的哈希值必须小于一个数,直观看到的就是,每个新的区块的长达64个字符的id必须以比如18个零开头④,一个合法的区块id是长成这个样子的:0000000000000000003c19cdbebe2df5c7f82558e2c80a0c7341e25072b732a2 区块头这80个字节里面的6个字段,5个是不能改的,它们是: 1. 版本号         最近一直是0x20000000 ⑥ 2. 上一个块的哈希值    这个是排队时候的队尾,改了就排不到队里了 3. 数据的哈希       这个是区块里的交易数据,也不能改③ 4. 时间          不能改,就是现在的时间。 5. 难度          每个给定的时间全网的难度是一样的④ 只有第六个字段是随便写的,这个数字叫做No nce 6. No nce 网络上任何一台机器只要找到一个合适的数字填到自己的这个区块的No nce位置,使得区块头这6个字段(80个字节)的数据的哈希值的哈希值以18个以上的0开头,谁就找到了那个金子⑦!既然我们无法事先写好一个满足18个0的数字然后反推Nounce,唯一的做法就是从0开始一个一个的尝试,看结果是不是满足要求,不满足就再试下一个,直到找到。 这个过程被戏称为挖矿。其实我觉得这个过程和淘金更像。淘金者做的事情很简单,却很重复,就是对于河里所有沙子,拿起来一个,判断是不是金子。如果不是,扔掉再拿一个。如此重复几百万次,总有一个是金子。而在区块链世界,那64个十六进制的字符串,第一个是0的概率是1/16,第二个也是0的概率再乘以1/16,第18个还是零的概率可想而知。所以大家为了找到这个金子一般的No nce一般要花费十几亿次尝试,虽然每次算哈希的工作并不那么费时间,重复十几亿次还是要耗费巨大的计算机资源和电力资源。 比特币体系的另外一个精妙设计就是它动态的调整难度,以无论有多少台矿机在寻找那个珍贵的正确的No nce,都保证大约每10分钟产生一个块。这也是一个类似经济学的算法。它每2016的块(也就是2周)就计算一下前面2016个块平均每个块花了多少时间,如果低于10分钟就按照低的比例调高难度,如果高于10分钟调低难度。这样矿机无论增减,比特币都可以按照每10分钟找到一个块的金数字并且生成一个合法的块。 找到了那个金子一样的数字以后呢? 谁找到了那个数字,谁都可以向全网广播这个新块了。而真正的财富秘密在于在这个新块的数据区的交易数据里面,第一条交易中,挖矿的人可以凭空的给一个地址(通常是自己的)发放12.5个比特币。这是规则认可的,就好像赌场里荷官可以合法的从桌上拿一部分钱进自己的口袋一样。这12.5个比特币是比特币网络上唯一没有发款人,只有收款人的交易,新的比特币就这样凭空诞生了。这个激励每4年减半,再过两年就只有6.25个了,这样2140年左右两千一百万个比特币就基本上全产生了并且不会增加了。 区块链的网络 刚才描述的是在一台电脑上的样子。实际上,这一串数据是通过P2P网络分布在无数的电脑(节点)上的。任何矿工找到了那个金子数字后就立刻全网络刚播新找到的块。如果所有节点在一个大的聊天室里面倒也简单,但实际上这个广播是跟烽火台一样接力的传递的。每个节点告诉周围的,然后它再告诉周围的。有意或无意的,就会有两个或多个矿工近似同时对于网络的一部分分别宣布发现了新块。这个时候的规则就是,每个节点只会接受最长的链并且丢弃较短的链⑤。经过几个节点后一定有一个胜出,另外一个被抛弃,而添加新块是需要算力的,最终一定是拥有最大算力的一方获胜。这也就是如果没有人掌超过50%的算力就无法控制区块链。 小结 以比特币体系为例,最底层就是一串这样以80个字节的区块头开始,约1M的数据跟着的数据。用哈希这样的算法,一层一层的锁定,形成了固若金汤的链条。再把它分布在成千上万的节点上,再又成千上万的矿机通过挖矿来保持算力高压,让篡改数据需要算力门槛。同时,任何人对于历史数据,哪怕就改了很小的一部分,数据的哈希就变了,区块头就变了,它的两次哈希结果就变了,它后面的块就连不上来了,就会被立刻发现。如此几层嵌套,一个人类到现在为止最为安全和防篡改的公共信息系统诞生了。 下面几篇会记录一下钱包,公钥密钥,智能合约,发放通证(Token),区块链应用,区块链对于组织的影响等等方面继续记录学习过程。感谢阮一峰,华宏伟,王哲,赵君,Tim Chen的指正和帮助。 后注 注①:这个跟其他的各种“本质是”并不矛盾,比如区块链本质是分布式账本也对,这个是在链表结构上面构建的,也有人说本质是加密货币,这也对,因为货币是在分布式账本之上构建的。这些说法之间不是非此即彼的矛盾关系,而是不同层次的应用的问题。 注②:自然界谁吃谁的顺序,生产中的谁供货给谁,再组装后工会给谁的顺序,资金从哪里流到哪里,再流到哪里等等,都是这样的数据结构。 注③: 区块头的第三个字段其实不是数据的直接哈希,而是一个树状结构Merkle根。 注④:刚才所说的18个零是一种近似的说法。严格地说,是算出来的本块的ID必须小于一个叫做叫做目标数的数。这个数越小(就是开始的0越多),就越难。 注⑤:严格的意义说最长的链不是最多区块的链,而是链上的所有块的难度总量最大的链。 注⑥:只给感兴趣的人看:0x20000000 (十进制536870912)是从BIP9开始规定的新的版本号规则,开始用一个位数表示一个独立的功能,以区分未来的软分叉。0x20000000 相当于block的第五个版本。 注⑦:以我写文章的时候最新的一个块为例,它的80位区块头是这样的: 000000205d9a3e3dec3e207c3afa9c0be901eaece34b99973a50330000000000000000008565d5bf3819014d521429f02b8cf9d27e226b80998f61d87cd51846c9ab6f9551eb9c5aa3895517ed52e1d4 非常不方便的地方在于比特币选择了小端存储,就是习惯意义的倒着写数字的方式。按照颜色,如上就是:版本号上一个块的哈希数据哈希时间难度Nounce  。这个80位数字的两次SHA256哈希就是这一个块的id,18个零开头,满足要求:00000000000000000043752089261f2b6699cd988d9f5b1732a5a259b50984cf     第二篇:   智能合约(Smart  Contract)是区块链一个重要的功能。说到智能合约,我们得把视野从比特币转到以太坊,因为完整的支持智能合约是以太坊和比特币的重大差别。 让我们发个币吧 听说区块链上可以发币,想发行一个自己的币 ①?来,直接上代码! 我希望你即使不懂代码,也要放下对未知的恐惧,静下心来一行一行读。毕竟这代码简单到大多数人都能看懂。 contract XMT { mapping (address => uint) public balanceOf; function XMT() public { balanceOf[msg.sender] = 1000; } function transfer(address to, uint value) public { require(balanceOf[msg.sender] >= value); require(balanceOf[to] + value >= balanceOf[to]); balanceOf[msg.sender] -= value; balanceOf[to] += value; } } 惊人之处来了。如上代码不是概念性的伪代码,而是可以运行的真实代码。 首先它定义了一个记录每个账户有多少余额的数组: balanceOf 。     mapping (address => uint) public balanceOf; 看不懂的同学就把它当作有两列的表格,第一列是账号,第二列是余额。用 balanceOf [ 账号 ] 就可以查到这个账号的余额,也可以更改余额。 接下来是两个功能:初始化和转账。 初始化函数XMT( )很简单,就是合约建立的时候,任性的把1000个币全都给创建者。         balanceOf[msg.sender] = 1000; 大家要问,币是怎么产生的?没什么产生过程,想给谁多少就是多少。初始的时候写一个亿也就有了一个亿的币。如此随意的就能产生币,希望会引发大家在夜深人静的时候,对于货币到底是什么这样的深层思考。 我们接着看: 转账代码 transfer( ) 核心是两句:         balanceOf[msg.sender] -= value;         balanceOf[to] += value; 谁发起的转账,就把他(msg.sender)的账户余额减去转账金额(value)那么多,然后把收款人(to)的余额加上那么多②。 别小看这两句话。仔细琢磨一下,这其实就是账户和转账的本质。这简单的两句话是银行体系这么多年花了多少的硬件软件,人力物力才能达到的效果。 大家常常听说谁谁谁又发币了。从技术角度,就是在以太坊上部署了包含这三行代码的一个合约。在以太坊的官方网站上就有一段100多行的标准代码:https://ethereum.org/token。这段代码里面还有其他一些功能,比如可以给这个代币指定名称,符号,还有授权转账,销毁等功能。大家只要拷贝这个代码,指定你的新币的名称(比如 Xiaomao Token),符号(比如:XMT) ⑦,还有初始发行量比如:1,000,000,000),一个新的币就诞生了。整个过程3分钟应该够了。把参数改一下再部署一下代码,第二个新币又诞生了。 这新生的货币,虽然没啥用,但在安全性方面和以太币天生是一样的。这就像家长给孩子发了一些饭票,而这饭票的防伪技术和美元一模一样。看起来相当的大材小用,但如果把发货币成本降到几乎为零,把防伪能力提升到已知的最高水平,随着时间的推移,难说不会产生什么重要的应用。 部署代码 代码看懂了,下一步呢?怎么运行这代码?这代码到底在哪里运行呢?接着我们看部署过程。 部署代码,你需要在以太坊的客户端里,把这段代码粘贴进去,并且按“部署”按钮。客户端就会把这种人可以读懂的代码③编译成字节码,然后生成一笔从你的地址,发给一个空地址(0x0)的交易,并把字节码存在一个给定的字段里面(叫input),签名后发到整个网络上。接下来的操作和普通交易完全一样。矿工收到了以后立刻开始打包,算nonce,找到了以后再发送给全网络。这个可以被执行的代码,就永久的以只可读取不可更改的方式,存在了区块链上。 智能合约建立后会返回一个地址。每个币都唯一的对应于一个智能合约,也就是对应于一个地址。比如著名的EOS币,就是地址为 0x86fa049857e0209aa7d9e616f7eb3b3b78ecfdb0 的智能合约发行的。你可以把这个地址想象成以太坊世界里的门牌号。币是以这个唯一的门牌号来区分的,而不是那三位的名字。 调用合约 现在,合约的代码安全的存在区块链上了。那么接下来这些代码什么时候执行呢? 一个智能合约里面有多个函数。调用智能合约里的一个函数,和发起一笔普通转账交易一样。很多的客户端已经内置进去了。你提供合约的地址,提供调用的函数,以及传入参数,然后发送消息就开始执行了⑤。你可以把它理解为从门牌号的屋子里面拿东西或者放东西进到给定的屋子。 消息发出以后,所有的矿工都执行这段代码,并且试图把结果打包到自己的数据块中,胜出的矿工获得挖矿的收益。所有的节点收到这个新的区块,也用自己的虚拟机执行一遍代码,确认结果和收到的块内结果无异之后才当作合法区块接受。 区块链就是通过这种超额的浪费,看似无意义的算nonce,看似无意义的反反复复,没完没了的执行同一段代码,来保证了一个安全的系统。这事儿就跟早上叠被子晚上还得展开一样,看似不产生价值,实则是房(shu)间(ju)整(an)洁(quan)不可或缺的一环。 花费 Gas 既然代码要被所有节点反复执行,那么问题就来了:要是谁写了巨长无比的代码,或者谁写了有问题的代码,死循环不结束了怎么办?以太坊的解决方法就是引入gas,每执行一个操作都是收费的。怎么收费呢? 首先每个交易的代码执行量越大,需要的gas就越多。字节码每一个操作都有固定的gas花销。以发币代码为例,如下是以太坊给我发的账单。总共执行了320步字节码的操作。有的操作很便宜,比如压栈(PUSH1),只要3个单位的gas,有的就很贵,比如在区块链上存数据(SSTORE)就一下子花了20,000个单位,而读取数据(SLOAD) 中等, 200个单位。如下加在一起就是1,300,213个单位的gas。只要执行这段代码,就是要这么多gas,好像汽车修理店工时的概念。   提交的时候每个人都可以出价,声明自己愿意为每个单位gas付多少钱(price)。这个有点像修理店的每工时的价钱。比如你可以出8 gwei/gas,或20 gwei/gas ⑥。矿工们大多数都是按照这个价钱排序优先打包出钱多的。出钱少就慢,甚至没人理。 矿工的费用 =  gas单位数 * 单位价格。 如下图所示交易,1,300,213 gas * 2 gwei/gas = 2,600,426 gwei,或0.002600426 以太币,折合1.832美元。最终把这笔交易打包进区块链的矿工获得这部分费用。 除了价格以外,还需要指定一个gas limit,就是你为了这段代码最多愿意付多少单位的gas。这就是为了预防代码出现问题,无限循环下去,直到把你的账户里的钱耗尽为止。如上图,gas limit设为1,300,213个,这段代码实际上也只用了1,300,213个单位的gas,还好,正好没有超过限制。否则超过了程序执行会嘎然而止,已经花的gas不退。 智能合约的价值 智能合约第一次认可了代码的自主权。代码可以拥财产,可以和人一样平等的在区块链上交易。一个合约的代码一旦发布,谁都改不了了,连上帝都无能为力。这就是信任的来源。大家可以像坚信自然定律一样坚信这个合约如代码所写的执行。你不需要相信任何人,只需要认真的读智能合约的代码,就可以确定性的知道这个合约将如何执行。 如上从技术层面简单的介绍了一下智能合约的过程。但智能合约和区块链真正的价值不在技术,而是它们对于价值传递以及信任建立的贡献。 我们看到的人类发展总是多条线并进,一条是生产效率,蒸汽机,电力,计算机,互联网,人工智能等都在这条线上;区块链是生产关系的进步这条线上的,这条线上曾经有过货币,现代公司制度,股票,现在有了区块链。 晚一些我再聊一下它对信任的贡献,还有可能对于社会的改变。 后注 ① 很多专业人士希望把token翻译成通证,而不是代币。“通证”更加符合单词原意,符合事物本质,也希望避免被当作货币监管。这像极了“网志”和“博客”两个译名之争。结果博客被接受,更加准确,拗口,后来出现的网志不再有人提起。这个结果或许可以预测通证这个翻译的结果。 ②Transfer函数前面的两句require,第一个是要求你的余额必须大于转账金额,第二个是要求转账金额不要过大以至于大于256位整数能容纳的数字。msg.sender 是内置的,可以获取消息的发送人的地址。 ③可以搜索Remix,或MyEtherWallet。Solidity的语法和JavaScript很像,专门用于以太坊上编写智能合约。 ④这里解释一下技术细节。建立合约的时候,用户发起一笔发款人为自己,收款人为空地址 0x0 的交易,并把字节码放到交易里面叫做输入(Input)的字段里面。矿工就会生成一个新的合约地址并把代码存在这个地址里。 ⑤技术实现,其实是在交易数据的Input字段加上了一个编码后的数字。比如这串数字:a9059cbb00000000000000000000000007fdf7518745170e3d9de26874578b6c0a72b9dc0000000000000000000000000000000000000000000000000000000000000010 颜色是我为了区分加的,前四字节a9059cbb是函数名 ,"transfer(address,uint256)"这个字符串的SHA3-256哈希结果a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b的前4位,用来指定是哪一个函数,根据函数定义,就知道后32位是第一个参数:地址 ,也就是0x07fdf7518745170e3d9de26874578b6c0a72b9dc。接下来32个字节是 金额 ,相当于十进制16。大家看得出,现在的区块链从抽象水平上基本上还停留在计算机的DOS和汇编语言的时代。 ⑥ 1 gwei 就是 1,000,000,000 个wei。这个g就跟内存单位多少GB的G是一个概念,就是10亿的意思。10的18次方个wei就等于一个以太币。所以1 gwei看起来很大,其实也就是10的9次方分之1个以太币而已。一个以太币在我写这篇文章的时候是764美元,你大概有概念了是多少钱了吧。 ⑦ 发币时候指定的名称,符号,仅仅就是一个字付串,是可以重复的。你可以发一个币叫USD,RMB,或任何你能想象的名字。Token是以发行这个Token的智能合约的地址唯一指定的,和名字无关。
    智能合约
    2018年03月16日